- job: name: neutron-tempest-plugin-base parent: devstack-tempest abstract: true description: | Perform setup common to all Neutron tempest tests roles: - zuul: openstack/devstack required-projects: - openstack/neutron - openstack/neutron-tempest-plugin - openstack/tempest vars: tempest_concurrency: 3 # out of 4 tox_envlist: all # NOTE(slaweq): in case of some tests, which requires advanced image, # default test timeout set to 1200 seconds may be not enough if job is # run on slow node tempest_test_timeout: 2400 tempest_test_regex: "\ (^neutron_tempest_plugin.api)|\ (^neutron_tempest_plugin.scenario)|\ (^tempest.api.compute.servers.test_attach_interfaces)|\ (^tempest.api.compute.servers.test_multiple_create)" devstack_localrc: USE_PYTHON3: true NETWORK_API_EXTENSIONS: "{{ (network_api_extensions_common + network_api_extensions_tempest) | join(',') }}" PHYSICAL_NETWORK: public IMAGE_URLS: https://cloud-images.ubuntu.com/minimal/releases/focal/release/ubuntu-20.04-minimal-cloudimg-amd64.img CIRROS_VERSION: 0.5.1 DEFAULT_IMAGE_NAME: cirros-0.5.1-x86_64-uec DEFAULT_IMAGE_FILE_NAME: cirros-0.5.1-x86_64-uec.tar.gz ADVANCED_IMAGE_NAME: ubuntu-20.04-minimal-cloudimg-amd64 ADVANCED_INSTANCE_TYPE: ntp_image_256M ADVANCED_INSTANCE_USER: ubuntu CUSTOMIZE_IMAGE: true BUILD_TIMEOUT: 784 # TODO(lucasagomes): Re-enable MOD_WSGI after # https://bugs.launchpad.net/neutron/+bug/1912359 is implemented NEUTRON_DEPLOY_MOD_WSGI: false # TODO(ralonsoh): remove OVN_BUILD_FROM_SOURCE once the OS packages # include at least OVN v20.12.0. OVN_BUILD_FROM_SOURCE: True OVN_BRANCH: "v21.03.0" OVS_BRANCH: "8dc1733eaea866dce033b3c44853e1b09bf59fc7" devstack_plugins: neutron: https://opendev.org/openstack/neutron.git neutron-tempest-plugin: https://opendev.org/openstack/neutron-tempest-plugin.git tempest_plugins: - neutron-tempest-plugin # TODO(slaweq): find a way to put this list of extensions in # neutron repository and keep it different per branch, # then it could be removed from here network_api_extensions_common: &api_extensions - address-group - address-scope - agent - allowed-address-pairs - auto-allocated-topology - availability_zone - binding - default-subnetpools - dhcp_agent_scheduler - dns-domain-ports - dns-integration - dns-integration-domain-keywords - empty-string-filtering - expose-port-forwarding-in-fip - expose-l3-conntrack-helper - ext-gw-mode - external-net - extra_dhcp_opt - extraroute - extraroute-atomic - filter-validation - fip-port-details - flavors - floating-ip-port-forwarding - floatingip-pools - ip-substring-filtering - l3-conntrack-helper - l3-flavors - l3-ha - l3_agent_scheduler - metering - multi-provider - net-mtu - net-mtu-writable - network-ip-availability - network_availability_zone - network-segment-range - pagination - port-device-profile - port-resource-request - port-resource-request-groups - port-mac-address-regenerate - port-security - port-security-groups-filtering - project-id - provider - qos - qos-fip - quotas - quota_details - rbac-address-group - rbac-address-scope - rbac-policies - rbac-security-groups - rbac-subnetpool - router - router_availability_zone - security-group - security-groups-remote-address-group - segment - service-type - sorting - standard-attr-description - standard-attr-revisions - standard-attr-segment - standard-attr-tag - standard-attr-timestamp - stateful-security-group - subnet_allocation - subnet-dns-publish-fixed-ip - subnet-service-types - subnetpool-prefix-ops - tag-ports-during-bulk-creation - trunk - trunk-details - uplink-status-propagation devstack_services: tempest: true neutron-dns: true neutron-log: true neutron-qos: true neutron-segments: true neutron-trunk: true neutron-uplink-status-propagation: true neutron-network-segment-range: true neutron-port-forwarding: true neutron-conntrack-helper: true neutron-tag-ports-during-bulk-creation: true br-ex-tcpdump: true br-int-flows: true # Cinder services c-api: false c-bak: false c-sch: false c-vol: false cinder: false # We don't need Swift to be run in the Neutron jobs s-account: false s-container: false s-object: false s-proxy: false devstack_local_conf: post-config: $NEUTRON_CONF: QUOTAS: quota_router: 100 quota_floatingip: 500 quota_security_group: 150 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_drivers: flat,geneve,vlan,gre,local,vxlan ml2_type_vlan: network_vlan_ranges: foo:1:10 ml2_type_vxlan: vni_ranges: 1:2000 ml2_type_gre: tunnel_id_ranges: 1:1000 network_log: local_output_log_base: /tmp/test_log.log $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 provider_net_base_segm_id: 1 irrelevant-files: - ^(test-|)requirements.txt$ - lower-constraints.txt - ^releasenotes/.*$ - ^doc/.*$ - ^setup.cfg$ - ^.*\.rst$ - ^.*\.conf\.sample$ - ^neutron/locale/.*$ - ^neutron/tests/unit/.*$ - ^neutron/tests/fullstack/.* - ^neutron/tests/functional/.* - ^tools/.*$ - ^tox.ini$ - ^neutron/agent/.*$ - ^neutron/privileged/.*$ - ^neutron_lib/tests/unit/.*$ - ^neutron_tempest_plugin/scenario/.*$ - ^rally-jobs/.*$ - ^vagrant/.*$ - ^zuul.d/(?!(project)).*\.yaml - job: name: neutron-tempest-plugin-openvswitch parent: neutron-tempest-plugin-base-nested-switch timeout: 10000 vars: devstack_services: # Disable OVN services br-ex-tcpdump: false br-int-flows: false ovn-controller: false ovn-northd: false ovs-vswitchd: false ovsdb-server: false q-ovn-metadata-agent: false # Neutron services neutron-local-ip-static: true q-agt: true q-dhcp: true q-l3: true q-meta: true q-metering: true network_api_extensions_openvswitch: - local_ip - qos-bw-minimum-ingress network_available_features: &available_features - ipv6_metadata devstack_localrc: Q_AGENT: openvswitch Q_ML2_TENANT_NETWORK_TYPE: vxlan Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch NETWORK_API_EXTENSIONS: "{{ (network_api_extensions_common + network_api_extensions_openvswitch) | join(',') }}" devstack_local_conf: post-config: $NEUTRON_CONF: DEFAULT: enable_dvr: false 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: agent: tunnel_types: vxlan,gre ovs: tunnel_bridge: br-tun bridge_mappings: public:br-ex openflow_processed_per_port: True test-config: $TEMPEST_CONFIG: network-feature-enabled: available_features: "{{ network_available_features | join(',') }}" neutron_plugin_options: available_type_drivers: flat,vlan,local,vxlan firewall_driver: openvswitch irrelevant-files: &openvswitch-scenario-irrelevant-files - ^(test-|)requirements.txt$ - lower-constraints.txt - ^releasenotes/.*$ - ^doc/.*$ - ^setup.cfg$ - ^.*\.rst$ - ^.*\.conf\.sample$ - ^neutron/locale/.*$ - ^neutron/tests/unit/.*$ - ^neutron/tests/fullstack/.* - ^neutron/tests/functional/.* - ^tools/.*$ - ^tox.ini$ - ^neutron/agent/ovn/.*$ - ^neutron/agent/windows/.*$ - ^neutron/plugins/ml2/drivers/linuxbridge/.*$ - ^neutron/plugins/ml2/drivers/macvtap/.*$ - ^neutron/plugins/ml2/drivers/mech_sriov/.*$ - ^neutron/plugins/ml2/drivers/ovn/.*$ - ^neutron/services/ovn_l3/.*$ - ^neutron/services/logapi/drivers/ovn/.*$ - ^neutron/services/portforwarding/drivers/ovn/.*$ - ^neutron/services/qos/drivers/linuxbridge/.*$ - ^neutron/services/qos/drivers/ovn/.*$ - ^neutron/services/trunk/drivers/linuxbridge/.*$ - ^neutron/services/trunk/drivers/ovn/.*$ - ^neutron/cmd/ovn/.*$ - ^neutron/common/ovn/.*$ - ^neutron_tempest_plugin/api/test_.*$ - ^neutron_tempest_plugin/(bgpvpn|fwaas|neutron_dynamic_routing|sfc|tap_as_a_service|vpnaas).*$ - ^neutron_tempest_plugin/services/bgp/.*$ - ^rally-jobs/.*$ - ^vagrant/.*$ - ^zuul.d/(?!(project)).*\.yaml - job: name: neutron-tempest-plugin-openvswitch-iptables_hybrid parent: neutron-tempest-plugin-base-nested-switch timeout: 10000 vars: devstack_services: # Disable OVN services br-ex-tcpdump: false br-int-flows: false ovn-controller: false ovn-northd: false ovs-vswitchd: false ovsdb-server: false q-ovn-metadata-agent: false # Neutron services neutron-local-ip: true q-agt: true q-dhcp: true q-l3: true q-meta: true q-metering: true network_api_extensions_openvswitch: - local_ip - logging network_available_features: *available_features # TODO(slaweq): remove trunks subport_connectivity test from blacklist # when bug https://bugs.launchpad.net/neutron/+bug/1838760 will be fixed # TODO(akatz): remove established tcp session verification test when the # bug https://bugzilla.redhat.com/show_bug.cgi?id=1965036 will be fixed tempest_exclude_regex: "\ (^neutron_tempest_plugin.scenario.test_trunk.TrunkTest.test_subport_connectivity)|\ (^neutron_tempest_plugin.scenario.test_security_groups.NetworkSecGroupTest.test_established_tcp_session_after_re_attachinging_sg)" devstack_localrc: Q_AGENT: openvswitch Q_ML2_TENANT_NETWORK_TYPE: vxlan Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch NETWORK_API_EXTENSIONS: "{{ (network_api_extensions_common + network_api_extensions_openvswitch) | join(',') }}" devstack_local_conf: post-config: $NEUTRON_CONF: DEFAULT: enable_dvr: false 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: agent: tunnel_types: vxlan,gre ovs: tunnel_bridge: br-tun bridge_mappings: public:br-ex securitygroup: firewall_driver: iptables_hybrid test-config: $TEMPEST_CONFIG: network-feature-enabled: available_features: "{{ network_available_features | join(',') }}" neutron_plugin_options: available_type_drivers: flat,vlan,local,vxlan firewall_driver: iptables_hybrid irrelevant-files: - ^(test-|)requirements.txt$ - lower-constraints.txt - ^releasenotes/.*$ - ^doc/.*$ - ^setup.cfg$ - ^.*\.rst$ - ^.*\.conf\.sample$ - ^neutron/locale/.*$ - ^neutron/tests/unit/.*$ - ^neutron/tests/fullstack/.* - ^neutron/tests/functional/.* - ^tools/.*$ - ^tox.ini$ - ^neutron/agent/linux/openvswitch_firewall/.*$ - ^neutron/agent/ovn/.*$ - ^neutron/agent/windows/.*$ - ^neutron/plugins/ml2/drivers/linuxbridge/.*$ - ^neutron/plugins/ml2/drivers/macvtap/.*$ - ^neutron/plugins/ml2/drivers/mech_sriov/.*$ - ^neutron/plugins/ml2/drivers/ovn/.*$ - ^neutron/services/ovn_l3/.*$ - ^neutron/services/logapi/drivers/ovn/.*$ - ^neutron/services/portforwarding/drivers/ovn/.*$ - ^neutron/services/qos/drivers/linuxbridge/.*$ - ^neutron/services/qos/drivers/ovn/.*$ - ^neutron/services/trunk/drivers/linuxbridge/.*$ - ^neutron/services/trunk/drivers/ovn/.*$ - ^neutron/cmd/ovn/.*$ - ^neutron/common/ovn/.*$ - ^neutron_tempest_plugin/api/test_.*$ - ^neutron_tempest_plugin/(bgpvpn|fwaas|neutron_dynamic_routing|sfc|tap_as_a_service|vpnaas).*$ - ^neutron_tempest_plugin/services/bgp/.*$ - ^rally-jobs/.*$ - ^vagrant/.*$ - ^zuul.d/(?!(project)).*\.yaml # TODO(slaweq): remove that job's definition as soon as new job # "neutron-tempest-plugin-openvswitch-iptables_hybrid" will be used in the # neutron repo as a parent for a # "neutron-ovs-tempest-plugin-scenario-iptables_hybrid-nftables" job - job: name: neutron-tempest-plugin-scenario-openvswitch-iptables_hybrid parent: neutron-tempest-plugin-openvswitch-iptables_hybrid - job: name: neutron-tempest-plugin-openvswitch-distributed-dhcp parent: neutron-tempest-plugin-openvswitch timeout: 10000 vars: # NOTE: DHCP extra options and dns services aren't supported with # distributed DHCP L2 agent extension tempest_exclude_regex: "\ (^neutron_tempest_plugin.scenario.test_dhcp.DHCPTest.test_extra_dhcp_opts)|\ (^neutron_tempest_plugin.scenario.test_internal_dns.InternalDNSTest.test_dns_domain_and_name)" devstack_services: q-dhcp: false q-distributed-dhcp: true - job: name: neutron-tempest-plugin-openvswitch-iptables_hybrid-distributed-dhcp parent: neutron-tempest-plugin-openvswitch-iptables_hybrid timeout: 10000 vars: # NOTE: DHCP extra options and dns services aren't supported with # distributed DHCP L2 agent extension tempest_exclude_regex: "\ (^neutron_tempest_plugin.scenario.test_dhcp.DHCPTest.test_extra_dhcp_opts)|\ (^neutron_tempest_plugin.scenario.test_internal_dns.InternalDNSTest.test_dns_domain_and_name)" devstack_services: q-dhcp: false q-distributed-dhcp: true - job: name: neutron-tempest-plugin-linuxbridge parent: neutron-tempest-plugin-base-nested-switch timeout: 10000 roles: - zuul: openstack/neutron pre-run: playbooks/linuxbridge-scenario-pre-run.yaml vars: devstack_services: # Disable OVN services br-ex-tcpdump: false br-int-flows: false 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 # SG logging isn't supported by linuxbridge backend neutron-log: false network_api_extensions_linuxbridge: - vlan-transparent network_available_features: *available_features # TODO(eolivare): remove VLAN Transparency tests from blacklist # when bug https://bugs.launchpad.net/neutron/+bug/1907548 will be fixed # TODO(slaweq): remove # test_established_tcp_session_after_re_attachinging_sg from the # exclude regex when bug https://bugs.launchpad.net/neutron/+bug/1936911 # will be fixed # TODO(slaweq) remove test_floatingip_port_details from the exclude # regex when bug https://bugs.launchpad.net/neutron/+bug/1799790 will be # fixed tempest_exclude_regex: "\ (^neutron_tempest_plugin.scenario.test_vlan_transparency.VlanTransparencyTest)|\ (^neutron_tempest_plugin.scenario.test_security_groups.NetworkSecGroupTest.test_established_tcp_session_after_re_attachinging_sg)|\ (^neutron_tempest_plugin.scenario.test_floatingip.FloatingIPPortDetailsTest.test_floatingip_port_details)" devstack_localrc: Q_AGENT: linuxbridge NETWORK_API_EXTENSIONS: "{{ (network_api_extensions_common + network_api_extensions_linuxbridge) | join(',') }}" Q_ML2_TENANT_NETWORK_TYPE: vxlan Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch,linuxbridge devstack_local_conf: post-config: $NEUTRON_CONF: DEFAULT: enable_dvr: false vlan_transparent: true l3_ha: true AGENT: debug_iptables_rules: 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: type_drivers: flat,vlan,local,vxlan mechanism_drivers: linuxbridge test-config: $TEMPEST_CONFIG: network-feature-enabled: available_features: "{{ network_available_features | join(',') }}" neutron_plugin_options: available_type_drivers: flat,vlan,local,vxlan q_agent: linuxbridge firewall_driver: iptables irrelevant-files: - ^(test-|)requirements.txt$ - lower-constraints.txt - ^releasenotes/.*$ - ^doc/.*$ - ^setup.cfg$ - ^.*\.rst$ - ^.*\.conf\.sample$ - ^neutron/locale/.*$ - ^neutron/tests/unit/.*$ - ^neutron/tests/fullstack/.* - ^neutron/tests/functional/.* - ^tools/.*$ - ^tox.ini$ - ^neutron/agent/linux/openvswitch_firewall/.*$ - ^neutron/agent/ovn/.*$ - ^neutron/agent/windows/.*$ - ^neutron/plugins/ml2/drivers/openvswitch/.*$ - ^neutron/plugins/ml2/drivers/macvtap/.*$ - ^neutron/plugins/ml2/drivers/mech_sriov/.*$ - ^neutron/plugins/ml2/drivers/ovn/.*$ - ^neutron/services/ovn_l3/.*$ - ^neutron/services/logapi/drivers/openvswitch/.*$ - ^neutron/services/logapi/drivers/ovn/.*$ - ^neutron/services/portforwarding/drivers/ovn/.*$ - ^neutron/services/qos/drivers/openvswitch/.*$ - ^neutron/services/qos/drivers/ovn/.*$ - ^neutron/services/trunk/drivers/openvswitch/.*$ - ^neutron/services/trunk/drivers/ovn/.*$ - ^neutron/cmd/ovn/.*$ - ^neutron/common/ovn/.*$ - ^neutron_tempest_plugin/api/test_.*$ - ^neutron_tempest_plugin/(bgpvpn|fwaas|neutron_dynamic_routing|sfc|tap_as_a_service|vpnaas).*$ - ^neutron_tempest_plugin/services/bgp/.*$ - ^rally-jobs/.*$ - ^vagrant/.*$ - ^zuul.d/(?!(project)).*\.yaml # TODO(slaweq): remove that job's definition as soon as new job # "neutron-tempest-plugin-linuxbridge" will be used in the neutron repo as # a parent for a "neutron-linuxbridge-tempest-plugin-scenario-nftables" job - job: name: neutron-tempest-plugin-scenario-linuxbridge parent: neutron-tempest-plugin-linuxbridge - job: name: neutron-tempest-plugin-ovn parent: neutron-tempest-plugin-base-nested-switch timeout: 10800 vars: network_api_extensions_ovn: - vlan-transparent # TODO(jlibosva): Remove the NetworkWritableMtuTest test from the list # once east/west fragmentation is supported in core OVN tempest_exclude_regex: "\ (^neutron_tempest_plugin.scenario.test_mtu.NetworkWritableMtuTest)" devstack_localrc: Q_AGENT: ovn NETWORK_API_EXTENSIONS: "{{ (network_api_extensions_common + network_api_extensions_ovn) | join(',') }}" 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 # NOTE(slaweq): In the job with OVN backend we can't use Ubuntu minimal # image because kernel in that image don't supports MULTICAST traffic # thus multicast scenario test with IGMP snooping enabled would fail IMAGE_URLS: https://cloud-images.ubuntu.com/releases/bionic/release/ubuntu-18.04-server-cloudimg-amd64.img ADVANCED_IMAGE_NAME: ubuntu-18.04-server-cloudimg-amd64 ADVANCED_INSTANCE_TYPE: ntp_image_384M ADVANCED_INSTANCE_USER: ubuntu CUSTOMIZE_IMAGE: false ENABLE_CHASSIS_AS_GW: true OVN_L3_CREATE_PUBLIC_NETWORK: true OVN_DBS_LOG_LEVEL: dbg ENABLE_TLS: True OVN_IGMP_SNOOPING_ENABLE: True # TODO(eolivare): Remove OVN_BUILD_FROM_SOURCE once vlan-transparency # is included in an ovn released version OVN_BUILD_FROM_SOURCE: True OVN_BRANCH: "v21.06.0" OVS_BRANCH: "a4b04276ab5934d087669ff2d191a23931335c87" OVS_SYSCONFDIR: "/usr/local/etc/openvswitch" devstack_services: 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 q-agt: false q-dhcp: false q-l3: false q-meta: false q-metering: false q-qos: true # Cinder services c-api: false c-bak: false c-sch: false c-vol: false cinder: false s-account: false s-container-sync: false s-container: false s-object: false s-proxy: false devstack_local_conf: post-config: $NEUTRON_CONF: DEFAULT: enable_dvr: false vlan_transparent: true /$NEUTRON_CORE_PLUGIN_CONF: ml2: type_drivers: local,flat,vlan,geneve test-config: $TEMPEST_CONFIG: network-feature-enabled: available_features: "" neutron_plugin_options: available_type_drivers: local,flat,vlan,geneve is_igmp_snooping_enabled: True firewall_driver: ovn zuul_copy_output: '{{ devstack_base_dir }}/data/ovs': 'logs' '{{ devstack_base_dir }}/data/ovn': 'logs' '{{ devstack_log_dir }}/ovsdb-server-nb.log': 'logs' '{{ devstack_log_dir }}/ovsdb-server-sb.log': 'logs' '/var/log/ovn': 'logs' '/var/log/openvswitch': 'logs' '/var/lib/ovn': 'logs' irrelevant-files: - ^(test-|)requirements.txt$ - lower-constraints.txt - ^releasenotes/.*$ - ^doc/.*$ - ^setup.cfg$ - ^.*\.rst$ - ^.*\.conf\.sample$ - ^neutron/locale/.*$ - ^neutron/tests/unit/.*$ - ^neutron/tests/fullstack/.* - ^neutron/tests/functional/.* - ^tools/.*$ - ^tox.ini$ - ^neutron/agent/dhcp/.*$ - ^neutron/agent/l2/.*$ - ^neutron/agent/l3/.*$ - ^neutron/agent/metadata/.*$ - ^neutron/agent/windows/.*$ - ^neutron/agent/dhcp_agent.py - ^neutron/agent/l3_agent.py - ^neutron/agent/metadata_agent.py - ^neutron/agent/resource_cache.py - ^neutron/agent/rpc.py - ^neutron/agent/securitygroup_rpc.py - ^neutron/plugins/ml2/drivers/linuxbridge/.*$ - ^neutron/plugins/ml2/drivers/openvswitch/.*$ - ^neutron/plugins/ml2/drivers/macvtap/.*$ - ^neutron/plugins/ml2/drivers/mech_sriov/.*$ - ^neutron/services/qos/drivers/linuxbridge/.*$ - ^neutron/services/qos/drivers/openvswitch/.*$ - ^neutron/services/trunk/drivers/linuxbridge/.*$ - ^neutron/services/trunk/drivers/openvswitch/.*$ - ^neutron/scheduler/.*$ - ^neutron_tempest_plugin/api/test_.*$ - ^neutron_tempest_plugin/(bgpvpn|fwaas|neutron_dynamic_routing|sfc|tap_as_a_service|vpnaas).*$ - ^neutron_tempest_plugin/services/bgp/.*$ - ^rally-jobs/.*$ - ^vagrant/.*$ - ^zuul.d/(?!(project)).*\.yaml # TODO(slaweq): remove that job's definition as soon as new job # "neutron-tempest-plugin-ovn" will be used in the neutron-lib repo as # instead of old "neutron-tempest-plugin-api" job - job: name: neutron-tempest-plugin-api parent: neutron-tempest-plugin-ovn - job: name: neutron-tempest-plugin-dvr-multinode-scenario parent: tempest-multinode-full description: | Perform setup for Neutron tempest tests in multinode with DVR scenario roles: - zuul: openstack/devstack required-projects: - openstack/neutron - openstack/neutron-tempest-plugin - openstack/tempest pre-run: playbooks/dvr-multinode-scenario-pre-run.yaml voting: false vars: tempest_concurrency: 4 tox_envlist: all tempest_test_regex: ^neutron_tempest_plugin\.scenario # NOTE(slaweq): in case of some tests, which requires advanced image, # default test timeout set to 1200 seconds may be not enough if job is # run on slow node tempest_test_timeout: 2400 network_api_extensions_common: *api_extensions network_api_extensions_dvr: - dvr devstack_localrc: USE_PYTHON3: true NETWORK_API_EXTENSIONS: "{{ (network_api_extensions_common + network_api_extensions_dvr) | join(',') }}" PHYSICAL_NETWORK: default CIRROS_VERSION: 0.5.1 DEFAULT_IMAGE_NAME: cirros-0.5.1-x86_64-uec DEFAULT_IMAGE_FILE_NAME: cirros-0.5.1-x86_64-uec.tar.gz IMAGE_URLS: https://cloud-images.ubuntu.com/minimal/releases/focal/release/ubuntu-20.04-minimal-cloudimg-amd64.img ADVANCED_IMAGE_NAME: ubuntu-20.04-minimal-cloudimg-amd64 ADVANCED_INSTANCE_TYPE: ntp_image_256M ADVANCED_INSTANCE_USER: ubuntu CUSTOMIZE_IMAGE: true BUILD_TIMEOUT: 784 Q_AGENT: openvswitch Q_ML2_TENANT_NETWORK_TYPE: vxlan Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch devstack_plugins: neutron: https://opendev.org/openstack/neutron.git neutron-tempest-plugin: https://opendev.org/openstack/neutron-tempest-plugin.git tempest_plugins: - neutron-tempest-plugin devstack_services: tls-proxy: true tempest: true # Disable OVN services br-ex-tcpdump: false br-int-flows: false 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 neutron-dns: true neutron-qos: true neutron-segments: true neutron-trunk: true neutron-log: true neutron-port-forwarding: true # Cinder services c-api: false c-bak: false c-sch: false c-vol: false cinder: false # We don't need Swift to be run in the Neutron jobs s-account: false s-container: false s-object: false s-proxy: false devstack_local_conf: post-config: $NEUTRON_CONF: quotas: quota_router: 100 quota_floatingip: 500 quota_security_group: 100 quota_security_group_rule: 1000 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": ml2: type_drivers: flat,geneve,vlan,gre,local,vxlan mechanism_drivers: openvswitch,l2population ml2_type_vlan: network_vlan_ranges: foo:1:10 ml2_type_vxlan: vni_ranges: 1:2000 ml2_type_gre: tunnel_id_ranges: 1:1000 agent: enable_distributed_routing: True l2_population: True tunnel_types: vxlan,gre ovs: tunnel_bridge: br-tun bridge_mappings: public:br-ex $NEUTRON_L3_CONF: DEFAULT: agent_mode: dvr_snat agent: availability_zone: nova $NEUTRON_DHCP_CONF: agent: availability_zone: nova "/etc/neutron/api-paste.ini": "composite:neutronapi_v2_0": use: "call:neutron.auth:pipeline_factory" noauth: "cors request_id catch_errors osprofiler extensions neutronapiapp_v2_0" keystone: "cors request_id catch_errors osprofiler authtoken keystonecontext extensions neutronapiapp_v2_0" test-config: $TEMPEST_CONFIG: network-feature-enabled: available_features: *available_features neutron_plugin_options: provider_vlans: foo, agent_availability_zone: nova image_is_advanced: true available_type_drivers: flat,geneve,vlan,gre,local,vxlan l3_agent_mode: dvr_snat firewall_driver: openvswitch group-vars: subnode: devstack_services: tls-proxy: true br-ex-tcpdump: false br-int-flows: false # Disable 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-l3: true q-meta: true neutron-qos: true neutron-trunk: true neutron-log: true neutron-port-forwarding: true # Cinder services c-bak: false c-vol: false # We don't need Swift to be run in the Neutron jobs s-account: false s-container: false s-object: false s-proxy: false devstack_localrc: USE_PYTHON3: true Q_AGENT: openvswitch Q_ML2_TENANT_NETWORK_TYPE: vxlan Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch 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,gre ovs: tunnel_bridge: br-tun bridge_mappings: public:br-ex $NEUTRON_L3_CONF: DEFAULT: agent_mode: dvr_snat agent: availability_zone: nova irrelevant-files: *openvswitch-scenario-irrelevant-files - job: name: neutron-tempest-plugin-designate-scenario parent: neutron-tempest-plugin-base-nested-switch description: Neutron designate integration scenario required-projects: - openstack/designate - openstack/designate-dashboard - openstack/designate-tempest-plugin timeout: 3600 vars: network_api_extensions_common: *api_extensions devstack_localrc: DESIGNATE_BACKEND_DRIVER: bind9 # In this job advanced image is not needed, so it's name should be # empty ADVANCED_IMAGE_NAME: "" NETWORK_API_EXTENSIONS: "{{ network_api_extensions_common | join(',') }}" devstack_plugins: designate: https://opendev.org/openstack/designate.git devstack_services: cinder: false designate: true tempest_plugins: - designate-tempest-plugin - neutron-tempest-plugin tempest_test_regex: ^neutron_tempest_plugin\.scenario\.test_dns_integration irrelevant-files: - ^(test-|)requirements.txt$ - lower-constraints.txt - ^releasenotes/.*$ - ^doc/.*$ - ^setup.cfg$ - ^.*\.rst$ - ^.*\.conf\.sample$ - ^neutron/locale/.*$ - ^neutron/tests/unit/.*$ - ^neutron/tests/fullstack/.* - ^neutron/tests/functional/.* - ^tools/.*$ - ^tox.ini$ - ^neutron/agent/.*$ - ^neutron/cmd/.*$ - ^neutron/privileged/.*$ - ^neutron/plugins/ml2/drivers/.*$ - ^neutron/scheduler/.*$ - ^neutron/services/(?!externaldns).*$ - ^neutron_tempest_plugin/api/test_.*$ - ^neutron_tempest_plugin/(bgpvpn|fwaas|neutron_dynamic_routing|sfc|tap_as_a_service|vpnaas).*$ - ^neutron_tempest_plugin/services/bgp/.*$ - ^rally-jobs/.*$ - ^vagrant/.*$ - ^zuul.d/(?!(project)).*\.yaml - job: name: neutron-tempest-plugin-sfc parent: neutron-tempest-plugin-base timeout: 10800 required-projects: - openstack/networking-sfc - openstack/neutron - openstack/neutron-tempest-plugin - openstack/tempest vars: devstack_services: # Disable OVN services br-ex-tcpdump: false br-int-flows: false ovn-controller: false ovn-northd: false ovs-vswitchd: false ovsdb-server: false q-ovn-metadata-agent: false # Enable Neutron services that are not used by OVN q-agt: true q-dhcp: true q-l3: true q-meta: true q-metering: true tempest_test_regex: ^neutron_tempest_plugin\.sfc devstack_plugins: networking-sfc: https://opendev.org/openstack/networking-sfc neutron-tempest-plugin: https://opendev.org/openstack/neutron-tempest-plugin network_api_extensions_sfc: - flow_classifier - sfc devstack_localrc: Q_AGENT: openvswitch Q_ML2_TENANT_NETWORK_TYPE: vxlan Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch NETWORK_API_EXTENSIONS: "{{ (network_api_extensions_common + network_api_extensions_sfc) | join(',') }}" # TODO(bcafarel): tests still fail from time to time in parallel # https://bugs.launchpad.net/neutron/+bug/1851500 # https://bugs.launchpad.net/networking-sfc/+bug/1660366 tempest_concurrency: 1 irrelevant-files: - ^(test-|)requirements.txt$ - lower-constraints.txt - ^releasenotes/.*$ - ^doc/.*$ - ^.*\.conf\.sample$ - ^setup.cfg$ - ^.*\.rst$ - ^neutron/locale/.*$ - ^neutron/tests/unit/.*$ - ^neutron/tests/fullstack/.* - ^neutron/tests/functional/.* - ^neutron_tempest_plugin/api/test_.*$ - ^neutron_tempest_plugin/(bgpvpn|fwaas|neutron_dynamic_routing|tap_as_a_service|vpnaas).*$ - ^neutron_tempest_plugin/services/bgp/.*$ - ^tools/.*$ - ^tox.ini$ - ^rally-jobs/.*$ - ^vagrant/.*$ - ^zuul.d/(?!(project)).*\.yaml - job: name: neutron-tempest-plugin-bgpvpn-bagpipe parent: neutron-tempest-plugin-base required-projects: - openstack/networking-bagpipe - openstack/networking-bgpvpn vars: devstack_services: # Disable OVN services br-ex-tcpdump: false br-int-flows: false ovn-controller: false ovn-northd: false ovs-vswitchd: false ovsdb-server: false q-ovn-metadata-agent: false # Enable Neutron services that are not used by OVN q-agt: true q-dhcp: true q-l3: true q-meta: true q-metering: true tempest_test_regex: ^neutron_tempest_plugin\.bgpvpn network_api_extensions_bgpvpn: - bgpvpn - bgpvpn-routes-control devstack_localrc: Q_AGENT: openvswitch Q_ML2_TENANT_NETWORK_TYPE: vxlan Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch NETWORKING_BGPVPN_DRIVER: "BGPVPN:BaGPipe:networking_bgpvpn.neutron.services.service_drivers.bagpipe.bagpipe_v2.BaGPipeBGPVPNDriver:default" BAGPIPE_DATAPLANE_DRIVER_IPVPN: "ovs" BAGPIPE_BGP_PEERS: "-" NETWORK_API_EXTENSIONS: "{{ (network_api_extensions_common + network_api_extensions_bgpvpn) | join(',') }}" devstack_plugins: networking-bgpvpn: https://git.openstack.org/openstack/networking-bgpvpn networking-bagpipe: https://git.openstack.org/openstack/networking-bagpipe irrelevant-files: - ^(test-|)requirements.txt$ - lower-constraints.txt - ^releasenotes/.*$ - ^doc/.*$ - ^.*\.conf\.sample$ - ^setup.cfg$ - ^.*\.rst$ - ^neutron/locale/.*$ - ^neutron/tests/unit/.*$ - ^neutron/tests/fullstack/.* - ^neutron/tests/functional/.* - ^neutron_tempest_plugin/api/test_.*$ - ^neutron_tempest_plugin/(fwaas|neutron_dynamic_routing|sfc|tap_as_a_service|vpnaas).*$ - ^neutron_tempest_plugin/services/bgp/.*$ - ^tools/.*$ - ^tox.ini$ - ^rally-jobs/.*$ - ^vagrant/.*$ - ^zuul.d/(?!(project)).*\.yaml - job: name: neutron-tempest-plugin-dynamic-routing parent: neutron-tempest-plugin-base description: | Perform setup common to all Neutron dynamic routing tempest tests required-projects: - openstack/neutron - openstack/neutron-dynamic-routing - openstack/os-ken - openstack/tempest pre-run: playbooks/dynamic-routing-pre-run.yaml vars: devstack_plugins: neutron-dynamic-routing: https://opendev.org/openstack/neutron-dynamic-routing neutron-tempest-plugin: https://opendev.org/openstack/neutron-tempest-plugin network_api_extensions_bgp: - bgp - bgp_dragent_scheduler - bgp_4byte_asn devstack_localrc: NETWORK_API_EXTENSIONS: "{{ (network_api_extensions_common + network_api_extensions_bgp) | join(',') }}" Q_AGENT: openvswitch Q_ML2_TENANT_NETWORK_TYPE: vxlan Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch devstack_services: # Disable OVN services br-ex-tcpdump: false br-int-flows: false 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-meta: true q-metering: true q-l3: true neutron-dr: true neutron-dr-agent: true tempest_concurrency: 1 tempest_test_regex: ^neutron_tempest_plugin\.neutron_dynamic_routing irrelevant-files: - ^(test-|)requirements.txt$ - lower-constraints.txt - ^releasenotes/.*$ - ^doc/.*$ - ^.*\.conf\.sample$ - ^setup.cfg$ - ^.*\.rst$ - ^neutron/locale/.*$ - ^neutron/tests/unit/.*$ - ^neutron/tests/fullstack/.* - ^neutron/tests/functional/.* - ^neutron_tempest_plugin/api/test_.*$ - ^neutron_tempest_plugin/(bgpvpn|fwaas|sfc|tap_as_a_service|vpnaas).*$ - ^tools/.*$ - ^tox.ini$ - ^rally-jobs/.*$ - ^vagrant/.*$ - ^zuul.d/(?!(project)).*\.yaml - job: name: neutron-tempest-plugin-fwaas parent: neutron-tempest-plugin-base timeout: 10800 required-projects: - openstack/devstack-gate - openstack/neutron-fwaas - openstack/neutron - openstack/neutron-tempest-plugin - openstack/tempest vars: tempest_concurrency: 4 tempest_test_regex: ^neutron_tempest_plugin\.fwaas devstack_plugins: neutron-fwaas: https://opendev.org/openstack/neutron-fwaas.git neutron-tempest-plugin: https://opendev.org/openstack/neutron-tempest-plugin.git network_api_extensions_fwaas: - fwaas_v2 devstack_localrc: NETWORK_API_EXTENSIONS: "{{ (network_api_extensions_common + network_api_extensions_fwaas) | join(',') }}" Q_AGENT: openvswitch Q_ML2_TENANT_NETWORK_TYPE: vxlan Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch devstack_services: # Disable OVN services br-ex-tcpdump: false br-int-flows: false ovn-controller: false ovn-northd: false q-ovn-metadata-agent: false # Neutron services q-agt: true q-dhcp: true q-meta: true q-metering: true q-l3: true neutron-log: false irrelevant-files: - ^(test-|)requirements.txt$ - ^releasenotes/.*$ - ^doc/.*$ - ^.*\.conf\.sample$ - ^setup.cfg$ - ^.*\.rst$ - ^neutron/locale/.*$ - ^neutron/tests/unit/.*$ - ^neutron/tests/fullstack/.* - ^neutron/tests/functional/.* - ^neutron_tempest_plugin/api/test_.*$ - ^neutron_tempest_plugin/(bgpvpn|neutron_dynamic_routing|sfc|tap_as_a_service|vpnaas).*$ - ^neutron_tempest_plugin/services/bgp/.*$ - ^tools/.*$ - ^tox.ini$ - ^rally-jobs/.*$ - ^vagrant/.*$ - ^zuul.d/(?!(project)).*\.yaml - job: name: neutron-tempest-plugin-vpnaas parent: neutron-tempest-plugin-base timeout: 3900 required-projects: - openstack/neutron - openstack/neutron-vpnaas - openstack/neutron-tempest-plugin - openstack/tempest vars: tempest_test_regex: ^neutron_tempest_plugin\.vpnaas devstack_plugins: neutron-vpnaas: https://opendev.org/openstack/neutron-vpnaas.git neutron-tempest-plugin: https://opendev.org/openstack/neutron-tempest-plugin.git network_api_extensions_common: *api_extensions network_api_extensions_vpnaas: - vpnaas devstack_localrc: IPSEC_PACKAGE: strongswan NETWORK_API_EXTENSIONS: "{{ (network_api_extensions_common + network_api_extensions_vpnaas) | join(',') }}" Q_AGENT: openvswitch Q_ML2_TENANT_NETWORK_TYPE: vxlan Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch devstack_services: # Disable OVN services br-ex-tcpdump: false br-int-flows: false 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-meta: true q-metering: true q-l3: true irrelevant-files: - ^(test-|)requirements.txt$ - lower-constraints.txt - ^releasenotes/.*$ - ^doc/.*$ - ^.*\.conf\.sample$ - ^setup.cfg$ - ^.*\.rst$ - ^neutron/locale/.*$ - ^neutron/tests/unit/.*$ - ^neutron/tests/fullstack/.* - ^neutron/tests/functional/.* - ^neutron_tempest_plugin/api/test_.*$ - ^neutron_tempest_plugin/(bgpvpn|fwaas|neutron_dynamic_routing|sfc|tap_as_a_service).*$ - ^neutron_tempest_plugin/services/bgp/.*$ - ^tools/.*$ - ^tox.ini$ - ^rally-jobs/.*$ - ^vagrant/.*$ - ^zuul.d/(?!(project)).*\.yaml - job: name: neutron-tempest-plugin-tap-as-a-service parent: neutron-tempest-plugin-base description: | Perform setup common to all tap-as-a-service tempest tests roles: - zuul: openstack/devstack required-projects: - openstack/devstack-gate - openstack/neutron - openstack/neutron-tempest-plugin - openstack/tap-as-a-service - openstack/tempest vars: tempest_test_regex: ^neutron_tempest_plugin\.tap_as_a_service tox_envlist: all network_api_extensions_tempest: - taas - taas-vlan-filter devstack_localrc: NETWORK_API_EXTENSIONS: "{{ (network_api_extensions_common + network_api_extensions_tempest) | join(',') }}" IMAGE_URLS: https://cloud-images.ubuntu.com/releases/bionic/release/ubuntu-18.04-server-cloudimg-amd64.img ADVANCED_IMAGE_NAME: ubuntu-18.04-server-cloudimg-amd64 ADVANCED_INSTANCE_TYPE: ntp_image_384M ADVANCED_INSTANCE_USER: ubuntu CUSTOMIZE_IMAGE: false BUILD_TIMEOUT: 784 Q_AGENT: openvswitch Q_ML2_TENANT_NETWORK_TYPE: vxlan,vlan Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch devstack_local_conf: post-config: /$NEUTRON_CORE_PLUGIN_CONF: AGENT: tunnel_types: vxlan ml2_type_vlan: network_vlan_ranges: public test-config: $TEMPEST_CONFIG: neutron_plugin_options: image_is_advanced: true advanced_image_flavor_ref: d1 taas: provider_physical_network: public provider_segmentation_id: 100 image_feature_enabled: api_v2: true devstack_plugins: neutron: git://opendev.org/openstack/neutron.git neutron-tempest-plugin: https://opendev.org/openstack/neutron-tempest-plugin.git tap-as-a-service: git://opendev.org/openstack/tap-as-a-service.git devstack_services: # Disable OVN services ovn-controller: false ovn-northd: false ovs-vswitchd: false ovsdb-server: false q-ovn-metadata-agent: false # Enable Neutron services that are not used by OVN q-agt: true q-dhcp: true q-l3: true q-meta: true q-metering: true br-ex-tcpdump: true br-int-flows: true base: false key: true mysql: true rabbit: true g-api: true g-reg: true n-api: true n-cond: true n-cpu: true n-crt: true n-sch: true placement-api: true n-api-meta: true q-svc: true quantum: true taas: true taas_openvswitch_agent: true tempest: true dstat: true irrelevant-files: - ^(test-|)requirements.txt$ - lower-constraints.txt - ^releasenotes/.*$ - ^doc/.*$ - ^.*\.conf\.sample$ - ^setup.cfg$ - ^.*\.rst$ - ^neutron/locale/.*$ - ^neutron/tests/unit/.*$ - ^neutron/tests/fullstack/.* - ^neutron/tests/functional/.* - ^neutron_tempest_plugin/api/test_.*$ - ^neutron_tempest_plugin/(bgpvpn|fwaas|neutron_dynamic_routing|sfc|vpnaas).*$ - ^neutron_tempest_plugin/services/bgp/.*$ - ^tools/.*$ - ^tox.ini$ - ^rally-jobs/.*$ - ^vagrant/.*$ - ^zuul.d/(?!(project)).*\.yaml