From e61f13d880efd95de8002854ad9e64526d34ab4b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bart=C5=82omiej=20Daca?= <bartek.daca@gmail.com>
Date: Mon, 18 Jul 2016 13:51:11 +0200
Subject: [PATCH] Fix 'reconfigure' command of kolla

Changed the order of the 'when' statements in "remove/restart
containers" tasks. It will fix the reconfiguration problem when
deploying different components on different hosts.

Change-Id: Ibee9dd56b6128b664144deb1d9eb7ec32e39fd5c
Closes-Bug: #1603943
---
 ansible/roles/ceilometer/tasks/do_reconfigure.yml | 4 ++--
 ansible/roles/glance/tasks/do_reconfigure.yml     | 4 ++--
 ansible/roles/heat/tasks/do_reconfigure.yml       | 4 ++--
 ansible/roles/ironic/tasks/do_reconfigure.yml     | 4 ++--
 ansible/roles/magnum/tasks/do_reconfigure.yml     | 4 ++--
 ansible/roles/manila/tasks/do_reconfigure.yml     | 4 ++--
 ansible/roles/mistral/tasks/do_reconfigure.yml    | 4 ++--
 ansible/roles/murano/tasks/do_reconfigure.yml     | 4 ++--
 8 files changed, 16 insertions(+), 16 deletions(-)

diff --git a/ansible/roles/ceilometer/tasks/do_reconfigure.yml b/ansible/roles/ceilometer/tasks/do_reconfigure.yml
index 886ac17104..137f1663dd 100644
--- a/ansible/roles/ceilometer/tasks/do_reconfigure.yml
+++ b/ansible/roles/ceilometer/tasks/do_reconfigure.yml
@@ -50,9 +50,9 @@
     action: "remove_container"
   register: remove_containers
   when:
+    - inventory_hostname in groups[item[0]['group']]
     - config_strategy == "COPY_ONCE" or item[1]['KOLLA_CONFIG_STRATEGY'] == 'COPY_ONCE'
     - item[2]['rc'] == 1
