- job: name: neutron-ovs-tempest-dvr-ha-multinode-full parent: tempest-multinode-full-py3 timeout: 10800 roles: - zuul: openstack/neutron-tempest-plugin required-projects: - openstack/neutron - openstack/tempest pre-run: playbooks/dvr-multinode-scenario-pre-run.yaml irrelevant-files: &openvswitch-irrelevant-files - ^(test-|)requirements.txt$ - ^releasenotes/.*$ - ^doc/.*$ - ^setup.cfg$ - ^.*\.conf\.sample$ - ^.*\.rst$ - ^neutron/locale/.*$ - ^neutron/tests/.*$ - ^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/.*$ - ^vagrant/.*$ - ^zuul.d/(?!(project)).*\.yaml vars: tox_envlist: integrated-network devstack_localrc: Q_ML2_TENANT_NETWORK_TYPE: vxlan Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch,linuxbridge Q_AGENT: openvswitch devstack_services: br-ex-tcpdump: true br-int-flows: true # Neutron services q-agt: true q-dhcp: true q-l3: true q-meta: true q-metering: true q-svc: true # OVN services ovn-controller: false ovn-northd: false ovs-vswitchd: false ovsdb-server: false q-ovn-metadata-agent: false # Cinder services c-api: false c-bak: false c-sch: false c-vol: false cinder: false # Swift services s-account: false s-container: false s-object: false s-proxy: false 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_snat agent: availability_zone: nova debug_iptables_rules: True $NEUTRON_DHCP_CONF: agent: availability_zone: nova group-vars: subnode: devstack_plugins: neutron: https://opendev.org/openstack/neutron.git devstack_localrc: Q_ML2_TENANT_NETWORK_TYPE: vxlan Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch,linuxbridge Q_AGENT: openvswitch devstack_services: q-agt: true q-l3: true q-meta: true br-ex-tcpdump: true br-int-flows: true # OVN services ovn-controller: false ovs-vswitchd: false ovsdb-server: false q-ovn-metadata-agent: false # Cinder services c-api: false c-bak: false c-sch: false c-vol: false cinder: false # Swift services s-account: false s-container: false s-object: false s-proxy: false 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 resource_provider_bandwidths: br-ex:1000000:1000000 $NEUTRON_L3_CONF: DEFAULT: agent_mode: dvr_snat agent: availability_zone: nova debug_iptables_rules: True # TODO(ralonsoh): remove this duplicated definition when "devstack", # "tempest" and "nova" adopt the new name. - job: name: neutron-tempest-dvr-ha-multinode-full parent: neutron-ovs-tempest-dvr-ha-multinode-full - job: name: neutron-ovs-tempest-multinode-full parent: tempest-multinode-full-py3 timeout: 10800 irrelevant-files: *openvswitch-irrelevant-files vars: tox_envlist: integrated-network devstack_localrc: Q_ML2_TENANT_NETWORK_TYPE: vxlan Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch,linuxbridge Q_AGENT: openvswitch devstack_plugins: neutron: https://opendev.org/openstack/neutron.git devstack_services: br-ex-tcpdump: true br-int-flows: true # Neutron services q-agt: true q-dhcp: true q-l3: true q-meta: true q-metering: true q-svc: true neutron-placement: true neutron-qos: true # OVN services ovn-controller: false ovn-northd: false ovs-vswitchd: false ovsdb-server: false q-ovn-metadata-agent: false # Cinder services c-api: false c-bak: false c-sch: false c-vol: false cinder: false # Swift services s-account: false s-container: false s-object: false s-proxy: false devstack_local_conf: post-config: $NEUTRON_CONF: nova: live_migration_events: True $NEUTRON_L3_CONF: agent: debug_iptables_rules: True "/$NEUTRON_CORE_PLUGIN_CONF": ovs: bridge_mappings: public:br-ex resource_provider_bandwidths: br-ex:1000000:1000000 resource_provider_packet_processing_without_direction: :100 test-config: $TEMPEST_CONFIG: network-feature-enabled: qos_placement_physnet: public qos_min_bw_and_pps: True group-vars: subnode: devstack_localrc: Q_ML2_TENANT_NETWORK_TYPE: vxlan Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch,linuxbridge Q_AGENT: openvswitch devstack_services: q-agt: true # OVN services ovn-controller: false ovs-vswitchd: false ovsdb-server: false q-ovn-metadata-agent: false # Cinder services c-bak: false c-vol: false devstack_local_conf: post-config: $NEUTRON_CONF: nova: live_migration_events: True $NEUTRON_L3_CONF: agent: debug_iptables_rules: True "/$NEUTRON_CORE_PLUGIN_CONF": ovs: bridge_mappings: public:br-ex resource_provider_bandwidths: br-ex:1000000:1000000 resource_provider_packet_processing_without_direction: :100 - job: name: neutron-ovs-tempest-slow parent: tempest-slow-py3 timeout: 10800 irrelevant-files: *openvswitch-irrelevant-files vars: devstack_plugins: neutron: https://opendev.org/openstack/neutron.git devstack_localrc: Q_ML2_TENANT_NETWORK_TYPE: vxlan Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch,linuxbridge Q_AGENT: openvswitch devstack_services: br-ex-tcpdump: true br-int-flows: true # Neutron services q-agt: true q-dhcp: true q-l3: true q-meta: true q-metering: true q-svc: true # OVN services ovn-controller: false ovn-northd: false ovs-vswitchd: false ovsdb-server: false q-ovn-metadata-agent: false # Cinder services c-api: false c-bak: false c-sch: false c-vol: false cinder: false # Swift services s-account: false s-container: false s-object: false s-proxy: false devstack_local_conf: post-config: $NEUTRON_L3_CONF: agent: debug_iptables_rules: True group-vars: subnode: devstack_localrc: Q_ML2_TENANT_NETWORK_TYPE: vxlan Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch,linuxbridge Q_AGENT: openvswitch devstack_services: q-agt: true # OVN services ovn-controller: false ovs-vswitchd: false ovsdb-server: false q-ovn-metadata-agent: false # Cinder services c-bak: false c-vol: false devstack_local_conf: post-config: $NEUTRON_L3_CONF: agent: debug_iptables_rules: True - 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/neutron - openstack/neutron-tempest-plugin - openstack/tempest irrelevant-files: &ovn-irrelevant-files - ^(test-|)requirements.txt$ - ^releasenotes/.*$ - ^doc/.*$ - ^setup.cfg$ - ^.*\.conf\.sample$ - ^.*\.rst$ - ^neutron/locale/.*$ - ^neutron/tests/.*$ - ^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/.*$ - ^zuul.d/(?!(project)).*\.yaml roles: - zuul: zuul/zuul-jobs - zuul: openstack/neutron-tempest-plugin pre-run: playbooks/prepare-ovn-multinode.yaml vars: devstack_local_conf: test-config: $TEMPEST_CONFIG: neutron_plugin_options: is_igmp_snooping_enabled: True post-config: "/$NEUTRON_CORE_PLUGIN_CONF": ovn: enable_distributed_floating_ip: True devstack_localrc: Q_AGENT: ovn ML2_L3_PLUGIN: ovn-router,trunk 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 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: '/var/log/ovn': 'logs' '/var/log/openvswitch': 'logs' '/var/lib/ovn': 'logs' extensions_to_txt: db: true devstack_services: 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 # Cinder services c-api: false c-bak: false c-sch: false c-vol: false cinder: false # 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 dstat: 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 dstat: true # Cinder services c-bak: false c-vol: false 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 - job: name: neutron-ovn-tempest-slow parent: neutron-ovn-multinode-base vars: tox_envlist: slow-serial tempest_test_regex: "" - 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 run: playbooks/multinode-devstack-custom.yaml vars: tox_envlist: all 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))).*$" 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' devstack_localrc: OVN_BUILD_FROM_SOURCE: True OVN_BRANCH: main OVS_BRANCH: master group-vars: subnode: devstack_localrc: OVN_BUILD_FROM_SOURCE: True OVN_BRANCH: main OVS_BRANCH: master