openstack-ansible-tests/test-install-neutron.yml
Andy McCrae b44ad35b85 Run neutron in parallel
Our CentOS builds for Neutron are taking quite some time with the
containers running in serial, this patch moves to build these in
parallel for role testing.

Change-Id: I07b5b0914da340122a85723e7fdb0e1c512578c7
2017-08-22 14:48:28 +00:00

102 lines
3.0 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: Make /lib/modules accessible on neutron_agent containers
hosts: neutron_agent
user: root
become: true
gather_facts: true
any_errors_fatal: true
vars:
kernel_module_path:
apt: "lib/modules"
dnf: "usr/lib/modules"
yum: "usr/lib/modules"
zypper: "lib/modules"
vars_files:
- test-vars.yml
tasks:
- name: Neutron extra lxc config
lxc_container:
name: "{{ container_name }}"
container_command: |
[[ ! -d "/{{ kernel_module_path[ansible_pkg_mgr] }}" ]] && mkdir -p "/{{ kernel_module_path[ansible_pkg_mgr] }}"
container_config:
- "lxc.aa_profile=unconfined"
- "lxc.cgroup.devices.allow=a *:* rmw"
- "lxc.mount.entry=/{{ kernel_module_path[ansible_pkg_mgr] }} {{ kernel_module_path[ansible_pkg_mgr] }} 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) }}"
- name: Prepare for neutron services
hosts: neutron_all
user: root
become: true
gather_facts: true
any_errors_fatal: true
vars:
required_packages:
apt:
- "libffi-dev"
dnf:
- "libffi-devel"
yum:
- "libffi-devel"
zypper:
- "libffi-devel"
vars_files:
- test-vars.yml
tasks:
# NOTE: These are typically installed in the repo server where we build the
# neutron wheel
- name: Install packages required to build neutron python package
package:
name: "{{ required_packages[ansible_pkg_mgr] }}"
state: present
- include: ensure-rabbitmq.yml
vhost_name: "{{ neutron_rabbitmq_vhost }}"
user_name: "{{ neutron_rabbitmq_userid }}"
user_password: "{{ neutron_rabbitmq_password }}"
- include: create-grant-db.yml
db_name: "{{ neutron_galera_database }}"
db_password: "{{ neutron_container_mysql_password }}"
- name: Deploy neutron server
hosts: neutron_all
user: root
become: true
gather_facts: true
any_errors_fatal: true
roles:
- role: "os_neutron"
vars_files:
- test-vars.yml