-    - inventory_hostname in groups[item[0]['group']]
   with_together:
     - [{ name: ceilometer_api, group: ceilometer-api },
        { name: ceilometer_central, group: ceilometer-central },
@@ -70,10 +70,10 @@
     name: "{{ item[0]['name'] }}"
     action: "restart_container"
   when:
+    - inventory_hostname in groups[item[0]['group']]
     - config_strategy == 'COPY_ALWAYS'
     - item[1]['KOLLA_CONFIG_STRATEGY'] != 'COPY_ONCE'
     - item[2]['rc'] == 1
-    - inventory_hostname in groups[item[0]['group']]
   with_together:
     - [{ name: ceilometer_api, group: ceilometer-api },
        { name: ceilometer_central, group: ceilometer-central },
diff --git a/ansible/roles/glance/tasks/do_reconfigure.yml b/ansible/roles/glance/tasks/do_reconfigure.yml
index d9e1678675..0e34c60db9 100644
--- a/ansible/roles/glance/tasks/do_reconfigure.yml
+++ b/ansible/roles/glance/tasks/do_reconfigure.yml
@@ -35,9 +35,9 @@
     action: "remove_container"
   register: remove_containers
   when:
+    - inventory_hostname in groups[item[0]['group']]
     - config_strategy == "COPY_ONCE" or item[1]['KOLLA_CONFIG_STRATEGY'] == 'COPY_ONCE'
     - item[2]['rc'] == 1
-    - inventory_hostname in groups[item[0]['group']]
   with_together:
     - "{{ glance_service_groups }}"
     - container_envs.results
@@ -53,10 +53,10 @@
     name: "{{ item[0]['name'] }}"
     action: "restart_container"
   when:
+    - inventory_hostname in groups[item[0]['group']]
     - config_strategy == 'COPY_ALWAYS'
     - item[1]['KOLLA_CONFIG_STRATEGY'] != 'COPY_ONCE'
     - item[2]['rc'] == 1
-    - inventory_hostname in groups[item[0]['group']]
   with_together:
     - "{{ glance_service_groups }}"
     - container_envs.results
diff --git a/ansible/roles/heat/tasks/do_reconfigure.yml b/ansible/roles/heat/tasks/do_reconfigure.yml
index 40c5671d1c..d1d69822fb 100644
--- a/ansible/roles/heat/tasks/do_reconfigure.yml
+++ b/ansible/roles/heat/tasks/do_reconfigure.yml
@@ -44,9 +44,9 @@
     action: "remove_container"
   register: remove_containers
   when:
+    - inventory_hostname in groups[item[0]['group']]
     - config_strategy == "COPY_ONCE" or item[1]['KOLLA_CONFIG_STRATEGY'] == 'COPY_ONCE'
     - item[2]['rc'] == 1
-    - inventory_hostname in groups[item[0]['group']]
   with_together:
     - [{ name: heat_api, group: heat-api },
        { name: heat_api_cfn, group: heat-api-cfn },
@@ -62,10 +62,10 @@
     name: "{{ item[0]['name'] }}"
     action: "restart_container"
   when:
+    - inventory_hostname in groups[item[0]['group']]
     - config_strategy == 'COPY_ALWAYS'
     - item[1]['KOLLA_CONFIG_STRATEGY'] != 'COPY_ONCE'
     - item[2]['rc'] == 1
-    - inventory_hostname in groups[item[0]['group']]
   with_together:
     - [{ name: heat_api, group: heat-api },
        { name: heat_api_cfn, group: heat-api-cfn },
diff --git a/ansible/roles/ironic/tasks/do_reconfigure.yml b/ansible/roles/ironic/tasks/do_reconfigure.yml
index 345f8ed326..ee0b3bd435 100644
--- a/ansible/roles/ironic/tasks/do_reconfigure.yml
+++ b/ansible/roles/ironic/tasks/do_reconfigure.yml
@@ -44,9 +44,9 @@
     action: "remove_container"
   register: remove_containers
   when:
+    - inventory_hostname in groups[item[0]['group']]
     - config_strategy == "COPY_ONCE" or item[1]['KOLLA_CONFIG_STRATEGY'] == 'COPY_ONCE'
     - item[2]['rc'] == 1
-    - inventory_hostname in groups[item[0]['group']]
   with_together:
     - [{ name: ironic_pxe, group: ironic-pxe },
        { name: ironic_api, group: ironic-api },
@@ -63,10 +63,10 @@
     name: "{{ item[0]['name'] }}"
     action: "restart_container"
   when:
+    - inventory_hostname in groups[item[0]['group']]
     - config_strategy == 'COPY_ALWAYS'
     - item[1]['KOLLA_CONFIG_STRATEGY'] != 'COPY_ONCE'
     - item[2]['rc'] == 1
-    - inventory_hostname in groups[item[0]['group']]
   with_together:
     - [{ name: ironic_pxe, group: ironic-pxe },
        { name: ironic_api, group: ironic-api },
diff --git a/ansible/roles/magnum/tasks/do_reconfigure.yml b/ansible/roles/magnum/tasks/do_reconfigure.yml
index 01bf2c058c..34f884169e 100644
--- a/ansible/roles/magnum/tasks/do_reconfigure.yml
+++ b/ansible/roles/magnum/tasks/do_reconfigure.yml
@@ -41,9 +41,9 @@
     action: "remove_container"
   register: remove_containers
   when:
+    - inventory_hostname in groups[item[0]['group']]
     - config_strategy == "COPY_ONCE" or item[1]['KOLLA_CONFIG_STRATEGY'] == 'COPY_ONCE'
     - item[2]['rc'] == 1
-    - inventory_hostname in groups[item[0]['group']]
   with_together:
     - [{ name: magnum_api, group: magnum-api },
        { name: magnum_conductor, group: magnum-conductor }]
@@ -58,10 +58,10 @@
     name: "{{ item[0]['name'] }}"
     action: "restart_container"
   when:
+    - inventory_hostname in groups[item[0]['group']]
     - config_strategy == 'COPY_ALWAYS'
     - item[1]['KOLLA_CONFIG_STRATEGY'] != 'COPY_ONCE'
     - item[2]['rc'] == 1
-    - inventory_hostname in groups[item[0]['group']]
   with_together:
     - [{ name: magnum_api, group: magnum-api },
        { name: magnum_conductor, group: magnum-conductor }]
diff --git a/ansible/roles/manila/tasks/do_reconfigure.yml b/ansible/roles/manila/tasks/do_reconfigure.yml
index 0c4d4cce90..9ac6b99eb2 100644
--- a/ansible/roles/manila/tasks/do_reconfigure.yml
+++ b/ansible/roles/manila/tasks/do_reconfigure.yml
@@ -44,9 +44,9 @@
     action: "remove_container"
   register: remove_containers
   when:
+    - inventory_hostname in groups[item[0]['group']]
     - config_strategy == "COPY_ONCE" or item[1]['KOLLA_CONFIG_STRATEGY'] == 'COPY_ONCE'
     - item[2]['rc'] == 1
-    - inventory_hostname in groups[item[0]['group']]
   with_together:
     - [{ name: manila_api, group: manila-api },
        { name: manila_scheduler, group: manila-scheduler },
@@ -62,10 +62,10 @@
     name: "{{ item[0]['name'] }}"
     action: "restart_container"
   when:
+    - inventory_hostname in groups[item[0]['group']]
     - config_strategy == 'COPY_ALWAYS'
     - item[1]['KOLLA_CONFIG_STRATEGY'] != 'COPY_ONCE'
     - item[2]['rc'] == 1
-    - inventory_hostname in groups[item[0]['group']]
   with_together:
     - [{ name: manila_api, group: manila-api },
        { name: manila_scheduler, group: manila-scheduler },
diff --git a/ansible/roles/mistral/tasks/do_reconfigure.yml b/ansible/roles/mistral/tasks/do_reconfigure.yml
index a3e3526da8..2b7f3324ef 100644
--- a/ansible/roles/mistral/tasks/do_reconfigure.yml
+++ b/ansible/roles/mistral/tasks/do_reconfigure.yml
@@ -41,9 +41,9 @@
     action: "remove_container"
   register: remove_containers
   when:
+    - inventory_hostname in groups[item[0]['group']]
     - config_strategy == "COPY_ONCE" or item[1]['KOLLA_CONFIG_STRATEGY'] == 'COPY_ONCE'
     - item[2]['rc'] == 1
-    - inventory_hostname in groups[item[0]['group']]
   with_together:
     - [{ name: mistral_api, group: mistral-api },
        { name: mistral_engine, group: mistral-engine },
@@ -59,10 +59,10 @@
     name: "{{ item[0]['name'] }}"
     action: "restart_container"
   when:
+    - inventory_hostname in groups[item[0]['group']]
     - config_strategy == 'COPY_ALWAYS'
     - item[1]['KOLLA_CONFIG_STRATEGY'] != 'COPY_ONCE'
     - item[2]['rc'] == 1
-    - inventory_hostname in groups[item[0]['group']]
   with_together:
     - [{ name: mistral_api, group: mistral-api },
        { name: mistral_engine, group: mistral-engine },
diff --git a/ansible/roles/murano/tasks/do_reconfigure.yml b/ansible/roles/murano/tasks/do_reconfigure.yml
index bc9e9b4f8e..6d777be6db 100644
--- a/ansible/roles/murano/tasks/do_reconfigure.yml
+++ b/ansible/roles/murano/tasks/do_reconfigure.yml
@@ -38,9 +38,9 @@
     action: "remove_container"
   register: remove_containers
   when:
+    - inventory_hostname in groups[item[0]['group']]
     - config_strategy == "COPY_ONCE" or item[1]['KOLLA_CONFIG_STRATEGY'] == 'COPY_ONCE'
     - item[2]['rc'] == 1
-    - inventory_hostname in groups[item[0]['group']]
   with_together:
     - [{ name: murano_api, group: murano-api },
        { name: murano_engine, group: murano-engine }]
@@ -55,10 +55,10 @@
     name: "{{ item[0]['name'] }}"
     action: "restart_container"
   when:
+    - inventory_hostname in groups[item[0]['group']]
     - config_strategy == 'COPY_ALWAYS'
     - item[1]['KOLLA_CONFIG_STRATEGY'] != 'COPY_ONCE'
     - item[2]['rc'] == 1
-    - inventory_hostname in groups[item[0]['group']]
   with_together:
     - [{ name: murano_api, group: murano-api },
        { name: murano_engine, group: murano-engine }]