diff options
| author | Jenkins <jenkins@review.openstack.org> | 2016-03-04 15:44:41 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2016-03-04 15:44:41 +0000 |
| commit | 91f3bb0395d22760db8c941070cc9cc121e58ad6 (patch) | |
| tree | 2f680d4464a0168bc1055a3bff6407c89359c0df | |
| parent | 3820210b9e9e8ad4721e76a2252d5442f50d01ee (diff) | |
| parent | bb3079898b32589140f209db35da073a480e1241 (diff) | |
| download | kolla-91f3bb0395d22760db8c941070cc9cc121e58ad6.tar.gz kolla-91f3bb0395d22760db8c941070cc9cc121e58ad6.zip | |
Merge "Reconfigure for Swift"
| -rw-r--r-- | ansible/roles/swift/tasks/do_reconfigure.yml | 134 | ||||
| -rw-r--r-- | ansible/roles/swift/tasks/reconfigure.yml | 6 |
2 files changed, 140 insertions, 0 deletions
diff --git a/ansible/roles/swift/tasks/do_reconfigure.yml b/ansible/roles/swift/tasks/do_reconfigure.yml new file mode 100644 index 000000000..c731a1d9d --- /dev/null +++ b/ansible/roles/swift/tasks/do_reconfigure.yml @@ -0,0 +1,134 @@ +--- +- 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: swift_account_server, group: swift-account-server } + - { name: swift_account_auditor, group: swift-account-server } + - { name: swift_account_replicator, group: swift-account-server } + - { name: swift_account_reaper, group: swift-account-server } + - { name: swift_container_server, group: swift-container-server } + - { name: swift_container_auditor, group: swift-container-server } + - { name: swift_container_replicator, group: swift-container-server } + - { name: swift_container_updater, group: swift-container-server } + - { name: swift_object_server, group: swift-object-server } + - { name: swift_object_auditor, group: swift-object-server } + - { name: swift_object_replicator, group: swift-object-server } + - { name: swift_object_updater, group: swift-object-server } + - { name: swift_object_expirer, group: swift-object-server } + - { name: swift_proxy_server, group: swift-proxy-server } + - { name: swift_rsyncd, group: swift-proxy-server } + +- 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: swift_account_server, group: swift-account-server } + - { name: swift_account_auditor, group: swift-account-server } + - { name: swift_account_replicator, group: swift-account-server } + - { name: swift_account_reaper, group: swift-account-server } + - { name: swift_container_server, group: swift-container-server } + - { name: swift_container_auditor, group: swift-container-server } + - { name: swift_container_replicator, group: swift-container-server } + - { name: swift_container_updater, group: swift-container-server } + - { name: swift_object_server, group: swift-object-server } + - { name: swift_object_auditor, group: swift-object-server } + - { name: swift_object_replicator, group: swift-object-server } + - { name: swift_object_updater, group: swift-object-server } + - { name: swift_object_expirer, group: swift-object-server } + - { name: swift_proxy_server, group: swift-proxy-server } + - { name: swift_rsyncd, group: swift-proxy-server } + +# 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: swift_account_server, group: swift-account-server } + - { name: swift_account_auditor, group: swift-account-server } + - { name: swift_account_replicator, group: swift-account-server } + - { name: swift_account_reaper, group: swift-account-server } + - { name: swift_container_server, group: swift-container-server } + - { name: swift_container_auditor, group: swift-container-server } + - { name: swift_container_replicator, group: swift-container-server } + - { name: swift_container_updater, group: swift-container-server } + - { name: swift_object_server, group: swift-object-server } + - { name: swift_object_auditor, group: swift-object-server } + - { name: swift_object_replicator, group: swift-object-server } + - { name: swift_object_updater, group: swift-object-server } + - { name: swift_object_expirer, group: swift-object-server } + - { name: swift_proxy_server, group: swift-proxy-server } + - { name: swift_rsyncd, group: swift-proxy-server } + +- 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: swift_account_server, group: swift-account-server }, + { name: swift_account_auditor, group: swift-account-server }, + { name: swift_account_replicator, group: swift-account-server }, + { name: swift_account_reaper, group: swift-account-server }, + { name: swift_container_server, group: swift-container-server }, + { name: swift_container_auditor, group: swift-container-server }, + { name: swift_container_replicator, group: swift-container-server }, + { name: swift_container_updater, group: swift-container-server }, + { name: swift_object_server, group: swift-object-server }, + { name: swift_object_auditor, group: swift-object-server }, + { name: swift_object_replicator, group: swift-object-server }, + { name: swift_object_updater, group: swift-object-server }, + { name: swift_object_expirer, group: swift-object-server }, + { name: swift_proxy_server, group: swift-proxy-server }, + { name: swift_rsyncd, group: swift-proxy-server }] + - 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: swift_account_server, group: swift-account-server }, + { name: swift_account_auditor, group: swift-account-server }, + { name: swift_account_replicator, group: swift-account-server }, + { name: swift_account_reaper, group: swift-account-server }, + { name: swift_container_server, group: swift-container-server }, + { name: swift_container_auditor, group: swift-container-server }, + { name: swift_container_replicator, group: swift-container-server }, + { name: swift_container_updater, group: swift-container-server }, + { name: swift_object_server, group: swift-object-server }, + { name: swift_object_auditor, group: swift-object-server }, + { name: swift_object_replicator, group: swift-object-server }, + { name: swift_object_updater, group: swift-object-server }, + { name: swift_object_expirer, group: swift-object-server }, + { name: swift_proxy_server, group: swift-proxy-server }, + { name: swift_rsyncd, group: swift-proxy-server }] + - container_envs.results + - check_results.results diff --git a/ansible/roles/swift/tasks/reconfigure.yml b/ansible/roles/swift/tasks/reconfigure.yml index ed97d539c..939817bae 100644 --- a/ansible/roles/swift/tasks/reconfigure.yml +++ b/ansible/roles/swift/tasks/reconfigure.yml @@ -1 +1,7 @@ --- +- include: do_reconfigure.yml + serial: "30%" + when: inventory_hostname in groups['swift-account-server'] or + inventory_hostname in groups['swift-container-server'] or + inventory_hostname in groups['swift-object-server'] or + inventory_hostname in groups['swift-proxy-server'] |
