openstack-ansible-os_neutron/tests/test-neutron-functional.yml
Travis Truman eb0bb51faf Adding func_ovs tox environment for neutron ovs testing
This tox environment will be run with check experimental for now.
Ultimately it should become part of the gate testing for the role.

Change-Id: I410f029816590dde819a6c97bde5f159f7a791d1
Implements: blueprint support-openvswitch
2016-07-19 08:58:54 -04:00

88 lines
2.3 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.
# Packages need to be installed outside
# of venv to be usable by Ansible
- name: Install testing pip packages
pip:
name: "{{ item }}"
with_items:
- python-neutronclient
- httplib2
- name: Check the neutron api
uri:
url: "http://localhost:9696"
status_code: 200
# No assertion around this yet, just useful for debug purposes
# TODO(automagically) - Test for all expected agents and agent status
- name: Neutron agents status
shell: |
. /root/openrc
neutron agent-list
register: agent_list
- name: Ensure that the DHCP agent is alive
shell: |
. /root/openrc
neutron agent-list | grep DHCP
register: neutron_dhcp_agent
until: neutron_dhcp_agent.stdout.find(':-)') != -1
retries: 5
delay: 10
- name: Create test network
neutron:
command: create_network
openrc_path: /root/openrc
net_name: test-network
- name: Create test subnet
neutron:
command: create_subnet
openrc_path: /root/openrc
net_name: test-network
subnet_name: test-subnet
cidr: "192.168.74.0/24"
- name: Create test port
shell: |
. /root/openrc
neutron port-create --name test-port test-network
register: neutron_port_create
until: neutron_port_create.rc == 0
retries: 5
delay: 10
- name: Check for dhcp network namespace
shell: ip netns
register: dhcp_namespace
- name: Make sure the dhcp namespace is present
assert:
that:
- "'qdhcp' in dhcp_namespace.stdout"
- name: Check for iptables checksum rule
shell: |
ip netns exec {{ dhcp_namespace.stdout.split(' ')[0] }} iptables -C neutron-dhcp-age-POSTROUTING -t mangle -p udp --dport 68 -j CHECKSUM --checksum-fill
register: checksum_rule
until : checksum_rule.rc == 0
retries: 5
delay: 10
when:
- groups['neutron_linuxbridge_agent'] | length > 0