]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-ansible.git/commitdiff
Add safety checks prior to deploy a cluster in containers 424/head
authorSébastien Han <seb@redhat.com>
Wed, 21 Oct 2015 00:12:43 +0000 (02:12 +0200)
committerSébastien Han <seb@redhat.com>
Wed, 21 Oct 2015 00:12:43 +0000 (02:12 +0200)
Signed-off-by: Sébastien Han <seb@redhat.com>
roles/ceph-mds/tasks/docker/checks.yml [new file with mode: 0644]
roles/ceph-mds/tasks/docker/main.yml
roles/ceph-mon/tasks/docker/checks.yml [new file with mode: 0644]
roles/ceph-mon/tasks/docker/main.yml
roles/ceph-osd/tasks/docker/checks.yml [new file with mode: 0644]
roles/ceph-osd/tasks/docker/main.yml
roles/ceph-rgw/tasks/docker/checks.yml [new file with mode: 0644]
roles/ceph-rgw/tasks/docker/main.yml

diff --git a/roles/ceph-mds/tasks/docker/checks.yml b/roles/ceph-mds/tasks/docker/checks.yml
new file mode 100644 (file)
index 0000000..8bf0078
--- /dev/null
@@ -0,0 +1,27 @@
+---
+- name: set config and keys paths
+  set_fact:
+    ceph_config_keys:
+      - /etc/ceph/ceph.client.admin.keyring
+      - /etc/ceph/ceph.conf
+      - /etc/ceph/monmap
+      - /etc/ceph/ceph.mon.keyring
+      - /var/lib/ceph/bootstrap-osd/ceph.keyring
+      - /var/lib/ceph/bootstrap-rgw/ceph.keyring
+      - /var/lib/ceph/bootstrap-mds/ceph.keyring
+
+- name: stat for ceph config and keys
+  stat:
+    path: {{ item }}
+  with_items: ceph_config_keys
+  changed_when: false
+  failed_when: false
+  register: statleftover
+
+- name: fail if we find existing cluster files
+  fail:
+    msg: "looks like no cluster is running but ceph files are present, please remove them"
+  with_together:
+    - ceph_config_keys
+    - statleftover.results
+  when: item.1.stat.exists == true
index 0b859c2427fbddc3563405f91f0b8cd0b4b647d3..fe9ca1d53c7bdaeaea02ac8f7a5d045654d7b75f 100644 (file)
@@ -1,4 +1,13 @@
 ---
+- name: check if a cluster is already running
+  shell: "docker ps | grep -sq 'ceph/daemon'"
+  register: ceph_health
+  changed_when: false
+  failed_when: false
+
+- include: checks.yml
+  when: ceph_health.rc != 0
+
 - include: pre_requisite.yml
 - include: fetch_configs.yml
 - include: start_docker_mds.yml
diff --git a/roles/ceph-mon/tasks/docker/checks.yml b/roles/ceph-mon/tasks/docker/checks.yml
new file mode 100644 (file)
index 0000000..8bf0078
--- /dev/null
@@ -0,0 +1,27 @@
+---
+- name: set config and keys paths
+  set_fact:
+    ceph_config_keys:
+      - /etc/ceph/ceph.client.admin.keyring
+      - /etc/ceph/ceph.conf
+      - /etc/ceph/monmap
+      - /etc/ceph/ceph.mon.keyring
+      - /var/lib/ceph/bootstrap-osd/ceph.keyring
+      - /var/lib/ceph/bootstrap-rgw/ceph.keyring
+      - /var/lib/ceph/bootstrap-mds/ceph.keyring
+
+- name: stat for ceph config and keys
+  stat:
+    path: {{ item }}
+  with_items: ceph_config_keys
+  changed_when: false
+  failed_when: false
+  register: statleftover
+
+- name: fail if we find existing cluster files
+  fail:
+    msg: "looks like no cluster is running but ceph files are present, please remove them"
+  with_together:
+    - ceph_config_keys
+    - statleftover.results
+  when: item.1.stat.exists == true
index e7ae9d4425850278e8a4e75fb0c129b9d7f507c5..d59291b153a5b1ebe8ed6e0b707fbbf5a2eef25f 100644 (file)
@@ -1,4 +1,13 @@
 ---
