]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-ansible.git/commitdiff
rgw: refact rgw pools creation
authorGuillaume Abrioux <gabrioux@redhat.com>
Fri, 1 Jun 2018 15:33:54 +0000 (17:33 +0200)
committerSébastien Han <seb@redhat.com>
Wed, 6 Jun 2018 03:30:29 +0000 (11:30 +0800)
Refact of 8704144e3157aa253fb7563fe701d9d434bf2f3e
There is no need to have duplicated tasks for this. The rgw pools
creation should be delegated on a monitor node se we don't have to care
if the admin keyring is present on rgw node.
By the way, only one task is needed to create the pools, we just need to
use the `docker_exec_cmd` fact already defined in `ceph-defaults` to
achieve it.

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1550281
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
(cherry picked from commit 2cf06b515f3e173aa3720cf28e4149149d881941)

roles/ceph-rgw/tasks/docker/main.yml
roles/ceph-rgw/tasks/docker/rgw_pool_pgs.yml [deleted file]
roles/ceph-rgw/tasks/main.yml
roles/ceph-rgw/tasks/rgw_pool_pgs.yml [deleted file]
tests/functional/centos/7/docker-collocation/group_vars/rgws
tests/functional/centos/7/ooo-collocation/hosts

index 23daceade7dd3549468d9d52a57b4caccd61df64..4850e4b7c792d1aa60d09816af6b6c74bf5ff3f8 100644 (file)
@@ -6,8 +6,3 @@
 
 - name: include start_docker_rgw.yml
   include: start_docker_rgw.yml
-
-- name: include rgw_pool_pgs.yml
-  include: rgw_pool_pgs.yml
-  when:
-    - rgw_create_pools is defined
diff --git a/roles/ceph-rgw/tasks/docker/rgw_pool_pgs.yml b/roles/ceph-rgw/tasks/docker/rgw_pool_pgs.yml
deleted file mode 100644 (file)
index d2e8fee..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
----
-# If admin key has been copied to the RGWs, we can run the command from them.
-- name: create rgw pools if rgw_create_pools is defined
-  command: "{{ docker_exec_cmd }} ceph --connect-timeout 5 --cluster {{ cluster }} osd pool create {{ item.key }} {{ item.value.pg_num }}"
-  changed_when: false
-  run_once: true
-  with_dict: "{{ rgw_create_pools }}"
-  when:
-    - copy_admin_key
-
-# If no admin key has been copied to the RGWs, we have to run the command from the first monitor.
-- name: set_fact docker_exec_mon_cmd
-  set_fact:
-    docker_exec_mon_cmd: "docker exec ceph-mon-{{ hostvars[groups.get(mon_group_name)[0]]['ansible_hostname'] }}"
-  when:
-    - not copy_admin_key
-
-# If no admin key has been copied to the RGWs, we have to run the command from the first monitor.
-- name: create rgw pools if rgw_create_pools is defined, delegated to first monitor
-  command: "{{ docker_exec_mon_cmd }} ceph --connect-timeout 5 --cluster {{ cluster }} osd pool create {{ item.key }} {{ item.value.pg_num }}"
-  changed_when: false
-  run_once: true
-  delegate_to: "{{ groups[mon_group_name][0] }}"
-  with_dict: "{{ rgw_create_pools }}"
-  when:
-    - not copy_admin_key
index 85a3400b09fc0e968ef66338d4f9596877035f55..5641407ba2e984ff078b51a7ded470f0b6625c4b 100644 (file)
@@ -1,10 +1,4 @@
 ---
-- name: set_fact docker_exec_cmd
-  set_fact:
-    docker_exec_cmd: "docker exec ceph-rgw-{{ ansible_hostname }}"
-  when:
-    - containerized_deployment
-
 - name: include common.yml
   include: common.yml
 
   # Hard code this so we will skip the entire file instead of individual tasks (Default isn't Consistent)
   static: False
 
-- name: include rgw_pool_pgs.yml
-  include: rgw_pool_pgs.yml
-  when:
-    - rgw_create_pools is defined
-    - not containerized_deployment
-  static: False 
-    
 - name: include multisite/main.yml
   include: multisite/main.yml
   when:
     - containerized_deployment
   # Hard code this so we will skip the entire file instead of individual tasks (Default isn't Consistent)
   static: False
+
+- name: create rgw pools if rgw_create_pools is defined
+  command: "{{ docker_exec_cmd }} ceph --connect-timeout 5 --cluster {{ cluster }} osd pool create {{ item.key }} {{ item.value.pg_num }}"
+  changed_when: false
+  with_dict: "{{ rgw_create_pools }}"
+  delegate_to: "{{ groups[mon_group_name][0] }}"
+  run_once: true
+  when:
+    - rgw_create_pools is defined
diff --git a/roles/ceph-rgw/tasks/rgw_pool_pgs.yml b/roles/ceph-rgw/tasks/rgw_pool_pgs.yml
deleted file mode 100644 (file)
index 41074b6..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
----
-- name: create rgw pools if rgw_create_pools is defined
-  command: ceph --connect-timeout 5 --cluster {{ cluster }} osd pool create {{ item.key }} {{ item.value.pg_num }}
-  changed_when: false
-  run_once: true
-  with_dict: "{{ rgw_create_pools }}"
-  when:
-    - not containerized_deployment
-
-# On first monitor.
-- name: set_fact docker_exec_rgw_cmd
-  set_fact:
-    docker_exec_rgw_cmd: "docker exec ceph-mon-{{ hostvars[groups.get(mon_group_name)[0]]['ansible_hostname'] }}"
-  when:
-    - containerized_deployment
-
-- name: create rgw pools if rgw_create_pools is defined
-  command: "{{ docker_exec_rgw_cmd }} ceph --connect-timeout 5 --cluster {{ cluster }} osd pool create {{ item.key }} {{ item.value.pg_num }}"
-  changed_when: false
-  run_once: true
-  with_dict: "{{ rgw_create_pools }}"
-  delegate_to: "{{ groups[mon_group_name][0] }}"
-  when:
-    - containerized_deployment
index 53dd034b1b7bb8678c4dd697cc428e4e6d96ab96..265d18208cb4839e8e3e9c5ae7fedb6e4165a44e 100644 (file)
@@ -3,4 +3,4 @@ rgw_create_pools:
   foo:
     pg_num: 17
   bar:
-    pg_num: 19
+    pg_num: 19
\ No newline at end of file
index afffc37461fb1f7e34fc75328d580a22324aa4d3..b1271e1b7caf8196e1242b9cef21dfe216a2f73f 100644 (file)
@@ -67,6 +67,11 @@ all:
     radosgw_keystone_ssl: false
     user_config: true
     copy_admin_key: true
+    rgw_create_pools:
+      foo:
+        pg_num: 17
+      bar:
+        pg_num: 19
 clients:
   hosts:
     client0: {}