Kevin Carter c3800224b0
move drive layout to deploy-vms and fix deploy-osa tags/tasks
Change-Id: Iaee4c3683d798320099dec77286e6fac7a10bee8
Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
2017-07-28 14:49:27 -05:00

204 lines
5.5 KiB
YAML

---
# Copyright 2017, 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 witing, 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: Setup cinder host volume
hosts: cinder_hosts
gather_facts: false
tasks:
- name: Create cinder-volumes lv
lvol:
vg: vg00
lv: cinder-volumes00
size: 100%FREE
shrink: false
- name: Create data cinder-volumes group
lvg:
vg: cinder-volumes
pvs: "/dev/vg00/cinder-volumes00"
vars_files:
- vars/main.yml
tags:
- deploy-osa
- name: Setup cinder host volume
hosts: swift_hosts
gather_facts: false
tasks:
- name: Remove deleteme lv
lvol:
vg: vg00
lv: "{{ item }}"
size: 4G
with_items:
- disk1
- disk2
- disk3
- name: Format swift drives
filesystem:
fstype: xfs
dev: "/dev/vg00/{{ item }}"
with_items:
- disk1
- disk2
- disk3
- name: Create drive directories
file:
path: "/srv/{{ item }}"
state: directory
owner: "root"
group: "root"
mode: "0755"
with_items:
- disk1
- disk2
- disk3
- name: Mount swift drives
mount:
name: "/srv/{{ item }}"
src: "/dev/mapper/vg00-{{ item }}"
fstype: xfs
state: mounted
with_items:
- disk1
- disk2
- disk3
vars_files:
- vars/main.yml
tags:
- deploy-osa
- name: Setup deploy host
hosts: deploy_hosts
gather_facts: "{{ gather_facts | default(true) }}"
pre_tasks:
- name: Gather variables for each operating system
include_vars: "{{ item }}"
with_first_found:
- "{{ playbook_dir }}/vars/{{ ansible_distribution | lower }}-{{ ansible_distribution_version | lower }}.yml"
- "{{ playbook_dir }}/vars/{{ ansible_distribution | lower }}-{{ ansible_distribution_major_version | lower }}.yml"
- "{{ playbook_dir }}/vars/{{ ansible_os_family | lower }}-{{ ansible_distribution_major_version | lower }}.yml"
- "{{ playbook_dir }}/vars/{{ ansible_distribution | lower }}.yml"
- "{{ playbook_dir }}/vars/{{ ansible_os_family | lower }}.yml"
tags:
- always
tasks:
# Example read-write git checkout from github
- name: Get OSA
git:
repo: https://git.openstack.org/openstack/openstack-ansible
dest: /opt/openstack-ansible
version: "{{ osa_branch | default('master') }}"
when:
- pre_config_osa | default(true) | bool
- name: Create base directories
file:
path: "{{ item }}"
state: directory
owner: "root"
group: "root"
mode: "0755"
with_items:
- /etc/openstack_deploy
- /etc/openstack_deploy/conf.d
- /etc/openstack_deploy/env.d
when:
- pre_config_osa | default(true) | bool
- name: Create Basic configs
shell: cp -R etc/openstack_deploy/* /etc/openstack_deploy
args:
chdir: /opt/openstack-ansible
when:
- pre_config_osa | default(true) | bool
- name: Drop osa config
template:
src: "osa/openstack_user_config.yml"
dest: /etc/openstack_deploy/openstack_user_config.yml
mode: "0644"
owner: root
group: root
when:
- pre_config_osa | default(true) | bool
- name: Drop osa user variables
template:
src: "osa/user_mnaio_variables.yml"
dest: /etc/openstack_deploy/user_mnaio_variables.yml
mode: "0644"
owner: root
group: root
when:
- pre_config_osa | default(true) | bool
- name: Bootstrap ansible
command: bash ./scripts/bootstrap-ansible.sh
args:
chdir: /opt/openstack-ansible
when:
- pre_config_osa | default(true) | bool
- name: Get pip2 and pw gen deps
shell: |
python2 /opt/get-pip.py
$(which pip2 || which pip) install setuptools pycrypto pyyaml
args:
chdir: /opt/openstack-ansible
when:
- pre_config_osa | default(true) | bool
- name: Create passwords
command: python2 ./scripts/pw-token-gen.py --file /etc/openstack_deploy/user_secrets.yml
args:
chdir: /opt/openstack-ansible
when:
- pre_config_osa | default(true) | bool
- name: Run OSA
command: "{{ item }}"
args:
chdir: /opt/openstack-ansible/playbooks
with_items:
- tmux new-session -d -s build-osa
- tmux select-pane -t 0
- tmux send-keys "ulimit -n 10240" C-m
- tmux send-keys "openstack-ansible setup-everything.yml" C-m
when:
- inventory_hostname == groups['deploy_hosts'][0]
- run_osa | default(true) | bool
- name: Finished notice
debug:
msg: |
OSA deploy running. To check on the state of this deployment, login
to the {{ groups['deploy_hosts'][0] }} VM and attach to the "build-osa" tmux session.
when:
- run_osa | default(true) | bool
vars_files:
- vars/main.yml
tags:
- deploy-osa