diff options
Diffstat (limited to 'roles/openshift_resource/tasks')
-rw-r--r-- | roles/openshift_resource/tasks/main.yml | 4 | ||||
-rw-r--r-- | roles/openshift_resource/tasks/resource.yml | 8 |
2 files changed, 7 insertions, 5 deletions
diff --git a/roles/openshift_resource/tasks/main.yml b/roles/openshift_resource/tasks/main.yml index d44d2e0..af071f9 100644 --- a/roles/openshift_resource/tasks/main.yml +++ b/roles/openshift_resource/tasks/main.yml @@ -14,9 +14,9 @@ when: template.find(".json") == -1 - include_tasks: template.yml - when: tmpl.kind == "Template" + when: (tmpl.kind == "Template") and (tmpl.parameters is not defined) - include_tasks: resource.yml - when: tmpl.kind != "Template" + when: (tmpl.parameters is defined) or (tmpl.kind != "Template") run_once: true diff --git a/roles/openshift_resource/tasks/resource.yml b/roles/openshift_resource/tasks/resource.yml index 326abbb..769a89c 100644 --- a/roles/openshift_resource/tasks/resource.yml +++ b/roles/openshift_resource/tasks/resource.yml @@ -5,16 +5,18 @@ - name: Lookup the specified resource command: "oc get -n {{project}} {{rkind}}/{{rname}}" - register: result + register: find_result + changed_when: false failed_when: false - changed_when: (result | failed) - name: Detroy existing resources command: "oc delete -n {{project}} {{rkind}}/{{rname}}" + register: rm_result failed_when: false + changed_when: (rm_result | succeeded) when: (recreate|default(false)) - name: Create resources defined in template command: "oc create -n {{project}} -f '{{ template_path }}/{{ template }}' {{ create_args | default('') }}" - when: (recreate|default(false)) or (result | changed) + when: (recreate|default(false)) or (find_result.rc != 0) run_once: true |