+- name: check if a cluster is already running
+  shell: "docker ps | grep -sq 'ceph/daemon'"
+  register: ceph_health
+  changed_when: false
+  failed_when: false
+
+- include: checks.yml
+  when: ceph_health.rc != 0
+
 - include: pre_requisite.yml
 - include: fetch_configs.yml
 - include: start_docker_monitor.yml
diff --git a/roles/ceph-osd/tasks/docker/checks.yml b/roles/ceph-osd/tasks/docker/checks.yml
new file mode 100644 (file)
index 0000000..8bf0078
--- /dev/null
@@ -0,0 +1,27 @@
+---
+- name: set config and keys paths
+  set_fact:
+    ceph_config_keys:
+      - /etc/ceph/ceph.client.admin.keyring
+      - /etc/ceph/ceph.conf
+      - /etc/ceph/monmap
+      - /etc/ceph/ceph.mon.keyring
+      - /var/lib/ceph/bootstrap-osd/ceph.keyring
+      - /var/lib/ceph/bootstrap-rgw/ceph.keyring
+      - /var/lib/ceph/bootstrap-mds/ceph.keyring
+
+- name: stat for ceph config and keys
+  stat:
+    path: {{ item }}
+  with_items: ceph_config_keys
+  changed_when: false
+  failed_when: false
+  register: statleftover
+
+- name: fail if we find existing cluster files
+  fail:
+    msg: "looks like no cluster is running but ceph files are present, please remove them"
+  with_together:
+    - ceph_config_keys
+    - statleftover.results
+  when: item.1.stat.exists == true
index 149043f7affb315bd546f755a1cc22a9531bc9e8..956ac924e833984146a20de974356c18737461f8 100644 (file)
@@ -1,4 +1,13 @@
 ---
+- name: check if a cluster is already running
+  shell: "docker ps | grep -sq 'ceph/daemon'"
+  register: ceph_health
+  changed_when: false
+  failed_when: false
+
+- include: checks.yml
+  when: ceph_health.rc != 0
+
 - include: pre_requisite.yml
 - include: fetch_configs.yml
 - include: start_docker_osd.yml
diff --git a/roles/ceph-rgw/tasks/docker/checks.yml b/roles/ceph-rgw/tasks/docker/checks.yml
new file mode 100644 (file)
index 0000000..8bf0078
--- /dev/null
@@ -0,0 +1,27 @@
+---
+- name: set config and keys paths
+  set_fact:
+    ceph_config_keys:
+      - /etc/ceph/ceph.client.admin.keyring
+      - /etc/ceph/ceph.conf
+      - /etc/ceph/monmap
+      - /etc/ceph/ceph.mon.keyring
+      - /var/lib/ceph/bootstrap-osd/ceph.keyring
+      - /var/lib/ceph/bootstrap-rgw/ceph.keyring
+      - /var/lib/ceph/bootstrap-mds/ceph.keyring
+
+- name: stat for ceph config and keys
+  stat:
+    path: {{ item }}
+  with_items: ceph_config_keys
+  changed_when: false
+  failed_when: false
+  register: statleftover
+
+- name: fail if we find existing cluster files
+  fail:
+    msg: "looks like no cluster is running but ceph files are present, please remove them"
+  with_together:
+    - ceph_config_keys
+    - statleftover.results
+  when: item.1.stat.exists == true
index 43676be1a8857b5198be04de05a144dc422995b7..48ef901b9a372c5d0190b7dc1efc8bc24fe98da9 100644 (file)
@@ -1,4 +1,13 @@
 ---
+- name: check if a cluster is already running
+  shell: "docker ps | grep -sq 'ceph/daemon'"
+  register: ceph_health
+  changed_when: false
+  failed_when: false
+
+- include: checks.yml
+  when: ceph_health.rc != 0
+
 - include: pre_requisite.yml
 - include: fetch_configs.yml
 - include: start_docker_rgw.yml