Run upgrade steps before post-deploy config
authorSteven Hardy <shardy@redhat.com>
Fri, 2 Dec 2016 13:58:24 +0000 (13:58 +0000)
committerSteven Hardy <shardy@redhat.com>
Mon, 19 Dec 2016 11:04:47 +0000 (11:04 +0000)
For some upgrade scenarios, e.g all-in-one deployments, it may
be possible to run the upgrade steps, then apply puppet in one
stack update, so reverse the order here.  For normal deployments
the upgrade steps are mapped to OS::Heat::None so this will have
no effect.

Partially-Implements: blueprint overcloud-upgrades-per-service
Change-Id: I3c78751349a6ac2bc5dff82f67bffe13750ac21c

environments/major-upgrade-all-in-one.yaml [new file with mode: 0644]
overcloud.j2.yaml

diff --git a/environments/major-upgrade-all-in-one.yaml b/environments/major-upgrade-all-in-one.yaml
new file mode 100644 (file)
index 0000000..69d72ed
--- /dev/null
@@ -0,0 +1,8 @@
+# We run the upgrade steps without disabling the OS::TripleO::PostDeploySteps
+# this means you can do a major upgrade in one pass, which may be useful
+# e.g for all-in-one deployments where we can upgrade the compute services
+# at the same time as the controlplane
+# Note that it will be necessary to pass a mapping of OS::Heat::None again for
+# any subsequent updates, or the upgrade steps will run again.
+resource_registry:
+  OS::TripleO::UpgradeSteps: ../puppet/major_upgrade_steps.yaml
index 39a092b..c40b099 100644 (file)
@@ -587,9 +587,9 @@ resources:
       servers: {get_attr: [{{role.name}}, attributes, nova_server_resource]}
 {% endfor %}
 
-  # Post deployment steps for all roles
-  AllNodesDeploySteps:
-    type: OS::TripleO::PostDeploySteps
+  # Upgrade steps for all roles
+  AllNodesUpgradeSteps:
+    type: OS::TripleO::UpgradeSteps
     depends_on:
 {% for role in roles %}
       - {{role.name}}AllNodesDeployment
@@ -604,10 +604,10 @@ resources:
         {{role.name}}: {get_attr: [{{role.name}}ServiceChain, role_data]}
 {% endfor %}
 
-  # Upgrade steps for all roles
-  AllNodesUpgradeSteps:
-    type: OS::TripleO::UpgradeSteps
-    depends_on: AllNodesDeploySteps
+  # Post deployment steps for all roles
+  AllNodesDeploySteps:
+    type: OS::TripleO::PostDeploySteps
+    depends_on: AllNodesUpgradeSteps
     properties:
       servers:
 {% for role in roles %}
@@ -618,7 +618,6 @@ resources:
         {{role.name}}: {get_attr: [{{role.name}}ServiceChain, role_data]}
 {% endfor %}
 
-
 outputs:
   ManagedEndpoints:
     description: Asserts that the keystone endpoints have been provisioned.