From 1e1c43549eccdb3ebc5cec8634a84d628ef03af4 Mon Sep 17 00:00:00 2001
From: Eduardo Gonzalez <dabarren@gmail.com>
Date: Fri, 3 Feb 2017 12:50:19 +0000
Subject: [PATCH] Apply new register method

Change-Id: I4653250149dcc3ce46a2ea9622b9228a120764d2
Closes-Bug: #1661595
---
 ansible/roles/designate/defaults/main.yml  |  2 +-
 ansible/roles/designate/tasks/register.yml | 50 +++++++++++-----------
 ansible/roles/karbor/defaults/main.yml     |  2 +-
 ansible/roles/karbor/tasks/register.yml    | 50 +++++++++++-----------
 ansible/roles/panko/defaults/main.yml      |  2 +-
 ansible/roles/panko/tasks/register.yml     | 50 +++++++++++-----------
 6 files changed, 81 insertions(+), 75 deletions(-)

diff --git a/ansible/roles/designate/defaults/main.yml b/ansible/roles/designate/defaults/main.yml
index 49d27a9d6d..86d5227faa 100644
--- a/ansible/roles/designate/defaults/main.yml
+++ b/ansible/roles/designate/defaults/main.yml
@@ -52,4 +52,4 @@ designate_logging_debug: "{{ openstack_logging_debug }}"
 
 designate_keystone_user: "designate"
 
-openstack_designate_auth: "{'auth_url':'{{ openstack_auth.auth_url }}','username':'{{ openstack_auth.username }}','password':'{{ openstack_auth.password }}','project_name':'{{ openstack_auth.project_name }}'}"
+openstack_designate_auth: "{{ openstack_auth }}"
diff --git a/ansible/roles/designate/tasks/register.yml b/ansible/roles/designate/tasks/register.yml
index 6d067d7fef..297c5ce539 100644
--- a/ansible/roles/designate/tasks/register.yml
+++ b/ansible/roles/designate/tasks/register.yml
@@ -1,19 +1,20 @@
 ---
 - name: Creating the Designate service and endpoint
-  command: docker exec -t kolla_toolbox /usr/bin/ansible localhost
-    -m kolla_keystone_service
-    -a "service_name=designate
-        service_type=dns
-        description='Designate DNS Service'
-        endpoint_region={{ openstack_region_name }}
-        url='{{ item.url }}'
-        interface='{{ item.interface }}'
-        region_name={{ openstack_region_name }}
-        auth={{ '{{ openstack_designate_auth }}' }}"
-    -e "{'openstack_designate_auth':{{ openstack_designate_auth }}}"
+  kolla_toolbox:
+    module_name: "kolla_keystone_service"
+    module_args:
+      service_name: "designate"
+      service_type: "dns"
+      description: "Designate DNS Service"
+      endpoint_region: "{{ openstack_region_name }}"
+      url: "{{ item.url }}"
+      interface: "{{ item.interface }}"
+      region_name: "{{ openstack_region_name }}"
+      auth: "{{ '{{ openstack_designate_auth }}' }}"
+    module_extra_vars:
+      openstack_designate_auth: "{{ openstack_designate_auth }}"
   register: designate_endpoint
-  changed_when: "{{ designate_endpoint.stdout.find('localhost | SUCCESS => ') != -1 and (designate_endpoint.stdout.split('localhost | SUCCESS => ')[1]|from_json).changed }}"
-  until: designate_endpoint.stdout.split()[2] == 'SUCCESS'
+  until: designate_endpoint|success
   retries: 10
   delay: 5
   run_once: True
@@ -23,18 +24,19 @@
     - {'interface': 'public', 'url': '{{ designate_public_endpoint }}'}
 
 - name: Creating the Designate project, user, and role
-  command: docker exec -t kolla_toolbox /usr/bin/ansible localhost
-    -m kolla_keystone_user
-    -a "project=service
-        user={{ designate_keystone_user }}
-        password={{ designate_keystone_password }}
-        role=admin
-        region_name={{ openstack_region_name }}
-        auth={{ '{{ openstack_designate_auth }}' }}"
-    -e "{'openstack_designate_auth':{{ openstack_designate_auth }}}"
+  kolla_toolbox:
+    module_name: "kolla_keystone_user"
+    module_args:
+      project: "service"
+      user: "{{ designate_keystone_user }}"
+      password: "{{ designate_keystone_password }}"
+      role: "admin"
+      region_name: "{{ openstack_region_name }}"
+      auth: "{{ '{{ openstack_designate_auth }}' }}"
+    module_extra_vars:
+      openstack_designate_auth: "{{ openstack_designate_auth }}"
   register: designate_user
