ceph-ansible/roles/ceph-osd/tasks/check_mandatory_vars.yml

99 lines
3.2 KiB
YAML

---
- name: make sure public_network configured
fail:
msg: "public_network must be configured. Ceph public network"
when: public_network == '0.0.0.0/0'
- name: make sure cluster_network configured
fail:
msg: "cluster_network must be configured. Ceph replication network"
when:
- cluster_network == '0.0.0.0/0'
- not containerized_deployment
- name: make sure journal_size configured
debug:
msg: "WARNING: journal_size is configured to less than 5GB. This is not recommended and can lead to severe issues."
when:
- journal_size|int < 5120
- osd_objectstore == 'filestore'
- osd_group_name in group_names
- name: make sure an osd scenario was chosen
fail:
msg: "please choose an osd scenario"
when:
- osd_group_name is defined
- osd_group_name in group_names
- not containerized_deployment
- not journal_collocation
- not raw_multi_journal
- not dmcrypt_journal_collocation
- not dmcrypt_dedicated_journal
- name: verify only one osd scenario was chosen
fail:
msg: "please select only one osd scenario"
when:
- osd_group_name is defined
- osd_group_name in group_names
- not containerized_deployment
- (journal_collocation and raw_multi_journal)
or (dmcrypt_journal_collocation and journal_collocation)
or (dmcrypt_journal_collocation and raw_multi_journal)
or (dmcrypt_dedicated_journal and journal_collocation)
or (dmcrypt_dedicated_journal and raw_multi_journal)
or (dmcrypt_dedicated_journal and dmcrypt_journal_collocation)
- name: verify devices have been provided
fail:
msg: "please provide devices to your osd scenario"
when:
- osd_group_name is defined
- osd_group_name in group_names
- (journal_collocation or containerized_deployment)
- not osd_auto_discovery
- devices|length == 0
- name: make sure the devices variable is a list
fail:
msg: "devices: must be a list, not a string, i.e. [ \"/dev/sda\" ]"
when:
- osd_group_name is defined
- osd_group_name in group_names
- not osd_auto_discovery
- devices is string
- name: verify journal devices have been provided
fail:
msg: "please provide devices and raw journal devices to your osd scenario"
when:
- osd_group_name is defined
- osd_group_name in group_names
- not containerized_deployment
- raw_multi_journal
- raw_journal_devices|length == 0
or devices|length == 0
- name: make sure the raw_journal_devices variable is a list
fail:
msg: "raw_journal_devices: must be a list, not a string, i.e. [ \"/dev/sda\" ]"
when:
- osd_group_name is defined
- osd_group_name in group_names
- not containerized_deployment
- raw_multi_journal
- raw_journal_devices is string
- raw_journal_devices|length == 0
or devices|length == 0
- name: check if bluestore is supported by the selected ceph version
fail:
msg: "bluestore is not supported by the selected Ceph version, use Luminous or above."
when:
- osd_group_name is defined
- osd_group_name in group_names
- not containerized_deployment
- osd_objectstore == 'bluestore'
- ceph_release_num.{{ ceph_release }} < ceph_release_num.luminous