a781c64319
Adds support to seperate Swift access and replication traffic from other storage traffic. In a deployment where both Ceph and Swift have been deployed, this changes adds functionalality to support optional seperation of storage network traffic. This adds two new network interfaces 'swift_storage_interface' and 'swift_replication_interface' which maintain backwards compatibility. The Swift access network interface is configured via 'swift_storage_interface', which defaults to 'storage_interface'. The Swift replication network interface is configured via 'swift_replication_interface', which defaults to 'swift_storage_interface'. If a separate replication network is used, Kolla Ansible now deploys separate replication servers for the accounts, containers and objects, that listen on this network. In this case, these services handle only replication traffic, and the original account-, container- and object- servers only handle storage user requests. Change-Id: Ib39e081574e030126f2d08f51de89641ddb0d42e
166 lines
8.5 KiB
YAML
166 lines
8.5 KiB
YAML
---
|
|
- name: Ensuring the containers up
|
|
become: true
|
|
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_replication_server, group: swift-account-server }
|
|
- { name: swift_account_replicator, group: swift-account-server }
|
|
- { name: swift_account_reaper, group: swift-account-server }
|
|
- { name: swift_rsyncd, group: swift-account-server }
|
|
- { name: swift_container_server, group: swift-container-server }
|
|
- { name: swift_container_auditor, group: swift-container-server }
|
|
- { name: swift_container_replication_server, group: swift-container-server }
|
|
- { name: swift_container_replicator, group: swift-container-server }
|
|
- { name: swift_container_updater, group: swift-container-server }
|
|
- { name: swift_rsyncd, group: swift-container-server }
|
|
- { name: swift_object_server, group: swift-object-server }
|
|
- { name: swift_object_auditor, group: swift-object-server }
|
|
- { name: swift_object_replication_server, 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_rsyncd, group: swift-object-server }
|
|
- { name: swift_proxy_server, group: swift-proxy-server }
|
|
|
|
- include_tasks: 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_replication_server, group: swift-account-server }
|
|
- { name: swift_account_replicator, group: swift-account-server }
|
|
- { name: swift_account_reaper, group: swift-account-server }
|
|
- { name: swift_rsyncd, group: swift-account-server }
|
|
- { name: swift_container_server, group: swift-container-server }
|
|
- { name: swift_container_auditor, group: swift-container-server }
|
|
- { name: swift_container_replication_server, group: swift-container-server }
|
|
- { name: swift_container_replicator, group: swift-container-server }
|
|
- { name: swift_container_updater, group: swift-container-server }
|
|
- { name: swift_rsyncd, group: swift-container-server }
|
|
- { name: swift_object_server, group: swift-object-server }
|
|
- { name: swift_object_auditor, group: swift-object-server }
|
|
- { name: swift_object_replication_server, 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_rsyncd, group: swift-object-server }
|
|
- { name: swift_proxy_server, 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
|
|
become: true
|
|
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_replication_server, group: swift-account-server }
|
|
- { name: swift_account_replicator, group: swift-account-server }
|
|
- { name: swift_account_reaper, group: swift-account-server }
|
|
- { name: swift_rsyncd, group: swift-account-server }
|
|
- { name: swift_container_server, group: swift-container-server }
|
|
- { name: swift_container_auditor, group: swift-container-server }
|
|
- { name: swift_container_replication_server, group: swift-container-server }
|
|
- { name: swift_container_replicator, group: swift-container-server }
|
|
- { name: swift_container_updater, group: swift-container-server }
|
|
- { name: swift_rsyncd, group: swift-container-server }
|
|
- { name: swift_object_server, group: swift-object-server }
|
|
- { name: swift_object_auditor, group: swift-object-server }
|
|
- { name: swift_object_replication_server, 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_rsyncd, group: swift-object-server }
|
|
- { name: swift_proxy_server, group: swift-proxy-server }
|
|
|
|
- name: Remove the containers
|
|
become: true
|
|
kolla_docker:
|
|
name: "{{ item[0]['name'] }}"
|
|
action: "remove_container"
|
|
register: remove_containers
|
|
when:
|
|
- inventory_hostname in groups[item[0]['group']]
|
|
- config_strategy == "COPY_ONCE" or item[1]['KOLLA_CONFIG_STRATEGY'] == 'COPY_ONCE'
|
|
- item[2]['rc'] == 1
|
|
with_together:
|
|
- [{ name: swift_account_server, group: swift-account-server },
|
|
{ name: swift_account_auditor, group: swift-account-server },
|
|
{ name: swift_account_replication_server, group: swift-account-server },
|
|
{ name: swift_account_replicator, group: swift-account-server },
|
|
{ name: swift_account_reaper, group: swift-account-server },
|
|
{ name: swift_rsyncd, group: swift-account-server },
|
|
{ name: swift_container_server, group: swift-container-server },
|
|
{ name: swift_container_auditor, group: swift-container-server },
|
|
{ name: swift_container_replication_server, group: swift-container-server },
|
|
{ name: swift_container_replicator, group: swift-container-server },
|
|
{ name: swift_container_updater, group: swift-container-server },
|
|
{ name: swift_rsyncd, group: swift-container-server },
|
|
{ name: swift_object_server, group: swift-object-server },
|
|
{ name: swift_object_auditor, group: swift-object-server },
|
|
{ name: swift_object_replication_server, 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_rsyncd, group: swift-object-server },
|
|
{ name: swift_proxy_server, group: swift-proxy-server }]
|
|
- "{{ container_envs.results }}"
|
|
- "{{ check_results.results }}"
|
|
|
|
- include_tasks: start.yml
|
|
vars:
|
|
run_start_swift_proxy_server: "yes"
|
|
when: remove_containers.changed
|
|
|
|
- name: Restart containers
|
|
become: true
|
|
kolla_docker:
|
|
name: "{{ item[0]['name'] }}"
|
|
action: "restart_container"
|
|
when:
|
|
- inventory_hostname in groups[item[0]['group']]
|
|
- config_strategy == 'COPY_ALWAYS'
|
|
- item[1]['KOLLA_CONFIG_STRATEGY'] != 'COPY_ONCE'
|
|
- item[2]['rc'] == 1
|
|
with_together:
|
|
- [{ name: swift_account_server, group: swift-account-server },
|
|
{ name: swift_account_auditor, group: swift-account-server },
|
|
{ name: swift_account_replication_server, group: swift-account-server },
|
|
{ name: swift_account_replicator, group: swift-account-server },
|
|
{ name: swift_account_reaper, group: swift-account-server },
|
|
{ name: swift_rsyncd, group: swift-account-server },
|
|
{ name: swift_container_server, group: swift-container-server },
|
|
{ name: swift_container_auditor, group: swift-container-server },
|
|
{ name: swift_container_replication_server, group: swift-container-server },
|
|
{ name: swift_container_replicator, group: swift-container-server },
|
|
{ name: swift_container_updater, group: swift-container-server },
|
|
{ name: swift_rsyncd, group: swift-container-server },
|
|
{ name: swift_object_server, group: swift-object-server },
|
|
{ name: swift_object_auditor, group: swift-object-server },
|
|
{ name: swift_object_replication_server, 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_rsyncd, group: swift-object-server },
|
|
{ name: swift_proxy_server, group: swift-proxy-server }]
|
|
- "{{ container_envs.results }}"
|
|
- "{{ check_results.results }}"
|