From c31729cdaf2c8ab64dfea86cc29c735df8894b23 Mon Sep 17 00:00:00 2001 From: jvora Date: Sat, 27 Feb 2016 16:22:34 -0800 Subject: [PATCH] Sanity check for cinder This runs first sanity check for cinder. Once cinder is deployed it checks volumes.list() Change-Id: I1b4cc57f21cf0fa52a391229c2c2b3fa995d32a8 Partially-Implements: blueprint sanity-check-container --- ansible/group_vars/all.yml | 1 + ansible/roles/cinder/tasks/check.yml | 20 ++++++++++++++++++++ ansible/roles/cinder/tasks/deploy.yml | 6 ++++++ docker/kolla-toolbox/kolla_sanity.py | 4 ++++ 4 files changed, 31 insertions(+) create mode 100644 ansible/roles/cinder/tasks/check.yml 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(