![Andy McCrae](/assets/img/avatar_default.png)
Change the 'swift_x_program_names' from a list to a dictionary mapping of services, groups that install those services. This brings the method into line with that used in the os_neutron role in order to implement a more standardised method. The init tasks have been updated to run once and loop through this mapping rather than being included multiple times and re-run against each host. This may potentially reduce role run times. Currently the reload of upstart/systemd scripts may not happen if only one script changes as the task uses a loop with only one result register. This patch implements handlers to reload upstart/systemd scripts to ensure that this happens when any one of the scripts change. The handler to reload the services now only tries to restart the service if the host is in the group for the service according to the service group mapping. This allows us to ensure that handler failures are no longer ignored and that no execution time is wasted trying to restart services which do not exist on the host. Finally: - Common variables shared by each service's template files have been updated to use the service namespaced variables. - Unused handlers have been removed. - Unused variables have been removed. Change-Id: Id35de501acf6b3164221085f8f9e142234ea0d73
69 lines
2.7 KiB
YAML
69 lines
2.7 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.
|
|
|
|
- name: "Swift container 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: "container-server.conf.j2"
|
|
dest: "/etc/swift/container-server/container-server.conf"
|
|
config_overrides: "{{ swift_container_server_conf_overrides }}"
|
|
config_type: "ini"
|
|
- src: "container-reconciler.conf.j2"
|
|
dest: "/etc/swift/container-server/container-reconciler.conf"
|
|
config_overrides: "{{ swift_container_reconciler_conf_overrides }}"
|
|
config_type: "ini"
|
|
notify: Restart swift services
|
|
|
|
# If we've specified a container-sync realm use container-sync-realms.conf
|
|
- name: "Swift container-sync configuration"
|
|
config_template:
|
|
src: "container-sync-realms.conf.j2"
|
|
dest: "/etc/swift/container-sync-realms.conf"
|
|
owner: "{{ swift_system_user_name }}"
|
|
group: "{{ swift_system_group_name }}"
|
|
mode: "0644"
|
|
config_overrides: "{{ swift_container_sync_realms_conf_overrides }}"
|
|
config_type: "ini"
|
|
when:
|
|
- swift_container_sync_realms is defined
|
|
notify: Restart swift services
|
|
|
|
# We only create the dedicated replicator configuration when using a dedicated replication_network
|
|
- name: "Swift container server replicator configuration"
|
|
config_template:
|
|
src: "container-server-replicator.conf.j2"
|
|
dest: "/etc/swift/container-server/container-server-replicator.conf"
|
|
owner: "{{ swift_system_user_name }}"
|
|
group: "{{ swift_system_group_name }}"
|
|
mode: "0644"
|
|
config_overrides: "{{ swift_container_server_replicator_conf_overrides }}"
|
|
config_type: "ini"
|
|
when: swift_dedicated_replication
|
|
notify: Restart swift services
|
|
|
|
# Remove the dedicated replicator configuration when no dedicated replication network in use
|
|
- name: "Remove dedicated replicator configuration"
|
|
file:
|
|
state: absent
|
|
path: "/etc/swift/container-server/container-server-replicator.conf"
|
|
when: not swift_dedicated_replication | bool
|