From 03feeb023520a6df3b04d96d843757bd9f610f7b Mon Sep 17 00:00:00 2001
From: Eduardo Gonzalez <dabarren@gmail.com>
Date: Mon, 27 Feb 2017 09:58:26 +0000
Subject: [PATCH] Fix designate deploy/genconfig

While deploying/genconfig designate, raise an error due
a missing .key in the item iteration
designate_rndc_key var is already used and replaced by the register
Changed register to other name.
Bind9 container should be started before other designate services.

Change-Id: Ia6aa89af1cf2317fa8f006b8d35d3760e7fb9980
---
 ansible/roles/designate/handlers/main.yml | 46 +++++++++++------------
 ansible/roles/designate/tasks/config.yml  |  6 +--
 2 files changed, 26 insertions(+), 26 deletions(-)

diff --git a/ansible/roles/designate/handlers/main.yml b/ansible/roles/designate/handlers/main.yml
index dbacb03fa5..f49d9e3150 100644
--- a/ansible/roles/designate/handlers/main.yml
+++ b/ansible/roles/designate/handlers/main.yml
@@ -1,4 +1,26 @@
 ---
+- name: Restart designate-backend-bind9 container
+  vars:
+    service_name: "designate-backend-bind9"
+    service: "{{ designate_services[service_name] }}"
+    config_json: "{{ designate_config_jsons.results|selectattr('item.key', 'equalto', service_name)|first }}"
+    designate_backend_bind9_container: "{{ check_designate_containers.results|selectattr('item.key', 'equalto', service_name)|first }}"
+  kolla_docker:
+    action: "recreate_or_restart_container"
+    common_options: "{{ docker_common_options }}"
+    name: "{{ service.container_name }}"
+    image: "{{ service.image }}"
+    volumes: "{{ service.volumes }}"
+  when:
+    - action != "config"
+    - inventory_hostname in groups[service.group]
+    - service.enabled | bool
+    - config_json.changed | bool
+      or designate_rndc_conf.changed | bool
+      or designate_rndc_key_file.changed | bool
+      or designate_named.changed | bool
+      or designate_backend_bind9_container.changed | bool
+
 - name: Restart designate-api container
   vars:
     service_name: "designate-api"
@@ -22,28 +44,6 @@
       or policy_json.changed | bool
       or designate_api_container.changed | bool
 
-- name: Restart designate-backend-bind9 container
-  vars:
-    service_name: "designate-backend-bind9"
-    service: "{{ designate_services[service_name] }}"
-    config_json: "{{ designate_config_jsons.results|selectattr('item.key', 'equalto', service_name)|first }}"
-    designate_backend_bind9: "{{ check_designate_containers.results|selectattr('item.key', 'equalto', service_name)|first }}"
-  kolla_docker:
-    action: "recreate_or_restart_container"
-    common_options: "{{ docker_common_options }}"
-    name: "{{ service.container_name }}"
-    image: "{{ service.image }}"
-    volumes: "{{ service.volumes }}"
-  when:
-    - action != "config"
-    - inventory_hostname in groups[service.group]
-    - service.enabled | bool
-    - config_json.changed | bool
-      or designate_rndc_conf.changed | bool
-      or designate_rndc_key.changed | bool
-      or designate_named.changed | bool
-      or designate_backend_bind9_container.changed | bool
-
 - name: Restart designate-central container
   vars:
     service_name: "designate-central"
@@ -111,7 +111,7 @@
     - config_json.changed | bool
       or designate_conf.changed | bool
       or designate_rndc_conf.changed | bool
-      or designate_rndc_key.changed | bool
+      or designate_rndc_key_file.changed | bool
       or policy_json.changed | bool
       or designate_worker_container.changed | bool
 
diff --git a/ansible/roles/designate/tasks/config.yml b/ansible/roles/designate/tasks/config.yml
index 15f1ddd408..f88ddb9a69 100644
--- a/ansible/roles/designate/tasks/config.yml
+++ b/ansible/roles/designate/tasks/config.yml
@@ -89,7 +89,7 @@
 - name: Copying over rndc.conf
   template:
     src: "rndc.conf.j2"
-    dest: "{{ node_config_directory }}/{{ item }}/rndc.conf"
+    dest: "{{ node_config_directory }}/{{ item.key }}/rndc.conf"
   register: designate_rndc_conf
   when:
     - designate_backend == 'bind9'
@@ -104,8 +104,8 @@
 - name: Copying over rndc.key
   template:
     src: "rndc.key.j2"
-    dest: "{{ node_config_directory }}/{{ item }}/rndc.key"
-  register: designate_rndc_key
+    dest: "{{ node_config_directory }}/{{ item.key }}/rndc.key"
+  register: designate_rndc_key_file
   when:
     - designate_backend == 'bind9'
     - item.key in [ "designate-backend-bind9", "designate-worker" ]