mirror of https://github.com/ceph/ceph-ansible.git
mds: precisely define cephfs pool
We now have a variable called ceph_pools that is mandatory when deploying a MDS. It's a dictionnary that contains a pool name and a PG count. PG count is mandatory and must be set, the playbook will fail otherwise. Closes: https://github.com/ceph/ceph-ansible/issues/2017 Signed-off-by: Sébastien Han <seb@redhat.com>pull/2036/head
parent
002b0341d0
commit
b49f9bda21
|
@ -12,18 +12,12 @@ dummy:
|
||||||
###########
|
###########
|
||||||
# GENERAL #
|
# GENERAL #
|
||||||
###########
|
###########
|
||||||
|
|
||||||
#mon_group_name: mons
|
#mon_group_name: mons
|
||||||
|
|
||||||
# ACTIVATE BOTH FSID AND MONITOR_SECRET VARIABLES FOR NON-VAGRANT DEPLOYMENT
|
# ACTIVATE BOTH FSID AND MONITOR_SECRET VARIABLES FOR NON-VAGRANT DEPLOYMENT
|
||||||
#monitor_secret: "{{ monitor_keyring.stdout }}"
|
#monitor_secret: "{{ monitor_keyring.stdout }}"
|
||||||
#admin_secret: 'admin_secret'
|
#admin_secret: 'admin_secret'
|
||||||
|
|
||||||
# CephFS
|
|
||||||
#cephfs_data: cephfs_data
|
|
||||||
#cephfs_metadata: cephfs_metadata
|
|
||||||
#cephfs: cephfs
|
|
||||||
|
|
||||||
# Secure your cluster
|
# Secure your cluster
|
||||||
# This will set the following flags on all the pools:
|
# This will set the following flags on all the pools:
|
||||||
# * nosizechange
|
# * nosizechange
|
||||||
|
@ -43,9 +37,21 @@ dummy:
|
||||||
#calamari_debug: false
|
#calamari_debug: false
|
||||||
|
|
||||||
|
|
||||||
#############
|
##########
|
||||||
# crush rules
|
# CEPHFS #
|
||||||
#############
|
##########
|
||||||
|
#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_pools:
|
||||||
|
# - { name: "{{ cephfs_data }}", pgs: "" }
|
||||||
|
# - { name: "{{ cephfs_metadata }}", pgs: "" }
|
||||||
|
|
||||||
|
|
||||||
|
###############
|
||||||
|
# CRUSH RULES #
|
||||||
|
###############
|
||||||
#crush_rule_config: false
|
#crush_rule_config: false
|
||||||
|
|
||||||
#crush_rule_hdd:
|
#crush_rule_hdd:
|
||||||
|
@ -63,10 +69,11 @@ dummy:
|
||||||
#crush_rules:
|
#crush_rules:
|
||||||
# - "{{ crush_rule_hdd }}"
|
# - "{{ crush_rule_hdd }}"
|
||||||
# - "{{ crush_rule_ssd }}"
|
# - "{{ crush_rule_ssd }}"
|
||||||
|
|
||||||
|
|
||||||
#############
|
#############
|
||||||
# OPENSTACK #
|
# OPENSTACK #
|
||||||
#############
|
#############
|
||||||
|
|
||||||
#openstack_config: false
|
#openstack_config: false
|
||||||
#openstack_glance_pool:
|
#openstack_glance_pool:
|
||||||
# name: images
|
# name: images
|
||||||
|
@ -110,6 +117,7 @@ dummy:
|
||||||
# - { name: client.gnocchi, key: "$(ceph-authtool --gen-print-key)", mon_cap: "allow r", osd_cap: "allow class-read object_prefix rbd_children, allow rwx pool={{ openstack_gnocchi_pool.name }}", mode: "0600", acls: [] }
|
# - { name: client.gnocchi, key: "$(ceph-authtool --gen-print-key)", mon_cap: "allow r", osd_cap: "allow class-read object_prefix rbd_children, allow rwx pool={{ openstack_gnocchi_pool.name }}", mode: "0600", acls: [] }
|
||||||
# - { name: client.openstack, key: "$(ceph-authtool --gen-print-key)", mon_cap: "allow r", osd_cap: "allow class-read object_prefix rbd_children, allow rwx pool=images, allow rwx pool=vms, allow rwx pool=volumes, allow rwx pool=backups", mode: "0600", acls: [] }
|
# - { name: client.openstack, key: "$(ceph-authtool --gen-print-key)", mon_cap: "allow r", osd_cap: "allow class-read object_prefix rbd_children, allow rwx pool=images, allow rwx pool=vms, allow rwx pool=volumes, allow rwx pool=backups", mode: "0600", acls: [] }
|
||||||
|
|
||||||
|
|
||||||
##########
|
##########
|
||||||
# DOCKER #
|
# DOCKER #
|
||||||
##########
|
##########
|
||||||
|
|
|
@ -4,18 +4,12 @@
|
||||||
###########
|
###########
|
||||||
# GENERAL #
|
# GENERAL #
|
||||||
###########
|
###########
|
||||||
|
|
||||||
mon_group_name: mons
|
mon_group_name: mons
|
||||||
|
|
||||||
# ACTIVATE BOTH FSID AND MONITOR_SECRET VARIABLES FOR NON-VAGRANT DEPLOYMENT
|
# ACTIVATE BOTH FSID AND MONITOR_SECRET VARIABLES FOR NON-VAGRANT DEPLOYMENT
|
||||||
monitor_secret: "{{ monitor_keyring.stdout }}"
|
monitor_secret: "{{ monitor_keyring.stdout }}"
|
||||||
admin_secret: 'admin_secret'
|
admin_secret: 'admin_secret'
|
||||||
|
|
||||||
# CephFS
|
|
||||||
cephfs_data: cephfs_data
|
|
||||||
cephfs_metadata: cephfs_metadata
|
|
||||||
cephfs: cephfs
|
|
||||||
|
|
||||||
# Secure your cluster
|
# Secure your cluster
|
||||||
# This will set the following flags on all the pools:
|
# This will set the following flags on all the pools:
|
||||||
# * nosizechange
|
# * nosizechange
|
||||||
|
@ -35,9 +29,21 @@ calamari: false
|
||||||
calamari_debug: false
|
calamari_debug: false
|
||||||
|
|
||||||
|
|
||||||
#############
|
##########
|
||||||
# crush rules
|
# CEPHFS #
|
||||||
#############
|
##########
|
||||||
|
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_pools:
|
||||||
|
- { name: "{{ cephfs_data }}", pgs: "" }
|
||||||
|
- { name: "{{ cephfs_metadata }}", pgs: "" }
|
||||||
|
|
||||||
|
|
||||||
|
###############
|
||||||
|
# CRUSH RULES #
|
||||||
|
###############
|
||||||
crush_rule_config: false
|
crush_rule_config: false
|
||||||
|
|
||||||
crush_rule_hdd:
|
crush_rule_hdd:
|
||||||
|
@ -55,10 +61,11 @@ crush_rule_ssd:
|
||||||
crush_rules:
|
crush_rules:
|
||||||
- "{{ crush_rule_hdd }}"
|
- "{{ crush_rule_hdd }}"
|
||||||
- "{{ crush_rule_ssd }}"
|
- "{{ crush_rule_ssd }}"
|
||||||
|
|
||||||
|
|
||||||
#############
|
#############
|
||||||
# OPENSTACK #
|
# OPENSTACK #
|
||||||
#############
|
#############
|
||||||
|
|
||||||
openstack_config: false
|
openstack_config: false
|
||||||
openstack_glance_pool:
|
openstack_glance_pool:
|
||||||
name: images
|
name: images
|
||||||
|
@ -102,6 +109,7 @@ openstack_keys:
|
||||||
- { name: client.gnocchi, key: "$(ceph-authtool --gen-print-key)", mon_cap: "allow r", osd_cap: "allow class-read object_prefix rbd_children, allow rwx pool={{ openstack_gnocchi_pool.name }}", mode: "0600", acls: [] }
|
- { name: client.gnocchi, key: "$(ceph-authtool --gen-print-key)", mon_cap: "allow r", osd_cap: "allow class-read object_prefix rbd_children, allow rwx pool={{ openstack_gnocchi_pool.name }}", mode: "0600", acls: [] }
|
||||||
- { name: client.openstack, key: "$(ceph-authtool --gen-print-key)", mon_cap: "allow r", osd_cap: "allow class-read object_prefix rbd_children, allow rwx pool=images, allow rwx pool=vms, allow rwx pool=volumes, allow rwx pool=backups", mode: "0600", acls: [] }
|
- { name: client.openstack, key: "$(ceph-authtool --gen-print-key)", mon_cap: "allow r", osd_cap: "allow class-read object_prefix rbd_children, allow rwx pool=images, allow rwx pool=vms, allow rwx pool=volumes, allow rwx pool=backups", mode: "0600", acls: [] }
|
||||||
|
|
||||||
|
|
||||||
##########
|
##########
|
||||||
# DOCKER #
|
# DOCKER #
|
||||||
##########
|
##########
|
||||||
|
|
|
@ -6,3 +6,11 @@
|
||||||
- monitor_interface == 'interface'
|
- monitor_interface == 'interface'
|
||||||
- monitor_address == '0.0.0.0'
|
- monitor_address == '0.0.0.0'
|
||||||
- monitor_address_block | length == 0
|
- monitor_address_block | length == 0
|
||||||
|
|
||||||
|
- name: make sure pg num is set for cephfs pools
|
||||||
|
fail:
|
||||||
|
msg: "You must set pg num for your cephfs pools, see the cephfs_pools variable."
|
||||||
|
with_items: "{{ cephfs_pools }}"
|
||||||
|
when:
|
||||||
|
- inventory_hostname in groups.get(mds_group_name, [])
|
||||||
|
- item.pgs == ''
|
||||||
|
|
|
@ -1,14 +1,9 @@
|
||||||
---
|
---
|
||||||
# NOTE (leseb): in the present playbook the conditional is done on the task
|
|
||||||
# We don't do this in main.yml because of the 'docker' variable, when set to true
|
|
||||||
# the role 'ceph-common' doesn't get inherited so the condition can not be evaluate
|
|
||||||
# since those check are performed by the ceph-common role
|
|
||||||
- name: create filesystem pools
|
- name: create filesystem pools
|
||||||
command: "{{ docker_exec_cmd }} ceph --cluster {{ cluster }} osd pool create {{ item }} {{ osd_pool_default_pg_num }}"
|
command: "{{ docker_exec_cmd }} ceph --cluster {{ cluster }} osd pool create {{ item.name }} {{ item.pgs }}"
|
||||||
with_items:
|
|
||||||
- "{{ cephfs_data }}"
|
|
||||||
- "{{ cephfs_metadata }}"
|
|
||||||
changed_when: false
|
changed_when: false
|
||||||
|
with_items:
|
||||||
|
- "{{ cephfs_pools }}"
|
||||||
|
|
||||||
- name: check if ceph filesystem already exists
|
- name: check if ceph filesystem already exists
|
||||||
command: "{{docker_exec_cmd }} ceph --cluster {{ cluster }} fs get {{ cephfs }}"
|
command: "{{docker_exec_cmd }} ceph --cluster {{ cluster }} fs get {{ cephfs }}"
|
||||||
|
@ -19,7 +14,8 @@
|
||||||
- name: create ceph filesystem
|
- name: create ceph filesystem
|
||||||
command: "{{ docker_exec_cmd}} ceph --cluster {{ cluster }} fs new {{ cephfs }} {{ cephfs_metadata }} {{ cephfs_data }}"
|
command: "{{ docker_exec_cmd}} ceph --cluster {{ cluster }} fs new {{ cephfs }} {{ cephfs_metadata }} {{ cephfs_data }}"
|
||||||
changed_when: false
|
changed_when: false
|
||||||
when: check_existing_cephfs.rc != 0
|
when:
|
||||||
|
- check_existing_cephfs.rc != 0
|
||||||
|
|
||||||
- name: allow multimds
|
- name: allow multimds
|
||||||
command: "{{ docker_exec_cmd }} ceph --cluster {{ cluster }} fs set {{ cephfs }} allow_multimds true --yes-i-really-mean-it"
|
command: "{{ docker_exec_cmd }} ceph --cluster {{ cluster }} fs set {{ cephfs }} allow_multimds true --yes-i-really-mean-it"
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
---
|
||||||
|
cephfs_pools:
|
||||||
|
- { name: "{{ cephfs_data }}", pgs: "8" }
|
||||||
|
- { name: "{{ cephfs_metadata }}", pgs: "8" }
|
|
@ -0,0 +1,4 @@
|
||||||
|
---
|
||||||
|
cephfs_pools:
|
||||||
|
- { name: "{{ cephfs_data }}", pgs: "8" }
|
||||||
|
- { name: "{{ cephfs_metadata }}", pgs: "8" }
|
|
@ -0,0 +1,4 @@
|
||||||
|
---
|
||||||
|
cephfs_pools:
|
||||||
|
- { name: "{{ cephfs_data }}", pgs: "8" }
|
||||||
|
- { name: "{{ cephfs_metadata }}", pgs: "8" }
|
Loading…
Reference in New Issue