-  changed_when: "{{ designate_user.stdout.find('localhost | SUCCESS => ') != -1 and (designate_user.stdout.split('localhost | SUCCESS => ')[1]|from_json).changed }}"
-  until: designate_user.stdout.split()[2] == 'SUCCESS'
+  until: designate_user|success
   retries: 10
   delay: 5
   run_once: True
diff --git a/ansible/roles/karbor/defaults/main.yml b/ansible/roles/karbor/defaults/main.yml
index 1b2e659be1..21c95830a8 100644
--- a/ansible/roles/karbor/defaults/main.yml
+++ b/ansible/roles/karbor/defaults/main.yml
@@ -36,4 +36,4 @@ karbor_logging_debug: "{{ openstack_logging_debug }}"
 
 karbor_keystone_user: "karbor"
 
-openstack_karbor_auth: "{'auth_url':'{{ openstack_auth.auth_url }}','username':'{{ openstack_auth.username }}','password':'{{ openstack_auth.password }}','project_name':'{{ openstack_auth.project_name }}'}"
+openstack_karbor_auth: "{{ openstack_auth }}" 
diff --git a/ansible/roles/karbor/tasks/register.yml b/ansible/roles/karbor/tasks/register.yml
index afe8b376f4..9c6f22e020 100644
--- a/ansible/roles/karbor/tasks/register.yml
+++ b/ansible/roles/karbor/tasks/register.yml
@@ -1,19 +1,20 @@
 ---
 - name: Creating the Karbor service and endpoint
-  command: docker exec -t kolla_toolbox /usr/bin/ansible localhost
-    -m kolla_keystone_service
-    -a "service_name=karbor
-        service_type=data-protect
-        description='Application Data Protection Service'
-        endpoint_region={{ openstack_region_name }}
-        url='{{ item.url }}'
-        interface='{{ item.interface }}'
-        region_name={{ openstack_region_name }}
-        auth={{ '{{ openstack_karbor_auth }}' }}"
-    -e "{'openstack_karbor_auth':{{ openstack_karbor_auth }}}"
+  kolla_toolbox:
+    module_name: "kolla_keystone_service"
+    module_args:
+      service_name: "karbor"
+      service_type: "data-protect"
+      description: "Application Data Protection Service"
+      endpoint_region: "{{ openstack_region_name }}"
+      url: "{{ item.url }}"
+      interface: "{{ item.interface }}"
+      region_name: "{{ openstack_region_name }}"
+      auth: "{{ '{{ openstack_karbor_auth }}' }}"
+    module_extra_vars:
+      openstack_karbor_auth: "{{ openstack_karbor_auth }}"
   register: karbor_endpoint
-  changed_when: "{{ karbor_endpoint.stdout.find('localhost | SUCCESS => ') != -1 and (karbor_endpoint.stdout.split('localhost | SUCCESS => ')[1]|from_json).changed }}"
-  until: karbor_endpoint.stdout.split()[2] == 'SUCCESS'
+  until: karbor_endpoint|success
   retries: 10
   delay: 5
   run_once: True
@@ -23,18 +24,19 @@
     - {'interface': 'public', 'url': '{{ karbor_public_endpoint }}'}
 
 - name: Creating the Karbor project, user, and role
-  command: docker exec -t kolla_toolbox /usr/bin/ansible localhost
-    -m kolla_keystone_user
-    -a "project=service
-        user={{ karbor_keystone_user }}
-        password={{ karbor_keystone_password }}
-        role=admin
-        region_name={{ openstack_region_name }}
-        auth={{ '{{ openstack_karbor_auth }}' }}"
-    -e "{'openstack_karbor_auth':{{ openstack_karbor_auth }}}"
+  kolla_toolbox:
+    module_name: "kolla_keystone_user"
+    module_args:
+      project: "service"
+      user: "{{ karbor_keystone_user }}"
+      password: "{{ karbor_keystone_password }}"
+      role: "admin"
+      region_name: "{{ openstack_region_name }}"
+      auth: "{{ '{{ openstack_karbor_auth }}' }}"
+    module_extra_vars:
+      openstack_karbor_auth: "{{ openstack_karbor_auth }}"
   register: karbor_user
