Add integrated test for Ubuntu using ML2/OVN driver

This patchset implements an integrated test for a new aio_metal_ovn
scenario, which deploys the ML2/OVN driver and associated services. The
basic server ops tempest test is also included. Expectations are that
the deployed cirros VM will be reachable behind a floating IP internally
for testing purposes.

add testing for both bionic and focal

Depends-On: https://review.opendev.org/#/c/750802

Change-Id: I1ff22f8b42bfb421a7af3ee0d6ffc3c25e7d4d91
This commit is contained in:
James Denton 2020-06-02 22:06:39 +00:00 committed by Marc Gariépy (mgariepy)
parent f16f1f617d
commit 5ae985bbf4
6 changed files with 102 additions and 0 deletions

View File

@ -0,0 +1,16 @@
component_skel:
neutron_ovn_controller:
belongs_to:
- neutron_all
neutron_ovn_northd:
belongs_to:
- neutron_all
container_skel:
neutron_agents_container:
contains: {}
neutron_ovn_northd_container:
belongs_to:
- network_containers
contains:
- neutron_ovn_northd

View File

@ -0,0 +1,13 @@
container_skel:
nova_compute_container:
belongs_to:
- compute_containers
- kvm-compute_containers
- lxd-compute_containers
- qemu-compute_containers
- powervm-compute_containers
contains:
- neutron_ovn_controller
- nova_compute
properties:
is_metal: true

View File

@ -200,6 +200,9 @@
- src: user_variables_ironic.yml.j2 - src: user_variables_ironic.yml.j2
dest: user_variables_ironic.yml dest: user_variables_ironic.yml
condition: "{{ 'ironic' in bootstrap_host_scenarios_expanded }}" condition: "{{ 'ironic' in bootstrap_host_scenarios_expanded }}"
- src: user_variables_neutron_ovn.yml.j2
dest: user_variables_neutron_ovn.yml
condition: "{{ 'ovn' in bootstrap_host_scenarios_expanded }}"
- name: Copy modified cinder-volume env.d file for ceph scenario - name: Copy modified cinder-volume env.d file for ceph scenario
@ -216,6 +219,20 @@
when: when:
- "'calico' in bootstrap_host_scenarios_expanded" - "'calico' in bootstrap_host_scenarios_expanded"
- name: Copy modified neutron env.d for for ovn scenario
copy:
src: "{{ playbook_dir }}/../etc/openstack_deploy/env.d/neutron_ovn.yml.example"
dest: "/etc/openstack_deploy/env.d/neutron.yml"
when:
- "'ovn' in bootstrap_host_scenarios_expanded"
- name: Copy modified nova env.d for ovn scenario
copy:
src: "{{ playbook_dir }}/../etc/openstack_deploy/env.d/nova_ovn.yml.example"
dest: "/etc/openstack_deploy/env.d/nova.yml"
when:
- "'ovn' in bootstrap_host_scenarios_expanded"
- name: Create vars override folders if we need to test them - name: Create vars override folders if we need to test them
file: file:
path: "{{ item }}" path: "{{ item }}"

View File

@ -0,0 +1,34 @@
# 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.
neutron_plugin_type: ml2.ovn
neutron_local_ip: "{{ ansible_host }}"
neutron_plugin_base:
- neutron.services.ovn_l3.plugin.OVNL3RouterPlugin
neutron_ml2_drivers_type: "geneve,vlan,flat"
neutron_provider_networks:
network_types: "geneve"
network_geneve_ranges: "1:1000"
network_vlan_ranges: "vlan"
network_mappings: "vlan:br-provider,flat:br-flat"
network_interface_mappings: "br-flat:eth12"
tempest_run_concurrency: 0
tempest_plugins:
- name: neutron-tempest-plugin
repo: https://opendev.org/openstack/neutron-tempest-plugin
branch: master
tempest_test_whitelist:
- "neutron_tempest_plugin.api.test_networks*"
- "tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_network_basic_ops"
tempest_private_net_provider_type: geneve
tempest_network_ping_gateway: True

View File

@ -230,6 +230,17 @@
nodeset: ubuntu-focal nodeset: ubuntu-focal
# ubuntu # ubuntu
- job:
name: openstack-ansible-deploy-aio_ovn_lxc-ubuntu-focal
parent: openstack-ansible-deploy-aio
nodeset: ubuntu-focal
- job:
name: openstack-ansible-deploy-aio_metal_ovn-ubuntu-focal
parent: openstack-ansible-deploy-aio
nodeset: ubuntu-focal
# ubuntu bionic
- job: - job:
name: openstack-ansible-deploy-aio_lxc-ubuntu-bionic name: openstack-ansible-deploy-aio_lxc-ubuntu-bionic
parent: openstack-ansible-deploy-aio parent: openstack-ansible-deploy-aio
@ -245,6 +256,11 @@
parent: openstack-ansible-deploy-aio parent: openstack-ansible-deploy-aio
nodeset: ubuntu-bionic nodeset: ubuntu-bionic
- job:
name: openstack-ansible-deploy-aio_ovn_lxc-ubuntu-bionic
parent: openstack-ansible-deploy-aio
nodeset: ubuntu-bionic
- job: - job:
name: openstack-ansible-deploy-aio_proxy-ubuntu-bionic name: openstack-ansible-deploy-aio_proxy-ubuntu-bionic
parent: openstack-ansible-deploy-aio parent: openstack-ansible-deploy-aio
@ -260,6 +276,11 @@
parent: openstack-ansible-deploy-aio parent: openstack-ansible-deploy-aio
nodeset: ubuntu-bionic nodeset: ubuntu-bionic
- job:
name: openstack-ansible-deploy-aio_metal_ovn-ubuntu-bionic
parent: openstack-ansible-deploy-aio
nodeset: ubuntu-bionic
- job: - job:
name: openstack-ansible-deploy-aio_telemetry_metal-ubuntu-bionic name: openstack-ansible-deploy-aio_telemetry_metal-ubuntu-bionic
parent: openstack-ansible-deploy-aio parent: openstack-ansible-deploy-aio

View File

@ -41,6 +41,7 @@
- openstack-ansible-deploy-aio_lxc-centos-8 - openstack-ansible-deploy-aio_lxc-centos-8
- openstack-ansible-deploy-aio_lxc-debian-buster - openstack-ansible-deploy-aio_lxc-debian-buster
- openstack-ansible-deploy-aio_lxc-ubuntu-focal - openstack-ansible-deploy-aio_lxc-ubuntu-focal
- openstack-ansible-deploy-aio_ovn_lxc-ubuntu-focal
gate: gate:
jobs: jobs:
- openstack-ansible-deploy-aio_lxc-centos-8 - openstack-ansible-deploy-aio_lxc-centos-8