aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteven Hardy <shardy@redhat.com>2017-07-20 17:11:44 +0100
committerEmilien Macchi <emilien@redhat.com>2017-08-12 10:40:41 +0000
commit46279be9cb77ec9cf6e53e77c239a51efda06d80 (patch)
tree5a75ac2af40efda236f330cfd7f1e2c1d78f22b6
parent38db8e7d49e1ed10ed98ee37bc43f449bac3b524 (diff)
Add RoleConfig output
This exposes the deploy workflow for all roles from deploy-steps via overcloud.j2.yaml - which means we can write it via the new openstack overcloud config download command and/or run the workflow outside of heat via mistral With https://review.openstack.org/#/c/485732/ applied to tripleoclient it becomes possible to do: openstack overcloud config download --config-dir tmpconfig cd tmpconfig/tripleo-EvEZk0-config ansible-playbook -b -i /usr/bin/tripleo-ansible-inventory deploy_steps_playbook.yaml This runs the deploy steps, exactly the same as normally run via heat via ansible-playbook for all overcloud nodes (--limit can be used to restrict to specific nodes/roles). Change-Id: I96ec09bc788836584c4b39dcce5bf9b80e914c71
-rw-r--r--common/deploy-steps.j218
-rw-r--r--overcloud.j2.yaml3
2 files changed, 21 insertions, 0 deletions
diff --git a/common/deploy-steps.j2 b/common/deploy-steps.j2
index bd8d9bc0..9cf4ead0 100644
--- a/common/deploy-steps.j2
+++ b/common/deploy-steps.j2
@@ -302,3 +302,21 @@ resources:
{% endfor %}
+
+outputs:
+ RoleConfig:
+ description: Mapping of config data for all roles
+ value:
+ deploy_steps_tasks: {get_file: deploy-steps-tasks.yaml}
+ deploy_steps_playbook: |
+ - hosts: overcloud
+ tasks:
+{%- for role in roles %}
+ - include: {{role.name}}/host_prep_tasks.yaml
+ when: role_name == '{{role.name}}'
+{%- endfor %}
+ - include: deploy_steps_tasks.yaml
+ with_sequence: count={{deploy_steps_max-1}}
+ loop_control:
+ loop_var: step
+
diff --git a/overcloud.j2.yaml b/overcloud.j2.yaml
index 7241a974..a7a4fe25 100644
--- a/overcloud.j2.yaml
+++ b/overcloud.j2.yaml
@@ -929,6 +929,9 @@ outputs:
- {get_attr: [{{role.name}}ServiceChainRoleData, value]}
- {get_attr: [{{role.name}}MergedConfigSettings, value]}
{% endfor %}
+ RoleConfig:
+ description: The configuration workflows associated with each role
+ value: {get_attr: [AllNodesDeploySteps, RoleConfig]}
RoleNetIpMap:
description: Mapping of each network to a list of IPs for each role
value: