install everything!

This commit is contained in:
ipvsean
2020-03-10 15:29:12 -04:00
parent 4d021aa01c
commit 68e1bfb11b
6 changed files with 84 additions and 58 deletions

View File

@@ -1,51 +0,0 @@
---
- name: add tower project
tower_project:
name: "{{item.value.project.name}}"
description: "{{item.value.project.description}}"
organization: "{{item.value.project.organization}}"
scm_type: "{{item.value.project.scm_type}}"
scm_url: "{{item.value.project.scm_url}}"
tower_username: "{{my_tower_username}}"
tower_password: "{{my_tower_password}}"
tower_host: "{{my_tower_host}}"
validate_certs: no
- name: "add job template {{item.value.name}} without survey"
tower_job_template:
name: "{{item.value.name}}"
description: "{{item.value.description}}"
job_type: "{{item.value.job_type}}"
inventory: "{{item.value.inventory}}"
project: "{{item.value.project.name}}"
playbook: "{{item.value.playbook}}"
fact_caching_enabled: "{{item.value.fact_caching_enabled | default('no')}}"
credential: "{{item.value.credential}}"
survey_enabled: "{{item.value.survey_enabled}}"
tower_username: "{{my_tower_username}}"
tower_password: "{{my_tower_password}}"
tower_host: "{{my_tower_host}}"
validate_certs: no
when:
- workshop_type in item.value.workshop_type
- not item.value.survey_enabled
- name: "add job template {{item.value.name}} with survey"
tower_job_template:
name: "{{item.value.name}}"
description: "{{item.value.description}}"
job_type: "{{item.value.job_type}}"
inventory: "{{item.value.inventory}}"
project: "{{item.value.project.name}}"
playbook: "{{item.value.playbook}}"
fact_caching_enabled: "{{item.value.fact_caching_enabled | default('no')}}"
credential: "{{item.value.credential}}"
survey_enabled: "{{item.value.survey_enabled}}"
survey_spec: "{{item.value.survey_spec}}"
tower_username: "{{my_tower_username}}"
tower_password: "{{my_tower_password}}"
tower_host: "{{my_tower_host}}"
validate_certs: no
when:
- workshop_type in item.value.workshop_type
- item.value.survey_enabled

View File

@@ -0,0 +1,61 @@
---
- name: block for job template (non-workflow)
block:
- name: add tower project
tower_project:
name: "{{item.value.project.name}}"
description: "{{item.value.project.description}}"
organization: "{{item.value.project.organization}}"
scm_type: "{{item.value.project.scm_type}}"
scm_url: "{{item.value.project.scm_url}}"
tower_username: "{{my_tower_username}}"
tower_password: "{{my_tower_password}}"
tower_host: "{{my_tower_host}}"
validate_certs: no
- name: "add job template {{item.value.name}} without survey"
tower_job_template:
name: "{{item.value.name}}"
description: "{{item.value.description}}"
job_type: "{{item.value.job_type}}"
inventory: "{{item.value.inventory}}"
project: "{{item.value.project.name}}"
playbook: "{{item.value.playbook}}"
fact_caching_enabled: "{{item.value.fact_caching_enabled | default('no')}}"
credential: "{{item.value.credential}}"
survey_enabled: "{{item.value.survey_enabled}}"
tower_username: "{{my_tower_username}}"
tower_password: "{{my_tower_password}}"
tower_host: "{{my_tower_host}}"
validate_certs: no
when:
- workshop_type in item.value.workshop_type
- not item.value.survey_enabled
- name: "add job template {{item.value.name}} with survey"
tower_job_template:
name: "{{item.value.name}}"
description: "{{item.value.description}}"
job_type: "{{item.value.job_type}}"
inventory: "{{item.value.inventory}}"
project: "{{item.value.project.name}}"
playbook: "{{item.value.playbook}}"
fact_caching_enabled: "{{item.value.fact_caching_enabled | default('no')}}"
credential: "{{item.value.credential}}"
survey_enabled: "{{item.value.survey_enabled}}"
survey_spec: "{{item.value.survey_spec}}"
tower_username: "{{my_tower_username}}"
tower_password: "{{my_tower_password}}"
tower_host: "{{my_tower_host}}"
validate_certs: no
when:
- workshop_type in item.value.workshop_type
- item.value.survey_enabled
when:
- item.value.workflow is not defined or not item.value.workflow
- name: install workflow inside loop (workflow)
include_tasks: workflow_loop.yml
when:
- item.value.workflow is defined
- item.value.workflow

View File

@@ -4,18 +4,18 @@
msg: "install {{demo}} on {{my_tower_host}}"
- name: install all job templates
include: add_job_template.yml
include_tasks: job_template_loop.yml
loop: "{{dict(hostvars[inventory_hostname]|dictsort|rejectattr('0', 'match', 'ansible_')|selectattr('1.name', 'defined'))|dict2items}}"
when: demo == "all"
- name: install single job template
include: single_job_template.yml
include_tasks: job_template.yml
when:
- demo != "all"
- hostvars[inventory_hostname][demo].workflow is undefined or not hostvars[inventory_hostname][demo].workflow
- hostvars[inventory_hostname][demo].workflow is not defined or not hostvars[inventory_hostname][demo].workflow
- name: install single workflow
include: workflow.yml
include_tasks: workflow.yml
when:
- demo != "all"
- hostvars[inventory_hostname][demo].workflow is defined

View File

@@ -1,11 +1,12 @@
---
#these tasks will install a workflow
- name: install all job templates in relation to workflow
include: add_job_template.yml
- name: "install all job templates in relation to workflow {{hostvars[inventory_hostname][demo].name}}"
include_tasks: add_job_template.yml
loop: "{{hostvars[inventory_hostname][demo].job_templates|dict2items}}"
- tower_workflow_template:
- name: "install workflow template {{hostvars[inventory_hostname][demo].name}}"
tower_workflow_template:
name: "{{hostvars[inventory_hostname][demo].name}}"
description: "{{hostvars[inventory_hostname][demo].description}}"
organization: "{{hostvars[inventory_hostname][demo].organization}}"

View File

@@ -0,0 +1,15 @@
---
- name: "INSIDE LOOP - install all job templates in relation to workflow {{item.value.name}}"
include_tasks: job_template_loop.yml
loop: "{{item.value.job_templates|dict2items}}"
- name: "INSIDE LOOP - install workflow template {{item.value.name}}"
tower_workflow_template:
name: "{{item.value.name}}"
description: "{{item.value.description}}"
organization: "{{item.value.organization}}"
schema: "{{item.value.schema}}"
tower_username: "{{my_tower_username}}"
tower_password: "{{my_tower_password}}"
tower_host: "{{my_tower_host}}"
validate_certs: no