]> git.apps.os.sepia.ceph.com Git - ceph-ansible.git/commitdiff
mon: add support for erasure code pool
authorSébastien Han <seb@redhat.com>
Tue, 6 Mar 2018 13:26:53 +0000 (14:26 +0100)
committerGuillaume Abrioux <gabrioux@redhat.com>
Wed, 14 Mar 2018 13:22:00 +0000 (14:22 +0100)
You can now specify type: erasure and   erasure_profile to use when
declaring the pool dictionnary.

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

index 970879494da655d1137799a918665242e8a65c70..5a68eec44fa5349df1dce0c61d950bbb466c737b 100644 (file)
@@ -87,39 +87,44 @@ dummy:
 #############
 #openstack_config: false
 #openstack_glance_pool:
-#  name: images
+#  name: "images"
 #  pg_num: "{{ osd_pool_default_pg_num }}"
 #  pgp_num: "{{ osd_pool_default_pg_num }}"
-#  type: replicated
-#  rule_name: "0"
+#  rule_name: "replicated_rule"
+#  type: "replicated"
+#  erasure_profile: ""
 #  size: ""
 #openstack_cinder_pool:
-#  name: volumes
+#  name: "volumes"
 #  pg_num: "{{ osd_pool_default_pg_num }}"
 #  pgp_num: "{{ osd_pool_default_pg_num }}"
-#  type: replicated
-#  rule_name: "0"
+#  rule_name: "replicated_rule"
+#  type: "replicated"
+#  erasure_profile: ""
 #  size: ""
 #openstack_nova_pool:
-#  name: vms
+#  name: "vms"
 #  pg_num: "{{ osd_pool_default_pg_num }}"
 #  pgp_num: "{{ osd_pool_default_pg_num }}"
-#  type: replicated
-#  rule_name: "0"
+#  rule_name: "replicated_rule"
+#  type: "replicated"
+#  erasure_profile: ""
 #  size: ""
 #openstack_cinder_backup_pool:
-#  name: backups
+#  name: "backups"
 #  pg_num: "{{ osd_pool_default_pg_num }}"
 #  pgp_num: "{{ osd_pool_default_pg_num }}"
-#  type: replicated
-#  rule_name: "0"
+#  rule_name: "replicated_rule"
+#  type: "replicated"
+#  erasure_profile: ""
 #  size: ""
 #openstack_gnocchi_pool:
-#  name: metrics
+#  name: "metrics"
 #  pg_num: "{{ osd_pool_default_pg_num }}"
 #  pgp_num: "{{ osd_pool_default_pg_num }}"
-#  type: replicated
-#  rule_name: "0"
+#  rule_name: "replicated_rule"
+#  type: "replicated"
+#  erasure_profile: ""
 #  size: ""
 
 #openstack_pools:
index 271f2b8e0560af03d29c6ce901c85d7ae5f95526..3b08eb15e0fdc5e12ea51ca176e74eb1dbb7911d 100644 (file)
@@ -79,39 +79,44 @@ create_crush_tree: false
 #############
 openstack_config: false
 openstack_glance_pool:
-  name: images
+  name: "images"
   pg_num: "{{ osd_pool_default_pg_num }}"
   pgp_num: "{{ osd_pool_default_pg_num }}"
-  type: replicated
-  rule_name: "0"
+  rule_name: "replicated_rule"
+  type: "replicated"
+  erasure_profile: ""
   size: ""
 openstack_cinder_pool:
-  name: volumes
+  name: "volumes"
   pg_num: "{{ osd_pool_default_pg_num }}"
   pgp_num: "{{ osd_pool_default_pg_num }}"
-  type: replicated
-  rule_name: "0"
+  rule_name: "replicated_rule"
+  type: "replicated"
+  erasure_profile: ""
   size: ""
 openstack_nova_pool:
-  name: vms
+  name: "vms"
   pg_num: "{{ osd_pool_default_pg_num }}"
   pgp_num: "{{ osd_pool_default_pg_num }}"
-  type: replicated
-  rule_name: "0"
+  rule_name: "replicated_rule"
+  type: "replicated"
+  erasure_profile: ""
   size: ""
 openstack_cinder_backup_pool:
