diff options
Diffstat (limited to 'roles/openshift_resource/tasks')
-rw-r--r-- | roles/openshift_resource/tasks/template.yml | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/roles/openshift_resource/tasks/template.yml b/roles/openshift_resource/tasks/template.yml index 188599f..3469464 100644 --- a/roles/openshift_resource/tasks/template.yml +++ b/roles/openshift_resource/tasks/template.yml @@ -21,10 +21,13 @@ with_sequence: start=0 count="{{resources | default([]) | length}}" when: ((recreate|default(false)) or (results | changed)) and (results.results[item|int].rc == 0) - - name: "{{ template }}: Populate resources to {{project}}" - shell: "oc process -n {{project}} -f '{{ template_path }}/{{template}}' {{ template_args | default('') }} | oc create -n {{project}} -f - {{ create_args | default('') }}" +# Replace often complains on various immutable variables it can't change. We ignore. + - name: "{{ template }}: Populate resources to {{project}} ({{ replace | ternary('replace', 'create') }})" + shell: "oc process -n {{project}} -f '{{ template_path }}/{{template}}' {{ template_args | default('') }} | oc {{ replace | ternary('replace', 'create') }} -n {{project}} -f - {{ create_args | default('') }}" + register: status + failed_when: (status.rc != 0) and not (replace | default(false)) when: - - (recreate|default(false)) or (results | changed) + - (recreate | default(false)) or (replace | default(false)) or (results | changed) - resources | length > 0 run_once: true |