-  changed_when: "{{ karbor_user.stdout.find('localhost | SUCCESS => ') != -1 and (karbor_user.stdout.split('localhost | SUCCESS => ')[1]|from_json).changed }}"
-  until: karbor_user.stdout.split()[2] == 'SUCCESS'
+  until: karbor_user|success
   retries: 10
   delay: 5
   run_once: True
diff --git a/ansible/roles/panko/defaults/main.yml b/ansible/roles/panko/defaults/main.yml
index ad0a712c99..494407865a 100644
--- a/ansible/roles/panko/defaults/main.yml
+++ b/ansible/roles/panko/defaults/main.yml
@@ -40,4 +40,4 @@ panko_logging_debug: "{{ openstack_logging_debug }}"
 
 panko_keystone_user: "panko"
 
-openstack_panko_auth: "{'auth_url':'{{ openstack_auth.auth_url }}','username':'{{ openstack_auth.username }}','password':'{{ openstack_auth.password }}','project_name':'{{ openstack_auth.project_name }}','domain_name':'default'}"
+openstack_panko_auth: "{{ openstack_auth }}" 
diff --git a/ansible/roles/panko/tasks/register.yml b/ansible/roles/panko/tasks/register.yml
index dd6280fd23..96956d13ed 100644
--- a/ansible/roles/panko/tasks/register.yml
+++ b/ansible/roles/panko/tasks/register.yml
@@ -1,19 +1,20 @@
 ---
 - name: Creating the panko service and endpoint
-  command: docker exec -t kolla_toolbox /usr/bin/ansible localhost
-    -m kolla_keystone_service
-    -a "service_name=panko
-        service_type=event
-        description='Panko Service'
-        endpoint_region={{ openstack_region_name }}
-        url='{{ item.url }}'
-        interface='{{ item.interface }}'
-        region_name={{ openstack_region_name }}
-        auth={{ '{{ openstack_panko_auth }}' }}"
-    -e "{'openstack_panko_auth':{{ openstack_panko_auth }}}"
+  kolla_toolbox:
+    module_name: "kolla_keystone_service"
+    module_args:
+      service_name: "panko"
+      service_type: "event"
+      description: "Panko Service"
+      endpoint_region: "{{ openstack_region_name }}"
+      url: "{{ item.url }}"
+      interface: "{{ item.interface }}"
+      region_name: "{{ openstack_region_name }}"
+      auth: "{{ '{{ openstack_panko_auth }}' }}"
+    module_extra_vars:
+      openstack_panko_auth: "{{ openstack_panko_auth }}"
   register: panko_endpoint
-  changed_when: "{{ panko_endpoint.stdout.find('localhost | SUCCESS => ') != -1 and (panko_endpoint.stdout.split('localhost | SUCCESS => ')[1]|from_json).changed }}"
-  until: panko_endpoint.stdout.split()[2] == 'SUCCESS'
+  until: panko_endpoint|success
   retries: 10
   delay: 5
   run_once: True
@@ -23,18 +24,19 @@
     - {'interface': 'public', 'url': '{{ panko_public_endpoint }}'}
 
 - name: Creating the panko project, user, and role
-  command: docker exec -t kolla_toolbox /usr/bin/ansible localhost
-    -m kolla_keystone_user
-    -a "project=service
-        user={{ panko_keystone_user }}
-        password={{ panko_keystone_password }}
-        role=admin
-        region_name={{ openstack_region_name }}
-        auth={{ '{{ openstack_panko_auth }}' }}"
-    -e "{'openstack_panko_auth':{{ openstack_panko_auth }}}"
+  kolla_toolbox:
+    module_name: "kolla_keystone_user"
+    module_args:
+      project: "service"
+      user: "{{ panko_keystone_user }}"
+      password: "{{ panko_keystone_password }}"
+      role: "admin"
+      region_name: "{{ openstack_region_name }}"
+      auth: "{{ '{{ openstack_panko_auth }}' }}"
+    module_extra_vars:
+      openstack_panko_auth: "{{ openstack_panko_auth }}"
   register: panko_user
-  changed_when: "{{ panko_user.stdout.find('localhost | SUCCESS => ') != -1 and (panko_user.stdout.split('localhost | SUCCESS => ')[1]|from_json).changed }}"
-  until: panko_user.stdout.split()[2] == 'SUCCESS'
+  until: panko_user|success
   retries: 10
   delay: 5
   run_once: True