diff options
| author | Ryan Hallisey <rhallise@redhat.com> | 2016-03-03 02:21:28 -0500 |
|---|---|---|
| committer | Ryan Hallisey <rhallise@redhat.com> | 2016-03-03 04:21:52 -0500 |
| commit | ccf6253d9c058edd2d683b741629ce0c00e2f27d (patch) | |
| tree | da0e58db8deb29d92beaa91b73be27454f6d3628 | |
| parent | 0f5c22c169f27993099fef05a0e07d54e549fc61 (diff) | |
| download | kolla-ccf6253d9c058edd2d683b741629ce0c00e2f27d.tar.gz kolla-ccf6253d9c058edd2d683b741629ce0c00e2f27d.zip | |
Reconfigure Ironic
Change-Id: I2e77398a18a8c04a20c835a3780b7c761344dd0c
Partially-implements: bp kolla-reconfig
| -rw-r--r-- | ansible/roles/ironic/tasks/do_reconfigure.yml | 76 | ||||
| -rw-r--r-- | ansible/roles/ironic/tasks/reconfigure.yml | 6 |
2 files changed, 82 insertions, 0 deletions
diff --git a/ansible/roles/ironic/tasks/do_reconfigure.yml b/ansible/roles/ironic/tasks/do_reconfigure.yml new file mode 100644 index 000000000..345f8ed32 --- /dev/null +++ b/ansible/roles/ironic/tasks/do_reconfigure.yml @@ -0,0 +1,76 @@ +--- +- name: Ensuring the containers up + kolla_docker: + name: "{{ item.name }}" + action: "get_container_state" + register: container_state + failed_when: container_state.Running == false + when: inventory_hostname in groups[item.group] + with_items: + - { name: ironic_pxe, group: ironic-pxe } + - { name: ironic_api, group: ironic-api } + - { name: ironic_conductor, group: ironic-conductor } + - { name: ironic_inspector, group: ironic-inspector } + +- include: config.yml + +- name: Check the configs + command: docker exec {{ item.name }} /usr/local/bin/kolla_set_configs --check + changed_when: false + failed_when: false + register: check_results + when: inventory_hostname in groups[item.group] + with_items: + - { name: ironic_pxe, group: ironic-pxe } + - { name: ironic_api, group: ironic-api } + - { name: ironic_conductor, group: ironic-conductor } + - { name: ironic_inspector, group: ironic-inspector } + +- name: Containers config strategy + kolla_docker: + name: "{{ item.name }}" + action: "get_container_env" + register: container_envs + when: inventory_hostname in groups[item.group] + with_items: + - { name: ironic_pxe, group: ironic-pxe } + - { name: ironic_api, group: ironic-api } + - { name: ironic_conductor, group: ironic-conductor } + - { name: ironic_inspector, group: ironic-inspector } + +- name: Remove the containers + kolla_docker: + name: "{{ item[0]['name'] }}" + action: "remove_container" + register: remove_containers + when: + - config_strategy == "COPY_ONCE" or item[1]['KOLLA_CONFIG_STRATEGY'] == 'COPY_ONCE' + - item[2]['rc'] == 1 + - inventory_hostname in groups[item[0]['group']] + with_together: + - [{ name: ironic_pxe, group: ironic-pxe }, + { name: ironic_api, group: ironic-api }, + { name: ironic_conductor, group: ironic-conductor }, + { name: ironic_inspector, group: ironic-inspector }] + - container_envs.results + - check_results.results + +- include: start.yml + when: remove_containers.changed + +- name: Restart containers + kolla_docker: + name: "{{ item[0]['name'] }}" + action: "restart_container" + when: + - config_strategy == 'COPY_ALWAYS' + - item[1]['KOLLA_CONFIG_STRATEGY'] != 'COPY_ONCE' + - item[2]['rc'] == 1 + - inventory_hostname in groups[item[0]['group']] + with_together: + - [{ name: ironic_pxe, group: ironic-pxe }, + { name: ironic_api, group: ironic-api }, + { name: ironic_conductor, group: ironic-conductor }, + { name: ironic_inspector, group: ironic-inspector }] + - container_envs.results + - check_results.results diff --git a/ansible/roles/ironic/tasks/reconfigure.yml b/ansible/roles/ironic/tasks/reconfigure.yml index ed97d539c..b58050ee2 100644 --- a/ansible/roles/ironic/tasks/reconfigure.yml +++ b/ansible/roles/ironic/tasks/reconfigure.yml @@ -1 +1,7 @@ --- +- include: do_reconfigure.yml + serial: "30%" + when: inventory_hostname in groups['ironic-pxe'] + or inventory_hostname in groups['ironic-api'] + or inventory_hostname in groups['ironic-conductor'] + or inventory_hostname in groups['ironic-inspector'] |
