Merge "Set auth flag so ceilometer auth is enabled"
[apex-tripleo-heat-templates.git] / puppet / services / pacemaker.yaml
index c47229f..28fcbd6 100644 (file)
@@ -88,6 +88,16 @@ parameters:
         (?<host>[^ ]*)
         (?<message>.*)$/
 
+  EnableLoadBalancer:
+    default: true
+    description: Whether to deploy a LoadBalancer on the Controller
+    type: boolean
+
+  PacemakerResources:
+    type: comma_delimited_list
+    description: List of resources managed by pacemaker
+    default: ['rabbitmq', 'galera']
+
 outputs:
   role_data:
     description: Role data for the Pacemaker role.
@@ -127,3 +137,25 @@ outputs:
         tripleo::profile::base::pacemaker::remote_authkey: {get_param: PacemakerRemoteAuthkey}
       step_config: |
         include ::tripleo::profile::base::pacemaker
+      upgrade_tasks:
+        - name: Check pacemaker cluster running before upgrade
+          tags: step0,validation
+          pacemaker_cluster: state=online check_and_fail=true
+        - name: Stop pacemaker cluster
+          tags: step2
+          pacemaker_cluster: state=offline
+        - name: Start pacemaker cluster
+          tags: step4
+          pacemaker_cluster: state=online
+        - name: Check pacemaker resource
+          tags: step4
+          pacemaker_is_active:
+            resource: "{{ item }}"
+            max_wait: 500
+          with_items: {get_param: PacemakerResources}
+        - name: Check pacemaker haproxy resource
+          tags: step4
+          pacemaker_is_active:
+            resource: haproxy
+            max_wait: 500
+          when: {get_param: EnableLoadBalancer}