d74f409c82
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
279 lines
9.6 KiB
YAML
279 lines
9.6 KiB
YAML
- job:
|
|
name: neutron-tempest-dvr-ha-multinode-full
|
|
parent: tempest-multinode-full-py3
|
|
nodeset: openstack-three-node-bionic
|
|
timeout: 10800
|
|
roles:
|
|
- zuul: openstack/neutron-tempest-plugin
|
|
required-projects:
|
|
- openstack/devstack-gate
|
|
- openstack/neutron
|
|
- openstack/tempest
|
|
pre-run: playbooks/dvr-multinode-scenario-pre-run.yaml
|
|
irrelevant-files: &irrelevant-files
|
|
- ^(test-|)requirements.txt$
|
|
- ^.*\.rst$
|
|
- ^doc/.*$
|
|
- ^neutron/locale/.*$
|
|
- ^neutron/tests/unit/.*$
|
|
- ^releasenotes/.*$
|
|
- ^setup.cfg$
|
|
- ^tools/.*$
|
|
- ^tox.ini$
|
|
- ^vagrant/.*$
|
|
- ^migration/.*$
|
|
voting: false
|
|
vars:
|
|
tox_envlist: integrated-network
|
|
devstack_services:
|
|
br-ex-tcpdump: true
|
|
br-int-flows: true
|
|
devstack_plugins:
|
|
neutron: https://opendev.org/openstack/neutron.git
|
|
devstack_local_conf:
|
|
post-config:
|
|
$NEUTRON_CONF:
|
|
DEFAULT:
|
|
router_distributed: True
|
|
l3_ha: True
|
|
# 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:
|
|
mechanism_drivers: openvswitch,l2population
|
|
agent:
|
|
enable_distributed_routing: True
|
|
l2_population: True
|
|
tunnel_types: vxlan
|
|
arp_responder: True
|
|
ovs:
|
|
tunnel_bridge: br-tun
|
|
bridge_mappings: public:br-ex
|
|
$NEUTRON_L3_CONF:
|
|
DEFAULT:
|
|
agent_mode: dvr
|
|
agent:
|
|
availability_zone: nova
|
|
$NEUTRON_DHCP_CONF:
|
|
agent:
|
|
availability_zone: nova
|
|
group-vars:
|
|
subnode:
|
|
devstack_plugins:
|
|
neutron: https://opendev.org/openstack/neutron.git
|
|
devstack_services:
|
|
q-agt: true
|
|
q-l3: true
|
|
q-meta: true
|
|
br-ex-tcpdump: true
|
|
br-int-flows: true
|
|
devstack_local_conf:
|
|
post-config:
|
|
$NEUTRON_CONF:
|
|
DEFAULT:
|
|
router_distributed: True
|
|
# 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":
|
|
agent:
|
|
enable_distributed_routing: True
|
|
l2_population: True
|
|
tunnel_types: vxlan
|
|
arp_responder: True
|
|
ovs:
|
|
tunnel_bridge: br-tun
|
|
bridge_mappings: public:br-ex
|
|
$NEUTRON_L3_CONF:
|
|
DEFAULT:
|
|
agent_mode: dvr_snat
|
|
agent:
|
|
availability_zone: nova
|
|
|
|
- job:
|
|
name: neutron-tempest-multinode-full-py3
|
|
parent: tempest-multinode-full-py3
|
|
timeout: 10800
|
|
irrelevant-files: *irrelevant-files
|
|
vars:
|
|
tox_envlist: integrated-network
|
|
devstack_plugins:
|
|
neutron: https://opendev.org/openstack/neutron.git
|
|
|
|
- job:
|
|
name: neutron-ovn-multinode-base
|
|
description: Base multinode job for devstack/tempest to test Neutron with ovn driver.
|
|
abstract: true
|
|
parent: tempest-multinode-full-py3
|
|
timeout: 10800
|
|
required-projects:
|
|
- openstack/devstack-gate
|
|
- openstack/neutron
|
|
- openstack/neutron-tempest-plugin
|
|
- openstack/tempest
|
|
irrelevant-files: *irrelevant-files
|
|
roles:
|
|
- zuul: zuul/zuul-jobs
|
|
- zuul: openstack/neutron-tempest-plugin
|
|
pre-run: playbooks/multinode-setup.yaml
|
|
vars:
|
|
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_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
|
|
BUILD_TIMEOUT: 784
|
|
ENABLE_TLS: True
|
|
OVN_IGMP_SNOOPING_ENABLE: True
|
|
devstack_plugins:
|
|
neutron: https://opendev.org/openstack/neutron
|
|
neutron-tempest-plugin: https://opendev.org/openstack/neutron-tempest-plugin
|
|
zuul_copy_output:
|
|
'{{ devstack_base_dir }}/data/ovs': 'logs'
|
|
extensions_to_txt:
|
|
db: true
|
|
devstack_services:
|
|
c-bak: false
|
|
etcd: false
|
|
br-ex-tcpdump: true
|
|
br-int-flows: 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-agt: false
|
|
q-dhcp: false
|
|
q-l3: false
|
|
q-meta: false
|
|
q-metering: false
|
|
q-dns: true
|
|
# When running python3 Swift should be disabled for now
|
|
s-account: false
|
|
s-container: false
|
|
s-object: false
|
|
s-proxy: false
|
|
tls-proxy: true
|
|
q-qos: true
|
|
neutron-segments: True
|
|
q-port-forwarding: true
|
|
group-vars:
|
|
subnode:
|
|
devstack_services:
|
|
br-ex-tcpdump: true
|
|
br-int-flows: true
|
|
ovn-controller: true
|
|
ovn-northd: false
|
|
ovs-vswitchd: true
|
|
ovsdb-server: true
|
|
# NOTE(slaweq): it's just to check if this will force devstack to
|
|
# configure neutron and ML2 plugin on subnodes
|
|
q-fake: true
|
|
q-svc: false
|
|
q-agt: false
|
|
q-dhcp: false
|
|
q-l3: false
|
|
q-meta: false
|
|
q-metering: false
|
|
q-ovn-metadata-agent: true
|
|
tls-proxy: true
|
|
devstack_localrc:
|
|
Q_AGENT: ovn
|
|
Q_ML2_PLUGIN_MECHANISM_DRIVERS: ovn,logger
|
|
Q_ML2_TENANT_NETWORK_TYPE: geneve
|
|
Q_USE_PROVIDERNET_FOR_PUBLIC: true
|
|
PHYSICAL_NETWORK: public
|
|
ENABLE_CHASSIS_AS_GW: false
|
|
OVN_DBS_LOG_LEVEL: dbg
|
|
USE_PYTHON3: True
|
|
ENABLE_TLS: True
|
|
# 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
|
|
|
|
|
|
- job:
|
|
name: neutron-ovn-tempest-slow
|
|
parent: neutron-ovn-multinode-base
|
|
vars:
|
|
tox_envlist: slow-serial
|
|
tempest_test_regex: ""
|
|
# TODO(slaweq): remove tests from
|
|
# tempest.scenario.test_network_v6.TestGettingAddress module from
|
|
# blacklist when bug https://bugs.launchpad.net/neutron/+bug/1863577 will
|
|
# be fixed
|
|
# TODO(mjozefcz): The test test_port_security_macspoofing_port
|
|
# and related bug https://bugs.launchpad.net/tempest/+bug/1728886
|
|
# are fixed in Core-OVN, but tempest-slow job uses stable release of
|
|
# core OVN now and thats why it is still failing in this job.
|
|
# Remove this blacklist when OVN 20.06 will be releaseed and consumed.
|
|
# In addition: on next PTG we will discuss the rules of running specific
|
|
# jobs with OVN master and OVN release branches. Please consider
|
|
# specyfing explicitely the version of OVN in tempest-slow jobs.
|
|
tempest_black_regex: "\
|
|
(?:tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_port_security_macspoofing_port)|\
|
|
(^tempest.scenario.test_network_v6.TestGettingAddress)"
|
|
|
|
|
|
- job:
|
|
# TODO(slaweq): propose job with ovs-release and move -master one to
|
|
# experimental queue
|
|
name: neutron-ovn-tempest-full-multinode-ovs-master
|
|
parent: neutron-ovn-multinode-base
|
|
vars:
|
|
tox_envlist: all-plugin
|
|
tempest_test_regex: "^(?!.*\
|
|
(?:.*\\[.*slow.*\\])|\
|
|
(?:tempest.api.network.admin.test_quotas.QuotasTest.test_lbaas_quotas.*)|\
|
|
(?:tempest.api.network.test_load_balancer.*)|\
|
|
(?:tempest.scenario.test_load_balancer.*)|\
|
|
(?:tempest.api.network.admin.test_load_balancer.*)|\
|
|
(?:tempest.api.network.admin.test_lbaas.*)|\
|
|
(?:tempest.api.network.test_fwaas_extensions.*)|\
|
|
(?:tempest.api.network.test_metering_extensions.*)|\
|
|
(?:tempest.thirdparty.boto.test_s3.*)|\
|
|
(?:tempest.api.identity*)|\
|
|
(?:tempest.api.image*)|\
|
|
(?:tempest.api.volume*)|\
|
|
(?:tempest.api.compute.images*)|\
|
|
(?:tempest.api.compute.keypairs*)|\
|
|
(?:tempest.api.compute.certificates*)|\
|
|
(?:tempest.api.compute.flavors*)|\
|
|
(?:tempest.api.compute.test_quotas*)|\
|
|
(?:tempest.api.compute.test_versions*)|\
|
|
(?:tempest.api.compute.volumes*)|\
|
|
(?:tempest.api.compute.admin.test_flavor*)|\
|
|
(?:tempest.api.compute.admin.test_volume*)|\
|
|
(?:tempest.api.compute.admin.test_hypervisor*)|\
|
|
(?:tempest.api.compute.admin.test_aggregate*)|\
|
|
(?:tempest.api.compute.admin.test_quota*)|\
|
|
(?:tempest.scenario.test_volume*))\
|
|
((^neutron_tempest_plugin.api)|\
|
|
(^neutron_tempest_plugin.scenario)|\
|
|
(tempest.(api|scenario|thirdparty))).*$"
|
|
devstack_localrc:
|
|
OVN_BRANCH: master
|
|
OVS_BRANCH: master
|
|
group-vars:
|
|
subnode:
|
|
devstack_localrc:
|
|
OVN_BRANCH: master
|
|
OVS_BRANCH: master
|