From 5ee6d86eb7af45b86c704dc5c15e833ab5d5efc6 Mon Sep 17 00:00:00 2001
From: Sam Yaple <sam@yaple.net>
Date: Thu, 13 Aug 2015 06:02:26 +0000
Subject: [PATCH] Remove bootstrap.yml abstraction for mariadb

Change-Id: Icfd41d6cf5e4813d82a304233e784e8cb49fe3fb
Partially-Implements: blueprint remove-abstraction-ansible
---
 ansible/roles/mariadb/defaults/main.yml   | 12 ++----
 ansible/roles/mariadb/tasks/bootstrap.yml | 51 +++++++++++++++--------
 ansible/roles/mariadb/tasks/register.yml  | 15 -------
 ansible/roles/mariadb/tasks/start.yml     | 30 ++++++++-----
 4 files changed, 57 insertions(+), 51 deletions(-)

diff --git a/ansible/roles/mariadb/defaults/main.yml b/ansible/roles/mariadb/defaults/main.yml
index cb0ddbd9b1..48285a7104 100644
--- a/ansible/roles/mariadb/defaults/main.yml
+++ b/ansible/roles/mariadb/defaults/main.yml
@@ -10,12 +10,6 @@ database_cluster_name: "kolla"
 ####################
 # Docker
 ####################
-docker_database_registry: "{{ docker_registry ~ '/' if docker_registry else '' }}"
-docker_database_namespace: "{{ docker_namespace }}"
-kolla_database_base_distro: "{{ kolla_base_distro }}"
-kolla_database_install_type: "{{ kolla_install_type }}"
-kolla_database_container_name: "galera"
-
-docker_database_image: "{{ docker_database_registry }}{{ docker_database_namespace }}/{{ kolla_database_base_distro }}-{{ kolla_database_install_type }}-{{ kolla_database_container_name }}"
-docker_database_tag: "{{ openstack_release }}"
-docker_database_image_full: "{{ docker_database_image }}:{{ docker_database_tag }}"
+mariadb_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ kolla_install_type }}-galera"
+mariadb_tag: "{{ openstack_release }}"
+mariadb_image_full: "{{ mariadb_image }}:{{ mariadb_tag }}"
diff --git a/ansible/roles/mariadb/tasks/bootstrap.yml b/ansible/roles/mariadb/tasks/bootstrap.yml
index d84e255983..f31153c026 100644
--- a/ansible/roles/mariadb/tasks/bootstrap.yml
+++ b/ansible/roles/mariadb/tasks/bootstrap.yml
@@ -36,27 +36,44 @@
   always_run: True
   run_once: True
 
-- include: ../../start.yml
-  vars:
-    container_command: "/bin/sleep infinity"
-    container_image: "{{ docker_database_image_full }}"
-    container_name: "mariadb_data"
-    container_volumes:
-      - "/var/lib/mysql/"
+- name: Starting MariaDB data container
+  docker:
+    docker_api_version: "{{ docker_api_version }}"
+    net: host
+    pull: "{{ docker_pull_policy }}"
+    restart_policy: "{{ docker_restart_policy }}"
+    restart_policy_retry: "{{ docker_restart_policy_retry }}"
+    state: reloaded
+    registry: "{{ docker_registry }}"
+    username: "{{ docker_registry_username }}"
+    password: "{{ docker_registry_password }}"
+    insecure_registry: "{{ docker_insecure_registry }}"
+    name: mariadb_data
+    image: "{{ mariadb_image_full }}"
+    command: "/bin/sleep infinity"
+    volumes: "/var/lib/mysql/"
 
