Files
openstack-ansible-os_swift/tasks/swift_storage_hosts_object.yml
Matthew Oliver 5a6a1c51b1 Add container-reconciler and object-expirer to os-swift
The container-reconciler and object-expirer were missing from the os-swift
role. The reconciler  makes sure incorrectly placed objets live in the
correct storage policy. The expirer is the service that deletes expired objects.

This change also adds the abilty to optionally specify a reclaim_age in the swift
section of the configuration, which is now set in all the locations required,
still with the default of 604800 seconds (7 days).

Change-Id: Ic56a714c3fb3c84b9bb5ed8e2ae3c86dad474161
Closes-Bug: #1516877
2015-11-25 21:29:08 +11:00

139 lines
5.6 KiB
YAML

---
# Copyright 2014, Rackspace US, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# When not using a replication network use the default configuration
- include: swift_upstart_common_init.yml
vars:
program_name: "swift-object-replicator"
program_config_options: "{{ swift_object_server_program_config_options }}"
service_name: "{{ swift_service_name }}"
system_user: "{{ swift_system_user_name }}"
system_group: "{{ swift_system_group_name }}"
service_home: "{{ swift_system_home_folder }}"
when: >
swift.replication_network is not defined or
swift.replication_network == swift.storage_network
# When using a replication network use the specific replicator configuration
- include: swift_upstart_common_init.yml
vars:
program_name: "swift-object-replicator"
program_config_options: "{{ swift_object_replicator_program_config_options }}"
service_name: "{{ swift_service_name }}"
system_user: "{{ swift_system_user_name }}"
system_group: "{{ swift_system_group_name }}"
service_home: "{{ swift_system_home_folder }}"
when: >
swift.replication_network is defined and
swift.replication_network != swift.storage_network
# When using a replication network use a second server for dedicated replicator configuration
# This will be a blank file if not using dedicated replication network to prevent errors
# when the service attempts to start.
- include: swift_upstart_common_init.yml
vars:
program_name: "swift-object-replicator-server"
program_binary: "swift-object-server"
program_config_options: "{{ swift_object_replicator_program_config_options }}"
service_name: "{{ swift_service_name }}"
system_user: "{{ swift_system_user_name }}"
system_group: "{{ swift_system_group_name }}"
service_home: "{{ swift_system_home_folder }}"
- include: swift_upstart_common_init.yml
vars:
program_name: "swift-object-server"
program_config_options: "{{ swift_object_server_program_config_options }}"
service_name: "{{ swift_service_name }}"
system_user: "{{ swift_system_user_name }}"
system_group: "{{ swift_system_group_name }}"
service_home: "{{ swift_system_home_folder }}"
- include: swift_upstart_common_init.yml
vars:
program_name: "swift-object-auditor"
program_config_options: "{{ swift_object_server_program_config_options }}"
service_name: "{{ swift_service_name }}"
system_user: "{{ swift_system_user_name }}"
system_group: "{{ swift_system_group_name }}"
service_home: "{{ swift_system_home_folder }}"
- include: swift_upstart_common_init.yml
vars:
program_name: "swift-object-updater"
program_config_options: "{{ swift_object_server_program_config_options }}"
service_name: "{{ swift_service_name }}"
system_user: "{{ swift_system_user_name }}"
system_group: "{{ swift_system_group_name }}"
service_home: "{{ swift_system_home_folder }}"
- include: swift_upstart_common_init.yml
vars:
program_name: "swift-object-expirer"
program_config_options: "{{ swift_object_expirer_program_config_options }}"
service_name: "{{ swift_service_name }}"
system_user: "{{ swift_system_user_name }}"
system_group: "{{ swift_system_group_name }}"
service_home: "{{ swift_system_home_folder }}"
- name: "Swift object server configuration"
config_template:
src: "{{ item.src }}"
dest: "{{ item.dest }}"
owner: "{{ swift_system_user_name }}"
group: "{{ swift_system_group_name }}"
mode: "0644"
config_overrides: "{{ item.config_overrides }}"
config_type: "{{ item.config_type }}"
with_items:
- src: "object-server.conf.j2"
dest: "/etc/swift/object-server/object-server.conf"
config_overrides: "{{ swift_object_server_conf_overrides }}"
config_type: "ini"
- src: "object-expirer.conf.j2"
dest: "/etc/swift/object-server/object-expirer.conf"
config_overrides: "{{ swift_object_expirer_conf_overrides }}"
config_type: "ini"
notify: Restart swift object services
# We only create the dedicated replicator configuration when using a dedicated replication_network
- name: "Swift object server replicator configuration"
config_template:
src: "{{ item.src }}"
dest: "{{ item.dest }}"
owner: "{{ swift_system_user_name }}"
group: "{{ swift_system_group_name }}"
mode: "0644"
config_overrides: "{{ item.config_overrides }}"
config_type: "{{ item.config_type }}"
with_items:
- src: "object-server-replicator.conf.j2"
dest: "/etc/swift/object-server/object-server-replicator.conf"
config_overrides: "{{ swift_object_server_replicator_conf_overrides }}"
config_type: "ini"
when: >
swift.replication_network is defined and
swift.replication_network != swift.storage_network
notify: Restart swift object services
# Remove the dedicated replicator configuration when no dedicated replication network in use
- name: "Remove dedicated replicator configuration"
file:
state: absent
path: "/etc/swift/object-server/object-server-replicator.conf"
when: >
swift.replication_network is not defined or
swift.replication_network == swift.storage_network