Merge "Rework gnocchi-upgrade to run in a separate upgrade step"
[apex-tripleo-heat-templates.git] / extraconfig / tasks / major_upgrade_pacemaker.yaml
index 7244f94..e13aada 100644 (file)
@@ -22,6 +22,11 @@ parameters:
     type: boolean
     default: false
     description: If enabled, Ceph upgrade will be forced even though cluster or PGs status is not clean
+  KeepSaharaServicesOnUpgrade:
+    type: boolean
+    default: true
+    description: Whether to keep Sahara services when upgrading controller nodes from mitaka to newton
+
 
 resources:
   # TODO(jistr): for Mitaka->Newton upgrades and further we can use
@@ -46,7 +51,7 @@ resources:
   CephMonUpgradeDeployment:
     type: OS::Heat::SoftwareDeploymentGroup
     properties:
-      servers: {get_param: servers, Controller}
+      servers: {get_param: [servers, Controller]}
       config: {get_resource: CephMonUpgradeConfig}
       input_values: {get_param: input_values}
     update_policy:
@@ -83,7 +88,7 @@ resources:
     type: OS::Heat::SoftwareDeploymentGroup
     depends_on: CephMonUpgradeDeployment
     properties:
-      servers:  {get_param: servers, Controller}
+      servers:  {get_param: [servers, Controller]}
       config: {get_resource: ControllerPacemakerUpgradeConfig_Step1}
       input_values: {get_param: input_values}
 
@@ -97,7 +102,7 @@ resources:
   BlockStorageUpgradeDeployment:
     type: OS::Heat::SoftwareDeploymentGroup
     properties:
-      servers:  {get_param: servers, BlockStorage}
+      servers:  {get_param: [servers, BlockStorage]}
       config: {get_resource: BlockStorageUpgradeConfig}
       input_values: {get_param: input_values}
 
@@ -116,7 +121,69 @@ resources:
     type: OS::Heat::SoftwareDeploymentGroup
     depends_on: BlockStorageUpgradeDeployment
     properties:
-      servers:  {get_param: servers, Controller}
+      servers:  {get_param: [servers, Controller]}
       config: {get_resource: ControllerPacemakerUpgradeConfig_Step2}
       input_values: {get_param: input_values}
 
+  ControllerPacemakerUpgradeConfig_Step3:
+    type: OS::Heat::SoftwareConfig
+    properties:
+      group: script
+      config:
+        list_join:
+        - ''
+        - - get_file: pacemaker_common_functions.sh
+          - get_file: major_upgrade_pacemaker_migrations.sh
+          - get_file: major_upgrade_controller_pacemaker_3.sh
+
+  ControllerPacemakerUpgradeDeployment_Step3:
+    type: OS::Heat::SoftwareDeploymentGroup
+    depends_on: ControllerPacemakerUpgradeDeployment_Step2
+    properties:
+      servers:  {get_param: [servers, Controller]}
+      config: {get_resource: ControllerPacemakerUpgradeConfig_Step3}
+      input_values: {get_param: input_values}
+
+  ControllerPacemakerUpgradeConfig_Step4:
+    type: OS::Heat::SoftwareConfig
+    properties:
+      group: script
+      config:
+        list_join:
+        - ''
+        - - get_file: pacemaker_common_functions.sh
+          - get_file: major_upgrade_pacemaker_migrations.sh
+          - get_file: major_upgrade_controller_pacemaker_4.sh
+
+  ControllerPacemakerUpgradeDeployment_Step4:
+    type: OS::Heat::SoftwareDeploymentGroup
+    depends_on: ControllerPacemakerUpgradeDeployment_Step3
+    properties:
+      servers:  {get_param: [servers, Controller]}
+      config: {get_resource: ControllerPacemakerUpgradeConfig_Step4}
+      input_values: {get_param: input_values}
+
+  ControllerPacemakerUpgradeConfig_Step5:
+    type: OS::Heat::SoftwareConfig
+    properties:
+      group: script
+      config:
+        list_join:
+        - ''
+        - - str_replace:
+              template: |
+                #!/bin/bash
+                keep_sahara_services_on_upgrade='KEEP_SAHARA_SERVICES_ON_UPGRADE'
+              params:
+                KEEP_SAHARA_SERVICES_ON_UPGRADE: {get_param: KeepSaharaServicesOnUpgrade}
+          - get_file: pacemaker_common_functions.sh
+          - get_file: major_upgrade_pacemaker_migrations.sh
+          - get_file: major_upgrade_controller_pacemaker_5.sh
+
+  ControllerPacemakerUpgradeDeployment_Step5:
+    type: OS::Heat::SoftwareDeploymentGroup
+    depends_on: ControllerPacemakerUpgradeDeployment_Step4
+    properties:
+      servers:  {get_param: [servers, Controller]}
+      config: {get_resource: ControllerPacemakerUpgradeConfig_Step5}
+      input_values: {get_param: input_values}