-  name: backups
+  name: "backups"
   pg_num: "{{ osd_pool_default_pg_num }}"
   pgp_num: "{{ osd_pool_default_pg_num }}"
-  type: replicated
-  rule_name: "0"
+  rule_name: "replicated_rule"
+  type: "replicated"
+  erasure_profile: ""
   size: ""
 openstack_gnocchi_pool:
-  name: metrics
+  name: "metrics"
   pg_num: "{{ osd_pool_default_pg_num }}"
   pgp_num: "{{ osd_pool_default_pg_num }}"
-  type: replicated
-  rule_name: "0"
+  rule_name: "replicated_rule"
+  type: "replicated"
+  erasure_profile: ""
   size: ""
 
 openstack_pools:
index 209670f9190c9ee2d45eae2057a805f14ad77149..1e5e51c92967618151c17de153b00b293633d874 100644 (file)
@@ -1,13 +1,16 @@
 ---
 - name: create openstack pool(s)
   command: >
-    "{{ docker_exec_cmd }} ceph --cluster {{ cluster }}
+    {{ docker_exec_cmd }} ceph --cluster {{ cluster }}
     osd pool create {{ item.name }}
     {{ item.pg_num }}
     {{ item.pgp_num | default(item.pg_num) }}
-    {{ item.rule_name|default("0") }}
-    {{ item.type|default("replicated") }}
-    {{ item.size|default('') }}"
+    {{ 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: "{{ openstack_pools | unique }}"
   changed_when: false
 
index 0bfe7f3cc97b21c6318bd1a7768cae2da659e77b..48c814b62f21c73b294abbb4de0ba5bf3d690b66 100644 (file)
@@ -18,7 +18,6 @@ osd_scenario: non-collocated
 os_tuning_params:
   - { name: fs.file-max, value: 26234859 }
 user_config: True
-openstack_config: True
 ceph_conf_overrides:
   global:
     osd_pool_default_size: 1
index d4d1d4334fb4fbea6b8155c44c5f2948b7176681..bf6adf85db57fb272f1c9e797de1c50fa8db9c77 100644 (file)
@@ -12,3 +12,24 @@ crush_rule_hdd:
   default: true
 crush_rules:
   - "{{ crush_rule_hdd }}"
+
+openstack_config: True
+openstack_glance_pool:
+  name: "images"
+  pg_num: "{{ osd_pool_default_pg_num }}"
+  pgp_num: "{{ osd_pool_default_pg_num }}"
+  rule_name: "HDD"
+  type: "replicated"
+  erasure_profile: ""
+  size: ""
+openstack_cinder_pool:
+  name: "volumes"
+  pg_num: "{{ osd_pool_default_pg_num }}"
+  pgp_num: "{{ osd_pool_default_pg_num }}"
+  rule_name: "HDD"
+  type: "replicated"
+  erasure_profile: ""
+  size: ""
+openstack_pools:
+  - "{{ openstack_glance_pool }}"
+  - "{{ openstack_cinder_pool }}"
index 35ed0c3749e1b09ac780bcab4162d037a2ef8391..9575fa4352cbced1f30009792ea12fae6bb3eb4f 100644 (file)
@@ -30,4 +30,3 @@ 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: [] }
-openstack_config: True
index d4d1d4334fb4fbea6b8155c44c5f2948b7176681..bf6adf85db57fb272f1c9e797de1c50fa8db9c77 100644 (file)
@@ -12,3 +12,24 @@ crush_rule_hdd:
   default: true
 crush_rules:
   - "{{ crush_rule_hdd }}"
+
+openstack_config: True
+openstack_glance_pool:
+  name: "images"
+  pg_num: "{{ osd_pool_default_pg_num }}"
+  pgp_num: "{{ osd_pool_default_pg_num }}"
+  rule_name: "HDD"
+  type: "replicated"
+  erasure_profile: ""
+  size: ""
+openstack_cinder_pool:
+  name: "volumes"
+  pg_num: "{{ osd_pool_default_pg_num }}"
+  pgp_num: "{{ osd_pool_default_pg_num }}"
+  rule_name: "HDD"
+  type: "replicated"
+  erasure_profile: ""
+  size: ""
+openstack_pools:
+  - "{{ openstack_glance_pool }}"
+  - "{{ openstack_cinder_pool }}"