One time delete pacemaker resources during upgrade to containers
authorMarius Cornea <mcornea@redhat.com>
Thu, 7 Sep 2017 13:38:54 +0000 (15:38 +0200)
committerMarius Cornea <mcornea@redhat.com>
Fri, 15 Sep 2017 14:25:16 +0000 (14:25 +0000)
This change allows running the major upgrade composable docker
steps multiple times by not trying to delete the pacemaker resources
if they're not reported as started or in master state.

Closes-bug: 1716031
Depends-On: I8da03f5c4a6d442617b81be5793a9724cc8842bf
Change-Id: Ifcf9de8c82550a90a9fb118052d43fdbcdc6ca7e
(cherry picked from commit 64d7be1e3d4552e06cbc53f788572e530cc5c3bb)

docker/services/pacemaker/database/mysql.yaml
docker/services/pacemaker/database/redis.yaml
docker/services/pacemaker/haproxy.yaml
docker/services/pacemaker/rabbitmq.yaml

index 1e1b2ba..4d5a0a1 100644 (file)
@@ -266,6 +266,14 @@ outputs:
         - name: set is_bootstrap_node fact
           tags: common
           set_fact: is_bootstrap_node={{bootstrap_node.stdout|lower == ansible_hostname|lower}}
+        - name: Check cluster resource status
+          tags: step2
+          pacemaker_resource:
+            resource: galera
+            state: master
+            check_mode: true
+          ignore_errors: true
+          register: galera_res
         - name: Disable the galera cluster resource
           tags: step2
           pacemaker_resource:
@@ -275,7 +283,7 @@ outputs:
           register: output
           retries: 5
           until: output.rc == 0
-          when: is_bootstrap_node
+          when: is_bootstrap_node and galera_res|succeeded
         - name: Delete the stopped galera cluster resource.
           tags: step2
           pacemaker_resource:
@@ -285,7 +293,7 @@ outputs:
           register: output
           retries: 5
           until: output.rc == 0
-          when: is_bootstrap_node
+          when: is_bootstrap_node and galera_res|succeeded
         - name: Disable mysql service
           tags: step2
           service: name=mariadb enabled=no
index 4ebeae8..4d26a08 100644 (file)
@@ -222,6 +222,14 @@ outputs:
         - name: set is_bootstrap_node fact
           tags: common
           set_fact: is_bootstrap_node={{bootstrap_node.stdout|lower == ansible_hostname|lower}}
+        - name: Check cluster resource status
+          tags: step2
+          pacemaker_resource:
+            resource: {get_attr: [RedisBase, role_data, service_name]}
+            state: master
+            check_mode: true
+          ignore_errors: true
+          register: redis_res
         - name: Disable the redis cluster resource
           tags: step2
           pacemaker_resource:
@@ -231,7 +239,7 @@ outputs:
           register: output
           retries: 5
           until: output.rc == 0
-          when: is_bootstrap_node
+          when: is_bootstrap_node and redis_res|succeeded
         - name: Delete the stopped redis cluster resource.
           tags: step2
           pacemaker_resource:
@@ -241,7 +249,7 @@ outputs:
           register: output
           retries: 5
           until: output.rc == 0
-          when: is_bootstrap_node
+          when: is_bootstrap_node and redis_res|succeeded
         - name: Disable redis service
           tags: step2
           service: name=redis enabled=no
index 29bd22a..a325f28 100644 (file)
@@ -224,6 +224,14 @@ outputs:
         - name: set is_bootstrap_node fact
           tags: common
           set_fact: is_bootstrap_node={{bootstrap_node.stdout|lower == ansible_hostname|lower}}
+        - name: Check cluster resource status
+          tags: step2
+          pacemaker_resource:
+            resource: {get_attr: [HAProxyBase, role_data, service_name]}
+            state: started
+            check_mode: true
+          ignore_errors: true
+          register: haproxy_res
         - name: Disable the haproxy cluster resource.
           tags: step2
           pacemaker_resource:
@@ -233,7 +241,7 @@ outputs:
           register: output
           retries: 5
           until: output.rc == 0
-          when: is_bootstrap_node
+          when: is_bootstrap_node and haproxy_res|succeeded
         - name: Delete the stopped haproxy cluster resource.
           tags: step2
           pacemaker_resource:
@@ -243,4 +251,4 @@ outputs:
           register: output
           retries: 5
           until: output.rc == 0
-          when: is_bootstrap_node
+          when: is_bootstrap_node and haproxy_res|succeeded
index b099374..7333689 100644 (file)
@@ -215,6 +215,14 @@ outputs:
         - name: set is_bootstrap_node fact
           tags: common
           set_fact: is_bootstrap_node={{bootstrap_node.stdout|lower == ansible_hostname|lower}}
+        - name: Check cluster resource status
+          tags: step2
+          pacemaker_resource:
+            resource: {get_attr: [RabbitmqBase, role_data, service_name]}
+            state: started
+            check_mode: true
+          ignore_errors: true
+          register: rabbitmq_res
         - name: Disable the rabbitmq cluster resource.
           tags: step2
           pacemaker_resource:
@@ -224,7 +232,7 @@ outputs:
           register: output
           retries: 5
           until: output.rc == 0
-          when: is_bootstrap_node
+          when: is_bootstrap_node and rabbitmq_res|succeeded
         - name: Delete the stopped rabbitmq cluster resource.
           tags: step2
           pacemaker_resource:
@@ -234,7 +242,7 @@ outputs:
           register: output
           retries: 5
           until: output.rc == 0
-          when: is_bootstrap_node
+          when: is_bootstrap_node and rabbitmq_res|succeeded
         - name: Disable rabbitmq service
           tags: step2
           service: name=rabbitmq-server enabled=no