Files
kolla-ansible/ansible/roles/cinder/tasks/precheck.yml
yuval 4b05fa8a5f add lightbits driver support
Change-Id: I50c5a1443c5d2012388debed20b96274bc69e7e7
2025-03-12 16:17:22 +02:00

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