]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-ansible.git/commitdiff
client: implement proper pools creation
authorSébastien Han <seb@redhat.com>
Wed, 7 Mar 2018 13:50:27 +0000 (14:50 +0100)
committerGuillaume Abrioux <gabrioux@redhat.com>
Wed, 14 Mar 2018 13:22:00 +0000 (14:22 +0100)
Just like we did for the monitor and openstack_config we now have the
ability to precisely create pools.

Signed-off-by: Sébastien Han <seb@redhat.com>
group_vars/clients.yml.sample
roles/ceph-client/defaults/main.yml
roles/ceph-client/tasks/create_users_keys.yml
tests/functional/centos/7/cluster/group_vars/all
tests/functional/centos/7/docker-collocation/group_vars/all
tests/functional/centos/7/docker/group_vars/all

index 40bf811ac869cc9e1db1d31bfa71c0926ad6ed5c..aa41c1cf0e9780ecd9a11dbf03adae246585ce60 100644 (file)
@@ -14,9 +14,25 @@ dummy:
 #copy_admin_key: false
 
 #user_config: false
+#test:
+#  name: "test"
+#  pg_num: "{{ hostvars[groups[mon_group_name][0]]['osd_pool_default_pg_num'] }}"
+#  pgp_num: "{{ hostvars[groups[mon_group_name][0]]['osd_pool_default_pg_num'] }}"
+#  rule_name: "replicated_rule"
+#  type: "replicated"
+#  erasure_profile: ""
+#  size: ""
+#test2:
+#  name: "test2"
+#  pg_num: "{{ hostvars[groups[mon_group_name][0]]['osd_pool_default_pg_num'] }}"
+#  pgp_num: "{{ hostvars[groups[mon_group_name][0]]['osd_pool_default_pg_num'] }}"
+#  rule_name: "replicated_rule"
+#  type: "replicated"
+#  erasure_profile: ""
+#  size: ""
 #pools:
-#  - { name: test, pgs: "{{ hostvars[groups[mon_group_name][0]]['osd_pool_default_pg_num'] }}" }
-#  - { name: test2, pgs: "{{ hostvars[groups[mon_group_name][0]]['osd_pool_default_pg_num'] }}" }
+#  - "{{ test }}"
+#  - "{{ test2 }}"
 
 # Can add `mds_cap` attribute to override the default value which is '' for mds capabilities.
 # To have have ansible setfacl the generated key for $user, set the acls var like so:
index 0c538e5145c01d0e18f96a72e812504d7e8b573d..e588e2cad6b1659368e55012d03db72e66ad8120 100644 (file)
@@ -6,9 +6,25 @@
 copy_admin_key: false
 
 user_config: false
+test:
+  name: "test"
+  pg_num: "{{ hostvars[groups[mon_group_name][0]]['osd_pool_default_pg_num'] }}"
+  pgp_num: "{{ hostvars[groups[mon_group_name][0]]['osd_pool_default_pg_num'] }}"
+  rule_name: "replicated_rule"
+  type: "replicated"
+  erasure_profile: ""
+  size: ""
+test2:
+  name: "test2"
+  pg_num: "{{ hostvars[groups[mon_group_name][0]]['osd_pool_default_pg_num'] }}"
+  pgp_num: "{{ hostvars[groups[mon_group_name][0]]['osd_pool_default_pg_num'] }}"
+  rule_name: "replicated_rule"
+  type: "replicated"
+  erasure_profile: ""
+  size: ""
 pools:
-  - { name: test, pgs: "{{ hostvars[groups[mon_group_name][0]]['osd_pool_default_pg_num'] }}" }
-  - { name: test2, pgs: "{{ hostvars[groups[mon_group_name][0]]['osd_pool_default_pg_num'] }}" }
+  - "{{ test }}"
+  - "{{ test2 }}"
 
 # Can add `mds_cap` attribute to override the default value which is '' for mds capabilities.
 # To have have ansible setfacl the generated key for $user, set the acls var like so:
index 5fa4fe94fd8681d6303b9ac49fa4f9c629a8f4db..be3946226482dc2619ad74ce955d98f3d1542967 100644 (file)
   when:
     - copy_admin_key
 
-- name: create pools
-  command: "{{ docker_exec_client_cmd }} --cluster {{ cluster }} osd pool create {{ item.name }} {{ item.get('pgs', hostvars[groups[mon_group_name][0]]['osd_pool_default_pg_num']) }}"
+- name: create pool(s)
+  command: >
+    {{ docker_exec_client_cmd }} --cluster {{ cluster }}
+    osd pool create {{ item.name }}
+    {{ item.get('pg_num', hostvars[groups[mon_group_name][0]]['osd_pool_default_pg_num']) }}
+    {{ item.pgp_num | default(item.pg_num) }}
+    {{ item.rule_name | default("replicated_rule") }}
+    {{ item.type | default("replicated") }}
+    {%- if item.type | default("replicated") == 'erasure' and item.erasure_profile != '' %}
+    {{ item.erasure_profile }}
+    {%- endif %}
+    {{ item.size | default('') }}
   with_items: "{{ pools }}"
   changed_when: false
