b685ac44e0
Including tasks has a performance penalty when compared with importing tasks. If the include has a condition associated with it, then the overhead of the include may be lower than the overhead of skipping all imported tasks. For unconditionally included tasks, switching to import_tasks provides a clear benefit. Benchmarking of include vs. import is available at [1]. This change switches from include_tasks to import_tasks where there is no condition applied to the include. [1] https://github.com/stackhpc/ansible-scaling/blob/master/doc/include-and-import.md#task-include-and-import Partially-Implements: blueprint performance-improvements Change-Id: Ia45af4a198e422773d9f009c7f7b2e32ce9e3b97
62 lines
2.1 KiB
YAML
62 lines
2.1 KiB
YAML
---
|
|
# Upgrade swift storage nodes first
|
|
- include_tasks: config.yml
|
|
when: inventory_hostname in groups['swift-account-server'] or
|
|
inventory_hostname in groups['swift-container-server'] or
|
|
inventory_hostname in groups['swift-object-server']
|
|
|
|
# TODO(donghm): Below tasks should be run in serial nodes to
|
|
# decrease downtime. Update once the module ansible strategy for
|
|
# rolling upgrade will be finished.
|
|
- name: Gracefully shutdown swift services in storage nodes
|
|
become: true
|
|
kolla_docker:
|
|
action: "stop_container"
|
|
name: "{{ item }}"
|
|
with_items:
|
|
- "swift_rsyncd"
|
|
- "swift_account_server"
|
|
- "swift_account_auditor"
|
|
- "swift_account_replicator"
|
|
- "swift_account_reaper"
|
|
- "swift_container_server"
|
|
- "swift_container_auditor"
|
|
- "swift_container_replicator"
|
|
- "swift_container_updater"
|
|
- "swift_object_server"
|
|
- "swift_object_auditor"
|
|
- "swift_object_replicator"
|
|
- "swift_object_updater"
|
|
- "swift_object_expirer"
|
|
when: inventory_hostname in groups['swift-account-server'] or
|
|
inventory_hostname in groups['swift-container-server'] or
|
|
inventory_hostname in groups['swift-object-server']
|
|
|
|
- import_tasks: start.yml
|
|
vars:
|
|
run_start_swift_proxy_server: "no"
|
|
|
|
# Upgrade swift proxy nodes
|
|
- include_tasks: config.yml
|
|
when: inventory_hostname in groups['swift-proxy-server']
|
|
|
|
- name: Gracefully shutdown swift proxy services in proxy nodes
|
|
become: true
|
|
kolla_docker:
|
|
action: "stop_container"
|
|
name: "swift_proxy_server"
|
|
when: inventory_hostname in groups['swift-proxy-server']
|
|
|
|
- name: Start new swift proxy server container
|
|
become: true
|
|
kolla_docker:
|
|
action: "start_container"
|
|
common_options: "{{ docker_common_options }}"
|
|
image: "{{ swift_proxy_server_image_full }}"
|
|
name: "swift_proxy_server"
|
|
volumes:
|
|
- "{{ node_config_directory }}/swift/:/var/lib/kolla/swift/:ro"
|
|
- "{{ node_config_directory }}/swift-proxy-server/:{{ container_config_directory }}/:ro"
|
|
- "/etc/localtime:/etc/localtime:ro"
|
|
when: inventory_hostname in groups['swift-proxy-server']
|