openstack-ansible-tests/test-install-nova.yml

98 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
remote_user: root
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"
remote_user: root
gather_facts: true
any_errors_fatal: true
roles:
- role: "os_nova"
vars_files:
- test-vars.yml
- name: Deploy nova compute
hosts: "nova_compute"
remote_user: root
gather_facts: true
any_errors_fatal: true
roles:
- role: "os_nova"
vars_files:
- test-vars.yml