diff options
| author | Christian Berendt <berendt@betacloud-solutions.de> | 2016-06-18 19:20:47 +0200 |
|---|---|---|
| committer | Christian Berendt <berendt@betacloud-solutions.de> | 2016-06-18 19:20:47 +0200 |
| commit | bdaef302853afc224532f31e2f7e59b47e7e8c33 (patch) | |
| tree | 8962d92cadb859d61fb31f31f3ffa4ed8582ae51 | |
| parent | 330d925ce4d01a0f793a68d5981862d68a8bd03a (diff) | |
| download | kolla-bdaef302853afc224532f31e2f7e59b47e7e8c33.tar.gz kolla-bdaef302853afc224532f31e2f7e59b47e7e8c33.zip | |
Add reconfigure tasks for ceilometer ansible role
Change-Id: I1fb7220f4ec7fcaebd9e22c0d0a1c642939afa92
Closes-bug: #1594004
| -rw-r--r-- | ansible/roles/ceilometer/tasks/do_reconfigure.yml | 84 | ||||
| -rw-r--r-- | ansible/roles/ceilometer/tasks/reconfigure.yml | 8 |
2 files changed, 92 insertions, 0 deletions
diff --git a/ansible/roles/ceilometer/tasks/do_reconfigure.yml b/ansible/roles/ceilometer/tasks/do_reconfigure.yml new file mode 100644 index 000000000..886ac1710 --- /dev/null +++ b/ansible/roles/ceilometer/tasks/do_reconfigure.yml @@ -0,0 +1,84 @@ +--- +- 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: ceilometer_api, group: ceilometer-api } + - { name: ceilometer_central, group: ceilometer-central } + - { name: ceilometer_notification, group: ceilometer-notification } + - { name: ceilometer_collector, group: ceilometer-collector } + - { name: ceilometer_compute, group: ceilometer-compute } + +- 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: ceilometer_api, group: ceilometer-api } + - { name: ceilometer_central, group: ceilometer-central } + - { name: ceilometer_notification, group: ceilometer-notification } + - { name: ceilometer_collector, group: ceilometer-collector } + - { name: ceilometer_compute, group: ceilometer-compute } + +# NOTE(jeffrey4l): when config_strategy == 'COPY_ALWAYS' +# and container env['KOLLA_CONFIG_STRATEGY'] == 'COPY_ONCE', +# just remove the container and start again +- 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: ceilometer_api, group: ceilometer-api } + - { name: ceilometer_central, group: ceilometer-central } + - { name: ceilometer_notification, group: ceilometer-notification } + - { name: ceilometer_collector, group: ceilometer-collector } + - { name: ceilometer_compute, group: ceilometer-compute } + +- 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: ceilometer_api, group: ceilometer-api }, + { name: ceilometer_central, group: ceilometer-central }, + { name: ceilometer_notification, group: ceilometer-notification }, + { name: ceilometer_collector, group: ceilometer-collector }, + { name: ceilometer_compute, group: ceilometer-compute }] + - 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: ceilometer_api, group: ceilometer-api }, + { name: ceilometer_central, group: ceilometer-central }, + { name: ceilometer_notification, group: ceilometer-notification }, + { name: ceilometer_collector, group: ceilometer-collector }, + { name: ceilometer_compute, group: ceilometer-compute }] + - container_envs.results + - check_results.results diff --git a/ansible/roles/ceilometer/tasks/reconfigure.yml b/ansible/roles/ceilometer/tasks/reconfigure.yml new file mode 100644 index 000000000..712aa4e4e --- /dev/null +++ b/ansible/roles/ceilometer/tasks/reconfigure.yml @@ -0,0 +1,8 @@ +--- +- include: do_reconfigure.yml + serial: "30%" + when: inventory_hostname in groups['ceilometer-api'] + or inventory_hostname in groups['ceilometer-central'] + or inventory_hostname in groups['ceilometer-notification'] + or inventory_hostname in groups['ceilometer-collector'] + or inventory_hostname in groups['ceilometer-compute'] |
