openstack-ansible-os_swift/tasks/swift_storage_hosts_object.yml
Anton Khaldin 9d30bb30b9 Only install to virtual environment
Remove all tasks and variables related to toggling between installation
of swift inside or outside of a Python virtual environment.
Installing within a venv is now the only supported deployment.

Additionally, a few changes have been made to make the creation of the
venv more resistant to interruptions during a run of the role.
* unarchiving a pre-built venv will now also occur when the venv
  directory is created, not only after being downloaded
* virtualenv-tools is run against both pre-built and non pre-built venvs
  to account for interruptions during or prior to unarchiving

Change-Id: Id2a27c082a5eb4eddc9eacde9de30f4e61f9ec36
Implements: blueprint only-install-venvs
2016-07-08 03:15:37 -07:00

156 lines
5.9 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_init_common.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_init_common.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_init_common.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_init_common.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_init_common.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_init_common.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_init_common.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_bin }}/swift-drive-audit /etc/swift/drive-audit.conf"
minute: 15
cron_file: swift-drive-audit
user: root
tags:
- swift-drive-audit