-  failed_when: false
   when:
     - pools | length > 0
     - copy_admin_key
index 48c814b62f21c73b294abbb4de0ba5bf3d690b66..925155a35ff53dde6cab673a135e1ac938c32095 100644 (file)
@@ -18,6 +18,25 @@ osd_scenario: non-collocated
 os_tuning_params:
   - { name: fs.file-max, value: 26234859 }
 user_config: True
+test:
+  name: "test"
+  pg_num: "{{ hostvars[groups[mon_group_name][0]]['osd_pool_default_pg_num'] }}"
+  pgp_num: "{{ hostvars[groups[mon_group_name][0]]['osd_pool_default_pg_num'] }}"
+  rule_name: "HDD"
+  type: "replicated"
+  erasure_profile: ""
+  size: ""
+test2:
+  name: "test2"
+  pg_num: "{{ hostvars[groups[mon_group_name][0]]['osd_pool_default_pg_num'] }}"
+  pgp_num: "{{ hostvars[groups[mon_group_name][0]]['osd_pool_default_pg_num'] }}"
+  rule_name: "HDD"
+  type: "replicated"
+  erasure_profile: ""
+  size: ""
+pools:
+  - "{{ test }}"
+  - "{{ test2 }}"
 ceph_conf_overrides:
   global:
     osd_pool_default_size: 1
index 42df7b7fbb6e6607b653d5f65d37d0da45c0e7e7..fb286460c28cd57d71ebbed2f06bb59be5048d16 100644 (file)
@@ -28,6 +28,22 @@ ceph_conf_overrides:
     osd_pool_default_pg_num: 8
     osd_pool_default_size: 1
 user_config: True
-keys:
-  - { name: client.test, key: "AQAin8tUoMPDGRAACcfAQHbq4eTuUoTCZdW1Uw==", mon_cap: "allow r", osd_cap: "allow class-read object_prefix rbd_children, allow rwx pool=test", mode: "0600", acls: [] }
-  - { name: client.test2, key: "AQAin8tUAJkGGhAA8WZ8Lz5c7IkT8QZ5s7bI1A==", mon_cap: "allow r", osd_cap: "allow class-read object_prefix rbd_children, allow rwx pool=test2", mode: "0600", acls: [] }
+test:
+  name: "test"
+  pg_num: "{{ hostvars[groups[mon_group_name][0]]['osd_pool_default_pg_num'] }}"
+  pgp_num: "{{ hostvars[groups[mon_group_name][0]]['osd_pool_default_pg_num'] }}"
+  rule_name: "HDD"
+  type: "replicated"
+  erasure_profile: ""
+  size: ""
+test2:
+  name: "test2"
+  pg_num: "{{ hostvars[groups[mon_group_name][0]]['osd_pool_default_pg_num'] }}"
+  pgp_num: "{{ hostvars[groups[mon_group_name][0]]['osd_pool_default_pg_num'] }}"
+  rule_name: "HDD"
+  type: "replicated"
+  erasure_profile: ""
+  size: ""
+pools:
+  - "{{ test }}"
+  - "{{ test2 }}"
index 9575fa4352cbced1f30009792ea12fae6bb3eb4f..fc8f6beceea95afb6b404c1c19796d86d278ec22 100644 (file)
@@ -27,6 +27,22 @@ ceph_conf_overrides:
   global:
     osd_pool_default_size: 1
 user_config: True
-keys:
-  - { name: client.test, key: "AQAin8tUoMPDGRAACcfAQHbq4eTuUoTCZdW1Uw==", mon_cap: "allow r", osd_cap: "allow class-read object_prefix rbd_children, allow rwx pool=test", mode: "0600", acls: [] }
-  - { name: client.test2, key: "AQAin8tUAJkGGhAA8WZ8Lz5c7IkT8QZ5s7bI1A==", mon_cap: "allow r", osd_cap: "allow class-read object_prefix rbd_children, allow rwx pool=test2", mode: "0600", acls: [] }
+test:
+  name: "test"
+  pg_num: "{{ hostvars[groups[mon_group_name][0]]['osd_pool_default_pg_num'] }}"
+  pgp_num: "{{ hostvars[groups[mon_group_name][0]]['osd_pool_default_pg_num'] }}"
+  rule_name: "HDD"
+  type: "replicated"
+  erasure_profile: ""
+  size: ""
+test2:
+  name: "test2"
+  pg_num: "{{ hostvars[groups[mon_group_name][0]]['osd_pool_default_pg_num'] }}"
+  pgp_num: "{{ hostvars[groups[mon_group_name][0]]['osd_pool_default_pg_num'] }}"
+  rule_name: "HDD"
+  type: "replicated"
+  erasure_profile: ""
+  size: ""
+pools:
+  - "{{ test }}"
+  - "{{ test2 }}"