]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-ansible.git/commitdiff
Re-arrange docker invocation and fix bootstrap restapi 351/head
authorSébastien Han <seb@redhat.com>
Tue, 28 Jul 2015 15:57:58 +0000 (17:57 +0200)
committerSébastien Han <seb@redhat.com>
Tue, 28 Jul 2015 15:57:58 +0000 (17:57 +0200)
Signed-off-by: Sébastien Han <seb@redhat.com>
group_vars/restapis.sample
roles/ceph-restapi/defaults/main.yml
roles/ceph-restapi/tasks/docker.yml [deleted file]
roles/ceph-restapi/tasks/docker/fetch_configs.yml [new file with mode: 0644]
roles/ceph-restapi/tasks/docker/main.yml [new file with mode: 0644]
roles/ceph-restapi/tasks/docker/pre_requisite.yml [new file with mode: 0644]
roles/ceph-restapi/tasks/docker/start_docker_restapi.yml [new file with mode: 0644]
roles/ceph-restapi/tasks/main.yml

index 2bb3591f37ebf443769e6d5afc682d5ae970ddb4..777282943322e8c878d395c9e213ec79c9887505 100644 (file)
@@ -13,3 +13,4 @@ dummy:
 #ceph_restapi_port: 5000
 #ceph_restapi_docker_username: ceph
 #ceph_restapi_docker_imagename: daemon
+#ceph_restapi_docker_extra_env: "RESTAPI_IP=0.0.0.0" # comma separated variables
index ce86fa603d6b8931c177adf191cc1a70f550ed29..33bda1878b18fed1167e7161b6bb367c06c263eb 100644 (file)
@@ -8,3 +8,4 @@ ceph_restapi_docker_interface: eth0
 ceph_restapi_port: 5000
 ceph_restapi_docker_username: ceph
 ceph_restapi_docker_imagename: daemon
+ceph_restapi_docker_extra_env: "RESTAPI_IP=0.0.0.0" # comma separated variables
diff --git a/roles/ceph-restapi/tasks/docker.yml b/roles/ceph-restapi/tasks/docker.yml
deleted file mode 100644 (file)
index 268f826..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
----
-- name: set config and keys paths
-  set_fact:
-    ceph_config_keys:
-      - /etc/ceph/ceph.client.admin.keyring
-      - /etc/ceph/ceph.conf
-
-# NOTE (leseb): force version 1.1.0 because https://github.com/ansible/ansible-modules-core/issues/1227
-- name: install docker-py
-  pip: >
-    name=docker-py
-    version=1.1.0
-
-- name: stat for ceph config and keys
-  stat: >
-    path={{ item }}
-  with_items: ceph_config_keys
-  ignore_errors: true
-  register: statconfig
-
-- name: try to fetch ceph config and keys
-  copy: >
-    src=fetch/docker_mon_files/"{{ item }}"
-    dest=/etc/ceph/
-    owner=root
-    group=root
-    mode=600
-  with_together:
-    - ceph_config_keys
-    - statconfig.results
-  when: item.1.stat.exists == true
-
-- name: run the ceph rest api docker image
-  docker: >
-    image="{{ ceph_restapi_docker_username }}/{{ ceph_restapi_docker_imagename }}"
-    name={{ ansible_hostname }}-ceph-restapi
-    net=host
-    expose={{ ceph_restapi_port }}
-    state=running
-    env="RESTAPI_IP={{ hostvars[inventory_hostname]['ansible_' + ceph_restapi_docker_interface]['ipv4']['address'] }},CEPH_DAEMON=RESTAPI"
-    volumes="/etc/ceph:/etc/ceph"
-
-- name: ensure ceph rest api service is running
-  docker: >
-    image="{{ ceph_restapi_docker_username }}/{{ ceph_restapi_docker_imagename }}"
-    name="ceph-{{ ansible_hostname }}"
-    ports={{ ceph_restapi_port }}:{{ ceph_restapi_port }}
-    detach=yes
-    state=running
diff --git a/roles/ceph-restapi/tasks/docker/fetch_configs.yml b/roles/ceph-restapi/tasks/docker/fetch_configs.yml
new file mode 100644 (file)
index 0000000..962ab95
--- /dev/null
@@ -0,0 +1,26 @@
+---
+- name: set config and keys paths
+  set_fact:
+    ceph_config_keys:
+      - /etc/ceph/ceph.conf
+      - /etc/ceph/ceph.client.admin.keyring
+
+- name: stat for ceph config and keys
+  local_action: stat path={{ item }}
+  with_items: ceph_config_keys
+  changed_when: false
+  sudo: false
+  ignore_errors: true
+  register: statconfig
+
+- name: try to fetch ceph config and keys
+  copy: >
+    src=fetch/docker_mon_files/{{ item.0 }}
+    dest={{ item.0 }}
+    owner=root
+    group=root
+    mode=644
+  with_together:
+    - ceph_config_keys
+    - statconfig.results
+  when: item.1.stat.exists == true
diff --git a/roles/ceph-restapi/tasks/docker/main.yml b/roles/ceph-restapi/tasks/docker/main.yml
new file mode 100644 (file)
index 0000000..7210a3f
--- /dev/null
@@ -0,0 +1,4 @@
+---
+- include: pre_requisite.yml
+- include: fetch_configs.yml
+- include: start_docker_restapi.yml
diff --git a/roles/ceph-restapi/tasks/docker/pre_requisite.yml b/roles/ceph-restapi/tasks/docker/pre_requisite.yml
new file mode 100644 (file)
index 0000000..61ee101
--- /dev/null
@@ -0,0 +1,6 @@
+---
+# NOTE (leseb): for version 1.1.0 because https://github.com/ansible/ansible-modules-core/issues/1227
+- name: install docker-py
+  pip: >
+    name=docker-py
+    version=1.1.0
diff --git a/roles/ceph-restapi/tasks/docker/start_docker_restapi.yml b/roles/ceph-restapi/tasks/docker/start_docker_restapi.yml
new file mode 100644 (file)
index 0000000..8cd470b
--- /dev/null
@@ -0,0 +1,10 @@
+---
+- name: run the ceph rest api docker image
+  docker: >
+    image="{{ ceph_restapi_docker_username }}/{{ ceph_restapi_docker_imagename }}"
+    name={{ ansible_hostname }}-ceph-restapi
+    net=host
+    expose={{ ceph_restapi_port }}
+    state=running
+    env="RESTAPI_IP={{ hostvars[inventory_hostname]['ansible_' + ceph_restapi_docker_interface]['ipv4']['address'] }},CEPH_DAEMON=RESTAPI,{{ ceph_restapi_docker_extra_env }}"
+    volumes="/etc/ceph:/etc/ceph"
index 68ae0ca80e27a0126ce3c264c9423341686f6c25..b5d15d6946b93e22930920b9720a12a9d4d3ff0b 100644 (file)
@@ -5,5 +5,5 @@
 - include: start_restapi.yml
   when: not ceph_containerized_deployment
 
-- include: docker.yml
+- include: ./docker/main.yml
   when: ceph_containerized_deployment