-- include: ../../start.yml
-  vars:
-    container_environment:
+- name: Starting MariaDB bootstrap container
+  docker:
+    docker_api_version: "{{ docker_api_version }}"
+    net: host
+    pull: "{{ docker_pull_policy }}"
+    restart_policy: "no"
+    restart_policy_retry: "{{ docker_restart_policy_retry }}"
+    state: reloaded
+    registry: "{{ docker_registry }}"
+    username: "{{ docker_registry_username }}"
+    password: "{{ docker_registry_password }}"
+    insecure_registry: "{{ docker_insecure_registry }}"
+    name: mariadb
+    image: "{{ mariadb_image_full }}"
+    volumes: "{{ node_config_directory }}/mariadb/:/opt/kolla/mariadb/:ro"
+    volumes_from:
+      - "mariadb_data"
+    env:
       KOLLA_BOOTSTRAP:
       KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
       DB_ROOT_PASSWORD: "{{ database_password }}"
-    container_image: "{{ docker_database_image_full }}"
-    container_name: "mariadb"
-    container_restart_policy: "no"
-    container_volumes:
-      - "{{ node_config_directory }}/mariadb/:/opt/kolla/mariadb/:ro"
-    container_volumes_from:
-      - "mariadb_data"
   when: delegate_host == 'None' and inventory_hostname == groups['mariadb'][0]
 
 - name: Sleeping for 15 seconds while the cluster starts
diff --git a/ansible/roles/mariadb/tasks/register.yml b/ansible/roles/mariadb/tasks/register.yml
index 5462aa4ceb..652545856e 100644
--- a/ansible/roles/mariadb/tasks/register.yml
+++ b/ansible/roles/mariadb/tasks/register.yml
@@ -1,19 +1,4 @@
 ---
-- include: ../../start.yml
-  vars:
-    container_environment:
-      KOLLA_BOOTSTRAP:
-      KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
-      DB_ROOT_PASSWORD: "{{ database_password }}"
-    container_image: "{{ docker_database_image_full }}"
-    container_name: "mariadb"
-    container_restart_policy: "no"
-    container_volumes:
-      - "{{ node_config_directory }}/mariadb/:/opt/kolla/mariadb/:ro"
-    container_volumes_from:
-      - "mariadb_data"
-  when: delegate_host == 'None' and inventory_hostname == groups['mariadb'][0]
-
 - name: Creating haproxy mysql user
   command: docker exec -t kolla_ansible /usr/bin/ansible localhost
     -m mysql_user
diff --git a/ansible/roles/mariadb/tasks/start.yml b/ansible/roles/mariadb/tasks/start.yml
index da0a8d3795..fe4c416b11 100644
--- a/ansible/roles/mariadb/tasks/start.yml
+++ b/ansible/roles/mariadb/tasks/start.yml
@@ -1,13 +1,23 @@
 ---
-- include: ../../start.yml
-  vars:
-    container_environment:
-      KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
-    container_image: "{{ docker_database_image_full }}"
-    container_name: "mariadb"
-    container_volumes:
-      - "{{ node_config_directory }}/mariadb/:/opt/kolla/mariadb/:ro"
-    container_volumes_from:
+- name: Starting MariaDB container
+  docker:
+    docker_api_version: "{{ docker_api_version }}"
+    net: host
+    pull: "{{ docker_pull_policy }}"
+    restart_policy: "{{ docker_restart_policy }}"
+    restart_policy_retry: "{{ docker_restart_policy_retry }}"
+    state: reloaded
+    registry: "{{ docker_registry }}"
+    username: "{{ docker_registry_username }}"
+    password: "{{ docker_registry_password }}"
+    insecure_registry: "{{ docker_insecure_registry }}"
+    name: mariadb
+    image: "{{ mariadb_image_full }}"
+    volumes: "{{ node_config_directory }}/mariadb/:/opt/kolla/mariadb/:ro"
+    volumes_from:
       - "mariadb_data"
-  when: delegate_host != 'None' or (groups['mariadb'] | length) == 1 or
+    env:
+      KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
+  when: delegate_host != 'None' or
+        ( groups['mariadb'] | length ) == 1 or
         ( delegate_host == 'None' and inventory_hostname != groups['mariadb'][0] )