From 15591437f3d6e47b476d953a2bf7ffdcb8f71a44 Mon Sep 17 00:00:00 2001 From: Mark Goddard Date: Mon, 12 Aug 2019 14:05:53 +0100 Subject: [PATCH] Workaround ironic inspector startup issue If ironic inspector starts up before ironic-api is accessible, we see the following error: AttributeError: StrictVersion instance has no attribute 'version' This actually prevents startup of ironic inspector. Example: http://paste.openstack.org/show/756342/ The underlying issue is in python-ironicclient: https://storyboard.openstack.org/#!/story/2006393. The workaround employed here is to wait for ironic-api to become available before starting ironic-inspector. Change-Id: I674982eba5082fdc951cdcb8247d706278c64c1a Closes-Bug: #1839866 --- ansible/roles/ironic/handlers/main.yml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/ansible/roles/ironic/handlers/main.yml b/ansible/roles/ironic/handlers/main.yml index 35fa73d021..41478fd4f0 100644 --- a/ansible/roles/ironic/handlers/main.yml +++ b/ansible/roles/ironic/handlers/main.yml @@ -30,6 +30,22 @@ when: - kolla_action != "config" +# Due to a bug in the ironic client, ironic inspector fails to start if ironic +# API is not accessible. https://storyboard.openstack.org/#!/story/2006393 +# TODO(mgoddard): remove this task when +# https://storyboard.openstack.org/#!/story/2006393 has been fixed. +- name: Wait for ironic-api to be accessible + uri: + url: "{{ ironic_internal_endpoint }}" + register: result + until: result is success + retries: 12 + delay: 5 + listen: Restart ironic-api container + when: + - kolla_action != "config" + run_once: True + - name: Restart ironic-inspector container vars: service_name: "ironic-inspector"