From af0d73ea384aad8bdd306fc2e1c0a29dfa5fb9e3 Mon Sep 17 00:00:00 2001
From: SamYaple <sam@yaple.net>
Date: Sun, 17 Jan 2016 23:19:34 +0000
Subject: [PATCH] Rename ceph-mon bootstrap container to avoid conflict

Ceph-mon bootstrap container shares the same name of `ceph_mon` with
real ceph-mon service. When bootstrapping, it will sleep forever for the
purpose of distribute rings. Later on, when starting real `ceph_mon`
service, kolla_docker module will take bootstrap container as real one
because bootstrap container has a super set of env variables and
kolla_docker doesn't do strict comparing of env variable items.

This change follows the pattern of other bootstrap containers and rename
to use `bootstrap_ceph_mon` to avoid conflict.

Co-Authored-By: Sam Yaple <sam@yaple.net>

Change-Id: I0082820900928c42f9cc778ffd705980fea9ad1c
Closes-Bug: #1535140
---
 ansible/roles/ceph/tasks/generate_cluster.yml | 16 ++++++++++++----
 docker/ceph/ceph-mon/extend_start.sh          |  3 +--
 2 files changed, 13 insertions(+), 6 deletions(-)

diff --git a/ansible/roles/ceph/tasks/generate_cluster.yml b/ansible/roles/ceph/tasks/generate_cluster.yml
index 64be33ef81..06797b40f7 100644
--- a/ansible/roles/ceph/tasks/generate_cluster.yml
+++ b/ansible/roles/ceph/tasks/generate_cluster.yml
@@ -3,21 +3,29 @@
   kolla_docker:
     action: "start_container"
     common_options: "{{ docker_common_options }}"
+    detach: False
     environment:
       KOLLA_BOOTSTRAP:
       KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
       MON_IP: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
     image: "{{ ceph_mon_image_full }}"
-    name: "ceph_mon"
+    name: "bootstrap_ceph_mon"
     restart_policy: "never"
     volumes:
       - "{{ node_config_directory }}/ceph-mon/:{{ container_config_directory }}/:ro"
       - "ceph_mon:/var/lib/ceph"
       - "ceph_mon_config:/etc/ceph"
 
-- name: Waiting for a few settings for cluster to generate keys
-  command: sleep 3
-  changed_when: False
+- name: Starting ceph-mon container
+  kolla_docker:
+    action: "start_container"
+    common_options: "{{ docker_common_options }}"
+    image: "{{ ceph_mon_image_full }}"
+    name: "ceph_mon"
+    volumes:
+      - "{{ node_config_directory }}/ceph-mon/:{{ container_config_directory }}/:ro"
+      - "ceph_mon:/var/lib/ceph"
+      - "ceph_mon_config:/etc/ceph"
 
 - name: Setting host for cluster files
   set_fact:
diff --git a/docker/ceph/ceph-mon/extend_start.sh b/docker/ceph/ceph-mon/extend_start.sh
index 3b8246e373..fd17de511e 100644
--- a/docker/ceph/ceph-mon/extend_start.sh
+++ b/docker/ceph/ceph-mon/extend_start.sh
@@ -21,8 +21,7 @@ if [[ "${!KOLLA_BOOTSTRAP[@]}" ]]; then
     ceph-authtool "${KEYRING_MON}" --import-keyring "${KEYRING_RGW}"
     monmaptool --create --add "$(hostname)" "${MON_IP}" --fsid "${FSID}" "${MONMAP}"
 
-    echo "Sleeping until keys are fetched"
-    /bin/sleep infinity
+    exit 0
 fi
 
 # This section runs on every mon that does not have a keyring already.
-- 
GitLab