Upgrade task for Swift
Based on the Nova upgrade patch and recommendations from Swift PTL John Dickinson at https://swiftstack.com/blog/2013/12/20/upgrade-openstack-swift-no-downtime/ Notes: As part of this upgrade I have chosen to *not* migrate any data from the old style swift_data container. This is because it was never intended to be used in production; this fact is made clear in the docs. In regards to testing, as of this patch we do not yet have an upgrade task for the common containers (rsyslog and kolla-toolbox), so attempting to upgrade swift will result in it failing to find the kolla-toolbox. This will be true of any other upgrade until upgrade for common is added. It can be worked around by deploying another role such as keystone which will drag in the common role and start up kolla-toolbox, after which Swift can be successfully upgraded. Change-Id: I138556932e9bddcd595d94a3dcb69603268880ff Partially-Implements: blueprint upgrade-kolla Implements: blueprint upgrade-swift
This commit is contained in:
parent
0e67afb73b
commit
e09375a4ed
@ -43,18 +43,6 @@
|
|||||||
- "heka_socket:/var/lib/kolla/heka/"
|
- "heka_socket:/var/lib/kolla/heka/"
|
||||||
when: inventory_hostname not in groups['swift-proxy-server']
|
when: inventory_hostname not in groups['swift-proxy-server']
|
||||||
|
|
||||||
- name: Starting swift-proxy-server container
|
|
||||||
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"
|
|
||||||
- "heka_socket:/var/lib/kolla/heka/"
|
|
||||||
when: inventory_hostname in groups['swift-proxy-server']
|
|
||||||
|
|
||||||
- name: Starting swift-account-server container
|
- name: Starting swift-account-server container
|
||||||
kolla_docker:
|
kolla_docker:
|
||||||
action: "start_container"
|
action: "start_container"
|
||||||
@ -223,3 +211,15 @@
|
|||||||
- "{{ swift_devices_mount_point }}:{{ swift_devices_mount_point }}"
|
- "{{ swift_devices_mount_point }}:{{ swift_devices_mount_point }}"
|
||||||
- "heka_socket:/var/lib/kolla/heka/"
|
- "heka_socket:/var/lib/kolla/heka/"
|
||||||
when: inventory_hostname in groups['swift-object-server']
|
when: inventory_hostname in groups['swift-object-server']
|
||||||
|
|
||||||
|
- name: Starting swift-proxy-server container
|
||||||
|
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"
|
||||||
|
- "heka_socket:/var/lib/kolla/heka/"
|
||||||
|
when: inventory_hostname in groups['swift-proxy-server']
|
||||||
|
28
ansible/roles/swift/tasks/stop_and_start.yml
Normal file
28
ansible/roles/swift/tasks/stop_and_start.yml
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
---
|
||||||
|
# NOTE(pbourke): because the images that are used to start Swift containers
|
||||||
|
# were refactored for Mitaka, we need to completely remove the existing
|
||||||
|
# containers or we get a conflict when attempting to start the new ones.
|
||||||
|
- name: "Cleaning out old Swift containers"
|
||||||
|
kolla_docker:
|
||||||
|
name: "{{ item }}"
|
||||||
|
# TODO(pbourke): Swift recommend using a SIGHUP to gracefully stop the
|
||||||
|
# services. Update once kolla_docker supports this.
|
||||||
|
action: remove_container
|
||||||
|
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"
|
||||||
|
- "swift_proxy_server"
|
||||||
|
|
||||||
|
- include: start.yml
|
@ -1 +1,5 @@
|
|||||||
---
|
---
|
||||||
|
- include: config.yml
|
||||||
|
|
||||||
|
- include: stop_and_start.yml
|
||||||
|
serial: "30%"
|
||||||
|
Loading…
Reference in New Issue
Block a user