d47f415fb2
The underlaying device is not a real hard disk so there is no need to use the discard option. Change-Id: I5b268c7a3d772e8207c3dc276731a0a7f12f04eb
90 lines
2.8 KiB
YAML
90 lines
2.8 KiB
YAML
---
|
|
# Copyright 2015, 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 setup
|
|
hosts: swift_hosts
|
|
user: root
|
|
become: true
|
|
gather_facts: true
|
|
vars_files:
|
|
- test-vars.yml
|
|
tasks:
|
|
- name: Ensure xfsprogs is installed on localhost
|
|
package:
|
|
name: xfsprogs
|
|
state: present
|
|
delegate_to: "{{ physical_host }}"
|
|
run_once: true
|
|
- name: Ensure xfsprogs is installed on containers
|
|
package:
|
|
name: xfsprogs
|
|
state: present
|
|
- name: Openstack directory Create
|
|
file:
|
|
state: directory
|
|
path: "/openstack/{{ item }}"
|
|
with_items:
|
|
- 'swift1'
|
|
- 'swift2'
|
|
- name: Create sparse Swift files
|
|
shell: "truncate -s 1024G /opt/{{container_name}}_{{ item }}.img"
|
|
args:
|
|
creates: "/opt/{{ container_name}}_{{ item }}.img"
|
|
with_items:
|
|
- 'swift1'
|
|
- 'swift2'
|
|
register: swift_create
|
|
delegate_to: "{{ physical_host }}"
|
|
- name: Format the Swift files
|
|
filesystem:
|
|
fstype: xfs
|
|
opts: '-K'
|
|
dev: "/opt/{{ container_name}}_{{ item }}.img"
|
|
when: swift_create | changed
|
|
with_items:
|
|
- 'swift1'
|
|
- 'swift2'
|
|
delegate_to: "{{ physical_host }}"
|
|
- name: Create the Swift fstab entries and mount the file systems
|
|
mount:
|
|
name: "/srv/{{ container_name }}_{{ item }}"
|
|
src: "/opt/{{ container_name }}_{{ item }}.img"
|
|
fstype: xfs
|
|
opts: 'loop,noatime,nodiratime,nobarrier,logbufs=8'
|
|
passno: 0
|
|
dump: 0
|
|
state: mounted
|
|
with_items:
|
|
- 'swift1'
|
|
- 'swift2'
|
|
register: mount_status
|
|
until: mount_status | success
|
|
retries: 5
|
|
delay: 2
|
|
delegate_to: "{{ physical_host }}"
|
|
- name: Swift extra lxc config
|
|
lxc_container:
|
|
name: "{{ container_name }}"
|
|
container_config:
|
|
- "lxc.mount.entry=/srv/{{ container_name }}_swift1 openstack/swift1 none bind 0 0"
|
|
- "lxc.mount.entry=/srv/{{ container_name }}_swift2 openstack/swift2 none bind 0 0"
|
|
delegate_to: "{{ physical_host }}"
|
|
- name: Wait for container connectivity
|
|
wait_for_connection:
|
|
connect_timeout: "{{ lxc_container_wait_params.connect_timeout | default(omit) }}"
|
|
delay: "{{ lxc_container_wait_params.delay | default(omit) }}"
|
|
sleep: "{{ lxc_container_wait_params.sleep | default(omit) }}"
|
|
timeout: "{{ lxc_container_wait_params.timeout | default(omit) }}"
|