]> git.apps.os.sepia.ceph.com Git - ceph-ansible.git/commitdiff
Allow CephFS pool to be created with specific rule_name, erasure_profile just like...
authorRadu Toader <radu.m.toader@gmail.com>
Thu, 18 Apr 2019 19:12:55 +0000 (22:12 +0300)
committermergify[bot] <mergify[bot]@users.noreply.github.com>
Sat, 20 Apr 2019 06:40:08 +0000 (06:40 +0000)
Signed-off-by: Radu Toader <radu.m.toader@gmail.com>
(cherry picked from commit b2f242660edc63eece5f2dd2eaefb187c4b425a2)

group_vars/all.yml.sample
group_vars/rhcs.yml.sample
roles/ceph-defaults/defaults/main.yml
roles/ceph-mds/tasks/create_mds_filesystems.yml

index 99e4e4b2110ae28c8e9de3898f49cea7a5f2a810..c67993d3416c4b0afe1141bd7cf7e41b0ede6d61 100644 (file)
@@ -350,9 +350,24 @@ dummy:
 #cephfs_data: cephfs_data # name of the data pool for a given filesystem
 #cephfs_metadata: cephfs_metadata # name of the metadata pool for a given filesystem
 
+#cephfs_data_pool:
+#  name: "{{ cephfs_data }}"
+#  pgs: "{{ osd_pool_default_pg_num }}"
+#  size: "{{ osd_pool_default_size }}"
+#  min_size: "{{ osd_pool_default_min_size }}"
+#  rule_name: "replicated_rule"
+#
+#cephfs_metadata_pool:
+#  name: "{{ cephfs_metadata }}"
+#  pgs: "{{ osd_pool_default_pg_num }}"
+#  size: "{{ osd_pool_default_size }}"
+#  min_size: "{{ osd_pool_default_min_size }}"
+#  rule_name: "replicated_rule"
+#
+#
 #cephfs_pools:
-#  - { name: "{{ cephfs_data }}", pgs: "{{ osd_pool_default_pg_num }}", size: "{{ osd_pool_default_size }}", min_size: "{{ osd_pool_default_min_size }}"}
-#  - { name: "{{ cephfs_metadata }}", pgs: "{{ osd_pool_default_pg_num }}", size: "{{ osd_pool_default_size }}", min_size: "{{ osd_pool_default_min_size }}"}
+#  - "{{ cephfs_data_pool }}"
+#  - "{{ cephfs_metadata_pool }}"
 
 ## OSD options
 #
index 4dce4ae3fe60caf4ffaf43c9c8706e45db1cb5a5..233e75e42fda96b080530d87f9e9fe4aaaa3028c 100644 (file)
@@ -350,9 +350,24 @@ ceph_rhcs_version: 3
 #cephfs_data: cephfs_data # name of the data pool for a given filesystem
 #cephfs_metadata: cephfs_metadata # name of the metadata pool for a given filesystem
 
+#cephfs_data_pool:
+#  name: "{{ cephfs_data }}"
+#  pgs: "{{ osd_pool_default_pg_num }}"
+#  size: "{{ osd_pool_default_size }}"
+#  min_size: "{{ osd_pool_default_min_size }}"
+#  rule_name: "replicated_rule"
+#
+#cephfs_metadata_pool:
+#  name: "{{ cephfs_metadata }}"
+#  pgs: "{{ osd_pool_default_pg_num }}"
+#  size: "{{ osd_pool_default_size }}"
+#  min_size: "{{ osd_pool_default_min_size }}"
+#  rule_name: "replicated_rule"
+#
+#
 #cephfs_pools:
-#  - { name: "{{ cephfs_data }}", pgs: "{{ osd_pool_default_pg_num }}", size: "{{ osd_pool_default_size }}", min_size: "{{ osd_pool_default_min_size }}"}
-#  - { name: "{{ cephfs_metadata }}", pgs: "{{ osd_pool_default_pg_num }}", size: "{{ osd_pool_default_size }}", min_size: "{{ osd_pool_default_min_size }}"}
+#  - "{{ cephfs_data_pool }}"
+#  - "{{ cephfs_metadata_pool }}"
 
 ## OSD options
 #
index 042e5549137842e6babc429d29c44f1e88fa6908..9b66021f88fe76de3857f65eb0be9332d67dd6ba 100644 (file)
@@ -342,9 +342,24 @@ cephfs: cephfs # name of the ceph filesystem
 cephfs_data: cephfs_data # name of the data pool for a given filesystem
 cephfs_metadata: cephfs_metadata # name of the metadata pool for a given filesystem
 
+cephfs_data_pool:
+  name: "{{ cephfs_data }}"
+  pgs: "{{ osd_pool_default_pg_num }}"
+  size: "{{ osd_pool_default_size }}"
+  min_size: "{{ osd_pool_default_min_size }}"
+  rule_name: "replicated_rule"
+
+cephfs_metadata_pool:
+  name: "{{ cephfs_metadata }}"
+  pgs: "{{ osd_pool_default_pg_num }}"
+  size: "{{ osd_pool_default_size }}"
+  min_size: "{{ osd_pool_default_min_size }}"
+  rule_name: "replicated_rule"
+
+
 cephfs_pools:
-  - { name: "{{ cephfs_data }}", pgs: "{{ osd_pool_default_pg_num }}", size: "{{ osd_pool_default_size }}", min_size: "{{ osd_pool_default_min_size }}"}
-  - { name: "{{ cephfs_metadata }}", pgs: "{{ osd_pool_default_pg_num }}", size: "{{ osd_pool_default_size }}", min_size: "{{ osd_pool_default_min_size }}"}
+  - "{{ cephfs_data_pool }}"
+  - "{{ cephfs_metadata_pool }}"
 
 ## OSD options
 #
index 63dd56a1d8478fd2c93d06d4719b3dd428e43bac..8e0aa2c6facd86d76a5f3d3891619226e889491f 100644 (file)
   delegate_to: "{{ groups[mon_group_name][0] }}"
   block:
     - name: create filesystem pools
-      command: "{{ docker_exec_cmd | default('') }} ceph --cluster {{ cluster }} osd pool create {{ item.name }} {{ item.pgs | default(osd_pool_default_pg_num) }}"
+      command: >
+        {{ hostvars[groups[mon_group_name][0]]['docker_exec_cmd'] | default('') }} ceph --cluster {{ cluster }}
+        osd pool create {{ item.name }}
+        {{ item.pg_num | default(item.pgs) | default(osd_pool_default_pg_num) }}
+        {{ item.pgp_num | default(item.pgs) | default(item.pg_num) | default(osd_pool_default_pg_num) }}
+        {{ 'replicated_rule' if not item.rule_name | default('replicated_rule') else item.rule_name | default('replicated_rule') }}
+        {{ 1 if item.type|default(1) == 'replicated' else 3 if item.type|default(1) == 'erasure' else item.type|default(1) }}
+        {%- if (item.type | default("1") == '3' or item.type | default("1") == 'erasure') and item.erasure_profile != '' %}
+        {{ item.erasure_profile }}
+        {%- endif %}
+        {{ item.expected_num_objects | default('') }}
       changed_when: false
-      with_items: "{{ cephfs_pools }}"
+      with_items:
+        - "{{ cephfs_pools }}"
 
     - name: customize pool size
       command: "{{ docker_exec_cmd | default('') }} ceph --cluster {{ cluster }} osd pool set {{ item.name }} size {{ item.size | default(osd_pool_default_size) }}"