diff --git a/ansible/group_vars/all.yml b/ansible/group_vars/all.yml index 1a1203f7e6..aef66ab4da 100644 --- a/ansible/group_vars/all.yml +++ b/ansible/group_vars/all.yml @@ -31,6 +31,7 @@ kolla_enable_sanity_checks: "no" kolla_enable_sanity_keystone: "{{ kolla_enable_sanity_checks }}" kolla_enable_sanity_glance: "{{ kolla_enable_sanity_checks }}" +kolla_enable_sanity_cinder: "{{ kolla_enable_sanity_checks }}" #################### # Database options diff --git a/ansible/roles/cinder/tasks/check.yml b/ansible/roles/cinder/tasks/check.yml new file mode 100644 index 0000000000..2184471a55 --- /dev/null +++ b/ansible/roles/cinder/tasks/check.yml @@ -0,0 +1,20 @@ +--- + +- name: Cinder sanity checks + command: docker exec -t kolla_toolbox /usr/bin/ansible localhost + -m kolla_sanity + -a "service=cinder + project=service + user=admin + password={{ cinder_keystone_password }} + role=admin + region_name={{ openstack_region_name }} + auth={{ '{{ openstack_cinder_auth }}' }}" + -e "{'openstack_cinder_auth':{{ openstack_cinder_auth }}}" + register: cinder_sanity + changed_when: "{{ cinder_sanity.stdout.find('localhost | SUCCESS => ') != -1 and (cinder_sanity.stdout.split('localhost | SUCCESS => ')[1]|from_json).changed }}" + until: cinder_sanity.stdout.split()[2] == 'SUCCESS' + retries: 10 + delay: 5 + run_once: True + when: kolla_enable_sanity_cinder | bool diff --git a/ansible/roles/cinder/tasks/deploy.yml b/ansible/roles/cinder/tasks/deploy.yml index 06909bd225..e9502bee2c 100644 --- a/ansible/roles/cinder/tasks/deploy.yml +++ b/ansible/roles/cinder/tasks/deploy.yml @@ -25,3 +25,9 @@ inventory_hostname in groups['cinder-volume'] or inventory_hostname in groups['cinder-scheduler'] or inventory_hostname in groups['cinder-backup'] + +- include: check.yml + when: inventory_hostname in groups['cinder-api'] or + inventory_hostname in groups['cinder-volume'] or + inventory_hostname in groups['cinder-scheduler'] or + inventory_hostname in groups['cinder-backup'] diff --git a/docker/kolla-toolbox/kolla_sanity.py b/docker/kolla-toolbox/kolla_sanity.py index 7f4eea9fc8..1a0b4151a3 100644 --- a/docker/kolla-toolbox/kolla_sanity.py +++ b/docker/kolla-toolbox/kolla_sanity.py @@ -34,6 +34,10 @@ class SanityChecks(object): def glance(cloud): [image for image in cloud.glance_client.images.list()] + @staticmethod + def cinder(cloud): + [volume for volume in cloud.cinder_client.volumes.list()] + def main(): module = AnsibleModule(