summaryrefslogtreecommitdiffstats
path: root/roles/openshift_resource/tasks/main.yml
diff options
context:
space:
mode:
Diffstat (limited to 'roles/openshift_resource/tasks/main.yml')
-rw-r--r--roles/openshift_resource/tasks/main.yml23
1 files changed, 16 insertions, 7 deletions
diff --git a/roles/openshift_resource/tasks/main.yml b/roles/openshift_resource/tasks/main.yml
index af071f9..8606aa3 100644
--- a/roles/openshift_resource/tasks/main.yml
+++ b/roles/openshift_resource/tasks/main.yml
@@ -5,18 +5,27 @@
changed_when: false
register: results
- - name: Parse JSON templates
+ - name: "Parse JSON templates {{ template }}"
set_fact: tmpl="{{ results.stdout | from_json }}"
when: template.find(".json") != -1
- - name: Parse YaML templates
+ - name: "Parse YaML templates {{ template }}"
set_fact: tmpl="{{ results.stdout | from_yaml }}"
when: template.find(".json") == -1
- - include_tasks: template.yml
- when: (tmpl.kind == "Template") and (tmpl.parameters is not defined)
-
- - include_tasks: resource.yml
- when: (tmpl.parameters is defined) or (tmpl.kind != "Template")
+ - name: "Populating resources defined in {{ template }} template"
+ include_tasks: template.yml
+ register: results
+ vars:
+ metadata: "{{ tmpl.metadata | default({}) }}"
+ annotations: "{{ metadata.annotations | default({}) }}"
+ strategy: "{{ annotations['kaas/strategy'] | default('auto') }}"
+ when:
+ - tmpl.kind == "Template"
+ - strategy == "auto"
+
+ - name: "Creating template/resources defined in {{ template }}"
+ include_tasks: resource.yml
+ when: results | skipped
run_once: true