15591437f3
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
110 lines
3.4 KiB
YAML
110 lines
3.4 KiB
YAML
---
|
|
- name: Restart ironic-conductor container
|
|
vars:
|
|
service_name: "ironic-conductor"
|
|
service: "{{ ironic_services[service_name] }}"
|
|
become: true
|
|
kolla_docker:
|
|
action: "recreate_or_restart_container"
|
|
common_options: "{{ docker_common_options }}"
|
|
name: "{{ service.container_name }}"
|
|
image: "{{ service.image }}"
|
|
privileged: "{{ service.privileged | default(False) }}"
|
|
volumes: "{{ service.volumes|reject('equalto', '')|list }}"
|
|
dimensions: "{{ service.dimensions }}"
|
|
when:
|
|
- kolla_action != "config"
|
|
|
|
- name: Restart ironic-api container
|
|
vars:
|
|
service_name: "ironic-api"
|
|
service: "{{ ironic_services[service_name] }}"
|
|
become: true
|
|
kolla_docker:
|
|
action: "recreate_or_restart_container"
|
|
common_options: "{{ docker_common_options }}"
|
|
name: "{{ service.container_name }}"
|
|
image: "{{ service.image }}"
|
|
volumes: "{{ service.volumes|reject('equalto', '')|list }}"
|
|
dimensions: "{{ service.dimensions }}"
|
|
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"
|
|
service: "{{ ironic_services[service_name] }}"
|
|
become: true
|
|
kolla_docker:
|
|
action: "recreate_or_restart_container"
|
|
common_options: "{{ docker_common_options }}"
|
|
name: "{{ service.container_name }}"
|
|
image: "{{ service.image }}"
|
|
privileged: "{{ service.privileged | default(False) }}"
|
|
volumes: "{{ service.volumes|reject('equalto', '')|list }}"
|
|
dimensions: "{{ service.dimensions }}"
|
|
when:
|
|
- kolla_action != "config"
|
|
|
|
- name: Restart ironic-pxe container
|
|
vars:
|
|
service_name: "ironic-pxe"
|
|
service: "{{ ironic_services[service_name] }}"
|
|
become: true
|
|
kolla_docker:
|
|
action: "recreate_or_restart_container"
|
|
common_options: "{{ docker_common_options }}"
|
|
name: "{{ service.container_name }}"
|
|
image: "{{ service.image }}"
|
|
volumes: "{{ service.volumes }}"
|
|
dimensions: "{{ service.dimensions }}"
|
|
when:
|
|
- kolla_action != "config"
|
|
|
|
- name: Restart ironic-ipxe container
|
|
vars:
|
|
service_name: "ironic-ipxe"
|
|
service: "{{ ironic_services[service_name] }}"
|
|
become: true
|
|
kolla_docker:
|
|
action: "recreate_or_restart_container"
|
|
common_options: "{{ docker_common_options }}"
|
|
name: "{{ service.container_name }}"
|
|
image: "{{ service.image }}"
|
|
volumes: "{{ service.volumes }}"
|
|
dimensions: "{{ service.dimensions }}"
|
|
when:
|
|
- kolla_action != "config"
|
|
|
|
- name: Restart ironic-dnsmasq container
|
|
vars:
|
|
service_name: "ironic-dnsmasq"
|
|
service: "{{ ironic_services[service_name] }}"
|
|
become: true
|
|
kolla_docker:
|
|
action: "recreate_or_restart_container"
|
|
common_options: "{{ docker_common_options }}"
|
|
name: "{{ service.container_name }}"
|
|
image: "{{ service.image }}"
|
|
volumes: "{{ service.volumes }}"
|
|
dimensions: "{{ service.dimensions }}"
|
|
cap_add: "{{ service.cap_add }}"
|
|
when:
|
|
- kolla_action != "config"
|