openstack-ansible-tests/test-install-nova.yml
Jesse Pretorius 81d26d1845 Move database creation into role (nova)
There is no record for why we implement the database creation outside
of the role in the playbook, when we could do it inside the role.

Implementing it inside the role allows us to reduce the quantity of
group_vars duplicated from the role, and allows us to better document
the required variables in the role. The delegation can still be done
as it is done in the playbook too.

In this patch we remove the test-vars which were duplicated from the
role, and remove the DB setup tasks as they are no longer required.

Change-Id: Ie74023c542858f1017509689a3dc3b402614f3d4
Depends-On: https://review.openstack.org/571785
2018-06-01 18:49:07 +01:00

101 lines
2.7 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.
- include: setting-nodepool-variables.yml
- name: Prepare for nova services
hosts: nova_all
user: root
become: true
gather_facts: true
any_errors_fatal: true
vars:
required_packages:
apt:
- libxml2-dev
- libxslt-dev
- libffi-dev
- pkg-config
- libvirt-dev
dnf:
- libxml2-devel
- libxslt-devel
- libffi-devel
- pkgconfig
- libvirt-devel
yum:
- libxml2-devel
- libxslt-devel
- libffi-devel
- pkgconfig
- libvirt-devel
zypper:
- libxml2-devel
- libxslt-devel
- libffi-devel
- pkg-config
- libvirt-devel
vars_files:
- test-vars.yml
tasks:
# NOTE: These are typically installed in the repo server where we build the
# nova wheel
- name: Install packages required to build nova python package
package:
name: "{{ required_packages[ansible_pkg_mgr] }}"
state: present
- include: ensure-rabbitmq.yml
vhost_name: "{{ nova_rabbitmq_vhost }}"
user_name: "{{ nova_rabbitmq_userid }}"
user_password: "{{ nova_rabbitmq_password }}"
when:
- "'rabbitmq_all' in groups"
- "groups['rabbitmq_all'] | length > 0"
- "'oslomsg_rpc_all' not in groups"
- include: ensure-oslomsg.yml
rpc_vhost: "{{ nova_oslomsg_rpc_vhost }}"
rpc_user: "{{ nova_oslomsg_rpc_userid }}"
rpc_password: "{{ nova_oslomsg_rpc_password }}"
notify_vhost: "{{ nova_oslomsg_notify_vhost }}"
notify_user: "{{ nova_oslomsg_notify_userid }}"
notify_password: "{{ nova_oslomsg_notify_password }}"
when:
- "'oslomsg_rpc_all' in groups"
- "groups['oslomsg_rpc_all'] | length > 0"
- name: Deploy nova control plane
hosts: "nova_all:!nova_compute"
user: root
become: true
gather_facts: true
any_errors_fatal: true
roles:
- role: "os_nova"
vars_files:
- test-vars.yml
- name: Deploy nova compute
hosts: "nova_compute"
user: root
become: true
gather_facts: true
any_errors_fatal: true
roles:
- role: "os_nova"
vars_files:
- test-vars.yml