106 lines
3.4 KiB
YAML
106 lines
3.4 KiB
YAML
---
|
|
- import_role:
|
|
name: service-precheck
|
|
vars:
|
|
service_precheck_services: "{{ cinder_services }}"
|
|
service_name: "{{ project_name }}"
|
|
|
|
- name: Get container facts
|
|
become: true
|
|
kolla_container_facts:
|
|
action: get_containers
|
|
container_engine: "{{ kolla_container_engine }}"
|
|
name:
|
|
- cinder_api
|
|
check_mode: false
|
|
register: container_facts
|
|
|
|
- name: Checking free port for Cinder API
|
|
wait_for:
|
|
host: "{{ api_interface_address }}"
|
|
port: "{{ cinder_api_listen_port }}"
|
|
connect_timeout: 1
|
|
timeout: 1
|
|
state: stopped
|
|
when:
|
|
- container_facts.containers['cinder_api'] is not defined
|
|
- inventory_hostname in groups['cinder-api']
|
|
|
|
- name: Checking at least one valid backend is enabled for Cinder
|
|
run_once: True
|
|
fail:
|
|
msg: "Please enable at least one backend when enabling Cinder"
|
|
when:
|
|
- not skip_cinder_backend_check | bool
|
|
- not enable_cinder_backend_iscsi | bool
|
|
- not enable_cinder_backend_lvm | bool
|
|
- not enable_cinder_backend_nfs | bool
|
|
- not cinder_backend_ceph | bool
|
|
- not cinder_backend_vmwarevc_vmdk | bool
|
|
- not cinder_backend_vmware_vstorage_object | bool
|
|
- not enable_cinder_backend_quobyte | bool
|
|
- not enable_cinder_backend_pure_iscsi | bool
|
|
- not enable_cinder_backend_pure_fc | bool
|
|
- not enable_cinder_backend_pure_roce | bool
|
|
- not enable_cinder_backend_pure_nvme_tcp | bool
|
|
- not enable_cinder_backend_lightbits | bool
|
|
|
|
- name: Checking LVM volume group exists for Cinder
|
|
become: true
|
|
command: "vgs {{ cinder_volume_group }}"
|
|
register: result
|
|
changed_when: false
|
|
failed_when: result is failed
|
|
check_mode: false
|
|
when:
|
|
- enable_cinder | bool
|
|
- enable_cinder_backend_lvm | bool
|
|
- inventory_hostname in groups['cinder-volume']
|
|
|
|
- name: Check if S3 configurations are defined
|
|
assert:
|
|
that:
|
|
- vars[item] is defined
|
|
msg: "Cinder backup S3 backend is enabled, either the {{ item }} or {{ item | replace('cinder_backup_', '') }} variable must be defined."
|
|
with_items:
|
|
- cinder_backup_s3_url
|
|
- cinder_backup_s3_bucket
|
|
- cinder_backup_s3_access_key
|
|
- cinder_backup_s3_secret_key
|
|
when: cinder_backup_driver == "s3"
|
|
|
|
- name: Check if Lightbits configurations are defined
|
|
assert:
|
|
that:
|
|
- vars[item] is defined
|
|
msg: "Cinder Lightbits backend is enabled, the {{ item }} variable must be defined."
|
|
with_items:
|
|
- lightos_api_address
|
|
- lightos_jwt
|
|
when: enable_cinder_backend_lightbits == "yes"
|
|
|
|
- name: Check if cinder_cluster_name is configured for HA configurations
|
|
assert:
|
|
that:
|
|
- cinder_cluster_name != ""
|
|
msg: |
|
|
Multiple cinder-volume instances detected but cinder_cluster_name is not set- please see
|
|
https://docs.openstack.org/kolla-ansible/latest/reference/storage/cinder-guide.html#ha
|
|
for guidance.
|
|
when:
|
|
- not cinder_cluster_skip_precheck
|
|
- groups['cinder-volume'] | length > 1
|
|
|
|
- name: Check if cinder_cluster_name is configured and configuration is non-HA
|
|
assert:
|
|
that:
|
|
- cinder_cluster_name == ""
|
|
msg: |
|
|
Single cinder-volume instance detected but cinder_cluster_name is set (cluster
|
|
configuration will not be applied) - please see
|
|
https://docs.openstack.org/kolla-ansible/latest/reference/storage/cinder-guide.html#ha
|
|
for guidance.
|
|
when:
|
|
- not cinder_cluster_skip_precheck
|
|
- groups['cinder-volume'] | length == 1
|