diff --git a/ansible/roles/swift/tasks/start.yml b/ansible/roles/swift/tasks/start.yml index a1abdcae55..215aef0239 100644 --- a/ansible/roles/swift/tasks/start.yml +++ b/ansible/roles/swift/tasks/start.yml @@ -43,18 +43,6 @@ - "heka_socket:/var/lib/kolla/heka/" 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 kolla_docker: action: "start_container" @@ -223,3 +211,15 @@ - "{{ swift_devices_mount_point }}:{{ swift_devices_mount_point }}" - "heka_socket:/var/lib/kolla/heka/" 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'] diff --git a/ansible/roles/swift/tasks/stop_and_start.yml b/ansible/roles/swift/tasks/stop_and_start.yml new file mode 100644 index 0000000000..fca139f573 --- /dev/null +++ b/ansible/roles/swift/tasks/stop_and_start.yml @@ -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 diff --git a/ansible/roles/swift/tasks/upgrade.yml b/ansible/roles/swift/tasks/upgrade.yml index ed97d539c0..d5206331e9 100644 --- a/ansible/roles/swift/tasks/upgrade.yml +++ b/ansible/roles/swift/tasks/upgrade.yml @@ -1 +1,5 @@ --- +- include: config.yml + +- include: stop_and_start.yml + serial: "30%"