neutron/zuul.d/tempest-singlenode.yaml
Flavio Fernandes d74f409c82 [ovn]: port forwarding -- core changes
This is a subset of the changes for implementing the floating IP
port forwarding feature in neutron, using OVN as the backend.

This changeset covers the core implementation for portforwarding/drivers/ovn,
mech_driver, ovn-router as well as a subset of tests.

Port forwarding support in ovn_db_sync is not included here to facilitate review.
That, as well as all other supporting changes, are under the ovn/port_forwarding topic:
https://review.opendev.org/#/q/topic:ovn/port_forwarding+(status:open+OR+status:merged)

Depends-On: https://review.opendev.org/#/c/726478/
Partially-implements: ovn/port_forwarding
Partial-Bug: #1877447

Change-Id: I019fe11ac1ddcf2304f3f144c62d52667fc11dce
2020-08-11 14:54:05 -04:00

333 lines
9.9 KiB
YAML

- job:
name: neutron-tempest-base
description: Base job for tempest to test Neutron
parent: tempest-integrated-networking
abstract: true
timeout: 10800
required-projects:
- openstack/devstack-gate
- openstack/neutron
- openstack/tempest
pre-run: playbooks/configure_ebtables.yaml
vars:
tempest_concurrency: 4
devstack_localrc:
Q_ML2_TENANT_NETWORK_TYPE: vxlan
Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch,linuxbridge
devstack_plugins:
neutron: https://opendev.org/openstack/neutron.git
devstack_services:
# OVN services
ovn-controller: false
ovn-northd: false
ovs-vswitchd: false
ovsdb-server: false
q-ovn-metadata-agent: false
# Neutron services
q-agt: true
q-dhcp: true
q-l3: true
q-meta: true
q-metering: true
q-svc: true
- job:
name: neutron-ovs-base
description: Base job for tempest to test Neutron with ML2/OVS driver
parent: neutron-tempest-base
vars:
devstack_localrc:
Q_AGENT: openvswitch
- job:
name: neutron-tempest-dvr
parent: neutron-ovs-base
vars:
devstack_localrc:
Q_DVR_MODE: dvr_snat
devstack_services:
br-ex-tcpdump: true
br-int-flows: true
irrelevant-files: &irrelevant-files
- ^(test-|)requirements.txt$
- ^.*\.rst$
- ^doc/.*$
- ^neutron/locale/.*$
- ^neutron/tests/unit/.*$
- ^releasenotes/.*$
- ^setup.cfg$
- ^tools/.*$
- ^tox.ini$
- ^vagrant/.*$
- ^migration/.*$
- job:
name: neutron-tempest-linuxbridge
parent: neutron-tempest-base
vars:
devstack_localrc:
Q_AGENT: linuxbridge
irrelevant-files: *irrelevant-files
- job:
name: neutron-tempest-iptables_hybrid
parent: neutron-ovs-base
vars:
devstack_plugins:
neutron: https://opendev.org/openstack/neutron.git
devstack_services:
tls-proxy: false
tempest: true
neutron-dns: true
neutron-qos: true
neutron-segments: true
neutron-trunk: true
neutron-uplink-status-propagation: true
br-ex-tcpdump: true
br-int-flows: true
devstack_local_conf:
post-config:
$NEUTRON_CONF:
QUOTAS:
quota_router: 100
quota_floatingip: 500
quota_security_group: 100
quota_security_group_rule: 1000
# NOTE(slaweq): We can get rid of this hardcoded absolute path when
# devstack-tempest job will be switched to use lib/neutron instead of
# lib/neutron-legacy
"/$NEUTRON_CORE_PLUGIN_CONF":
ml2_type_vlan:
network_vlan_ranges: foo:1:10
agent:
enable_distributed_routing: True
l2_population: True
tunnel_types: vxlan,gre
arp_responder: True
securitygroup:
firewall_driver: iptables_hybrid
$NEUTRON_L3_CONF:
agent:
availability_zone: nova
$NEUTRON_DHCP_CONF:
agent:
availability_zone: nova
test-config:
$TEMPEST_CONFIG:
neutron_plugin_options:
provider_vlans: foo,
agent_availability_zone: nova
image_is_advanced: true
available_type_drivers: flat,geneve,vlan,gre,local,vxlan
irrelevant-files: *irrelevant-files
- job:
name: neutron-tempest-postgres-full
parent: tempest-integrated-networking
timeout: 10800
required-projects:
- openstack/devstack-gate
- openstack/neutron
- openstack/tempest
vars:
devstack_plugins:
neutron: https://opendev.org/openstack/neutron.git
devstack_services:
postgresql: true
mysql: false
br-ex-tcpdump: true
br-int-flows: true
irrelevant-files: *irrelevant-files
- job:
name: neutron-tempest-mariadb-full
parent: tempest-integrated-networking
timeout: 10800
required-projects:
- openstack/devstack-gate
- openstack/neutron
- openstack/tempest
vars:
devstack_localrc:
MYSQL_SERVICE_NAME: mariadb
devstack_plugins:
neutron: https://opendev.org/openstack/neutron.git
devstack_services:
br-ex-tcpdump: true
br-int-flows: true
# NOTE(ralonsoh): once MariaDB default version in Ubuntu is bumped to
# >10.1, this workaround can be removed (bug 1855912)
pre-run: playbooks/add_mariadb_repo.yaml
irrelevant-files: *irrelevant-files
- job:
name: neutron-tempest-with-os-ken-master
parent: tempest-integrated-networking
timeout: 10800
required-projects:
- openstack/devstack-gate
- openstack/neutron
- openstack/tempest
- openstack/os-ken
vars:
devstack_plugins:
neutron: https://opendev.org/openstack/neutron.git
- job:
name: neutron-tempest-with-neutron-lib-master
parent: tempest-integrated-networking
timeout: 10800
required-projects:
- openstack/devstack-gate
- openstack/neutron
- openstack/tempest
- openstack/neutron-lib
vars:
devstack_plugins:
neutron: https://opendev.org/openstack/neutron.git
- job:
name: neutron-tempest-with-uwsgi
parent: tempest-integrated-networking
description: Run neutron Tempest tests with uwsgi
timeout: 10800
vars:
devstack_localrc:
NEUTRON_DEPLOY_MOD_WSGI: true
devstack_plugins:
neutron: https://opendev.org/openstack/neutron.git
devstack_services:
br-ex-tcpdump: true
br-int-flows: true
irrelevant-files: *irrelevant-files
- job:
name: neutron-ovn-base
description: Base job for devstack/tempest to test Neutron with ovn driver.
parent: tempest-integrated-networking
timeout: 10800
required-projects: &ovn-base-required-projects
- openstack/devstack-gate
- openstack/neutron
- openstack/tempest
irrelevant-files: *irrelevant-files
vars: &ovn-base-vars
tempest_concurrency: 4
devstack_local_conf:
test-config:
$TEMPEST_CONFIG:
neutron_plugin_options:
is_igmp_snooping_enabled: True
devstack_localrc:
Q_AGENT: ovn
Q_ML2_PLUGIN_MECHANISM_DRIVERS: ovn,logger
Q_ML2_PLUGIN_TYPE_DRIVERS: local,flat,vlan,geneve
Q_ML2_TENANT_NETWORK_TYPE: geneve
Q_USE_PROVIDERNET_FOR_PUBLIC: true
PHYSICAL_NETWORK: public
ENABLE_CHASSIS_AS_GW: true
OVN_L3_CREATE_PUBLIC_NETWORK: true
OVN_DBS_LOG_LEVEL: dbg
# TODO(mjozefcz): Stop compiling OVS modules when meter action in kernel
# will be released in Ubuntu Bionic.
# More info: https://mail.openvswitch.org/pipermail/ovs-discuss/2018-December/048009.html
OVN_BUILD_MODULES: True
USE_PYTHON3: True
BUILD_TIMEOUT: 784
ENABLE_TLS: True
OVN_IGMP_SNOOPING_ENABLE: True
devstack_plugins:
neutron: https://opendev.org/openstack/neutron
zuul_copy_output:
'{{ devstack_base_dir }}/data/ovs': 'logs'
extensions_to_txt:
db: true
devstack_services:
br-ex-tcpdump: true
br-int-flows: true
c-api: true
c-sch: true
c-vol: true
dstat: true
g-api: true
g-reg: true
keystone: true
n-api-meta: true
n-api: true
n-cauth: true
n-cond-cell1: true
n-cpu: true
n-novnc-cell1: true
n-sch: true
n-super-cond: true
q-ovn-metadata-agent: true
ovn-controller: true
ovn-northd: true
ovs-vswitchd: true
ovsdb-server: true
placement-api: true
q-svc: true
q-dns: true
c-bak: false
etcd: false
q-agt: false
q-dhcp: false
q-l3: false
q-meta: false
q-metering: false
s-account: false
s-container-sync: false
s-container: false
s-object: false
s-proxy: false
tls-proxy: true
q-qos: true
q-port-forwarding: true
- job:
name: neutron-ovn-tempest-ovs-master
description: Job testing for devstack/tempest testing Neutron with ovn driver and OVN master branch
parent: neutron-ovn-base
vars:
devstack_localrc:
OVN_BRANCH: master
- job:
name: neutron-ovn-tempest-ovs-ipv6-only-base
description: Base job for devstack/tempest to test Neutron with ovn driver in an IPv6-only deployment
parent: devstack-tempest-ipv6
timeout: 10800
irrelevant-files: *irrelevant-files
required-projects: *ovn-base-required-projects
vars: *ovn-base-vars
- job:
name: neutron-ovn-tempest-ovs-release-ipv6-only
description: Job testing for devstack/tempest testing Neutron with ovn driver and latest released OVN branch in an IPv6-only deployment
parent: neutron-ovn-tempest-ovs-ipv6-only-base
vars:
devstack_localrc:
OVN_BRANCH: v20.06.1
# TODO(jlibosva): v2.13.0 is incompatible with kernel 4.15.0, sticking to commit hash until new v2.13 tag is created
OVS_BRANCH: 51e9479da62edb04a5be47a7655de75c299b9fa1
- job:
name: neutron-ovn-tempest-ovs-release
description: Job testing for devstack/tempest testing Neutron with ovn driver and latest released OVN branch
parent: neutron-ovn-base
vars:
devstack_localrc:
OVN_BRANCH: v20.06.1
# TODO(jlibosva): v2.13.0 is incompatible with kernel 4.15.0, sticking to commit hash until new v2.13 tag is created
OVS_BRANCH: 51e9479da62edb04a5be47a7655de75c299b9fa1
- job:
name: neutron-ovn-tempest-ovs-master-fedora
description: Job testing for devstack/tempest testing Neutron with ovn driver and OVN master branch and Fedora
parent: neutron-ovn-tempest-ovs-master
nodeset: devstack-single-node-fedora-latest
vars:
devstack_localrc:
OVN_BRANCH: master
OVS_BRANCH: master