aboutsummaryrefslogtreecommitdiffstats
path: root/overcloud.j2.yaml
diff options
context:
space:
mode:
authorSteven Hardy <shardy@redhat.com>2016-12-01 10:00:57 +0000
committerSteven Hardy <shardy@redhat.com>2016-12-01 13:40:50 +0000
commitdbece39f549395c85701566edbff9fc19977665d (patch)
treeeb5f368aa417e4c16fb4a071ae2c8e8428b679f2 /overcloud.j2.yaml
parentea3ace78398015578de77be5a782dfa6176decb7 (diff)
Initial support for composable upgrades with Heat+Ansible
This shows how we could wire in the upgrade steps using Ansible as was previously proposed e.g in https://review.openstack.org/#/c/321416/ but it's more closely integrated with the new composable services architecture. It's also very similar to the approach taken by SpinalStack where ansible snippets per-service were combined then run in a series of steps using Ansible tags. This patch just enables upgrade of keystone - we'll add support for other patches in subsequent patches. Partially-Implements: blueprint overcloud-upgrades-per-service Change-Id: I39f5426cb9da0b40bec4a7a3a4a353f69319bdf9
Diffstat (limited to 'overcloud.j2.yaml')
-rw-r--r--overcloud.j2.yaml21
1 files changed, 21 insertions, 0 deletions
diff --git a/overcloud.j2.yaml b/overcloud.j2.yaml
index ba1c6b36..e2c05eef 100644
--- a/overcloud.j2.yaml
+++ b/overcloud.j2.yaml
@@ -604,6 +604,21 @@ resources:
{{role.name}}: {get_attr: [{{role.name}}ServiceChain, role_data]}
{% endfor %}
+ # Upgrade steps for all roles
+ AllNodesUpgradeSteps:
+ type: OS::TripleO::UpgradeSteps
+ depends_on: AllNodesDeploySteps
+ properties:
+ servers:
+{% for role in roles %}
+ {{role.name}}: {get_attr: [{{role.name}}, attributes, nova_server_resource]}
+{% endfor %}
+ role_data:
+{% for role in roles %}
+ {{role.name}}: {get_attr: [{{role.name}}ServiceChain, role_data]}
+{% endfor %}
+
+
outputs:
ManagedEndpoints:
description: Asserts that the keystone endpoints have been provisioned.
@@ -636,3 +651,9 @@ outputs:
{% for role in roles %}
{{role.name}}: {get_attr: [{{role.name}}ServiceChain, role_data, service_names]}
{% endfor %}
+ RoleData:
+ description: The configuration data associated with each role
+ value:
+{% for role in roles %}
+ {{role.name}}: {get_attr: [{{role.name}}ServiceChain, role_data]}
+{% endfor %}