openstack-ansible-os_swift/tasks/swift_storage_hosts_object.yml
Major Hayden 5521ce66e7 Run swift's drive-audit script regularly
This patch adds configuration for swift's drive-audit script with
a cron job to run it hourly at 15 minutes past the hour.

Closes-Bug: 1433619

Change-Id: I1a5cfbfffef007a0d8e9b56dd5936aad7c38916d
2016-03-10 15:08:34 -06:00

156 lines
6.0 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: "object-server-replicator.conf.j2"
dest: "/etc/swift/object-server/object-server-replicator.conf"
owner: "{{ swift_system_user_name }}"
group: "{{ swift_system_group_name }}"
mode: "0644"
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
- name: Deploy drive-audit configuration file
config_template:
src: drive-audit.conf.j2
dest: /etc/swift/drive-audit.conf
owner: "{{ swift_system_user_name }}"
group: "{{ swift_system_group_name }}"
mode: "0644"
config_overrides: "{{ swift_drive_audit_conf_overrides }}"
config_type: "ini"
tags:
- swift-drive-audit
- name: Create drive-audit cron job
cron:
name: "Run drive-audit script"
job: "{{ swift_venv_bin }}/swift-drive-audit /etc/swift/drive-audit.conf"
minute: 15
cron_file: swift-drive-audit
user: root
tags:
- swift-drive-audit