- job: name: whitebox-neutron-tempest-plugin-base parent: devstack-tempest abstract: true description: | Perform setup common to all Neutron tempest tests roles: - zuul: openstack/devstack - zuul: openstack/neutron-tempest-plugin required-projects: - openstack/neutron - openstack/neutron-tempest-plugin - x/whitebox-neutron-tempest-plugin - openstack/tempest vars: tempest_concurrency: 2 # 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: "\ (^whitebox_neutron_tempest_plugin.tests.scenario)" devstack_localrc: USE_PYTHON3: true NETWORK_API_EXTENSIONS: "{{ (network_api_extensions_common + network_api_extensions_tempest) | join(',') }}" PHYSICAL_NETWORK: public IMAGE_URLS: https://download.rockylinux.org/pub/rocky/9/images/x86_64/Rocky-9-GenericCloud.latest.x86_64.qcow2 CIRROS_VERSION: 0.6.2 DEFAULT_IMAGE_NAME: cirros-0.6.2-x86_64-uec DEFAULT_IMAGE_FILE_NAME: cirros-0.6.2-x86_64-uec.tar.gz ADVANCED_IMAGE_NAME: Rocky-9-GenericCloud.latest.x86_64 ADVANCED_INSTANCE_TYPE: ds1G ADVANCED_INSTANCE_USER: rocky GLANCE_LIMIT_IMAGE_SIZE_TOTAL: 2000 CUSTOMIZE_IMAGE: false 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(ihrachys): remove OVN_BUILD_FROM_SOURCE once the OS packages # include at least OVN v22.03.3. OVN_BUILD_FROM_SOURCE: True # TODO(ihrachys): switch back to a tagged version when it's released # OVN_BRANCH: "v22.03.3" OVN_BRANCH: "36e3ab9b47e93af0599a818e9d6b2930e49473f0" OVS_BRANCH: "2410b95597fcec5f733caf77febdb46f4ffacd27" devstack_plugins: neutron: https://opendev.org/openstack/neutron.git neutron-tempest-plugin: https://opendev.org/openstack/neutron-tempest-plugin.git whitebox-neutron-tempest-plugin: https://opendev.org/x/whitebox-neutron-tempest-plugin.git tempest_plugins: - neutron-tempest-plugin - whitebox-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 - 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 - floating-ip-port-forwarding-detail - floatingip-pools - ip-substring-filtering - l3-conntrack-helper - l3-ext-ndp-proxy - l3-flavors - l3-ha - l3-ndp-proxy - 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 neutron-ndp-proxy: 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 /$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 $NOVA_CONF: api: dhcp_domain: '' 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 whitebox_neutron_plugin_options: run_traffic_flow_tests: True broadcast_receivers_count: 1 group-vars: subnode: devstack_plugins: neutron: https://opendev.org/openstack/neutron.git devstack_services: # 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 irrelevant-files: - ^\.pylintrc$ - ^(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$ - ^plugin.spec$ - ^neutron/agent/.*$ - ^neutron/privileged/.*$ - ^neutron_lib/tests/unit/.*$ - ^neutron_tempest_plugin/scenario/.*$ - ^rally-jobs/.*$ - ^roles/.*functional.*$ - ^playbooks/.*functional.*$ - ^vagrant/.*$ - ^zuul.d/(?!(project)).*\.yaml - job: name: whitebox-neutron-tempest-plugin-ovn parent: whitebox-neutron-tempest-plugin-base-nested-switch pre-run: playbooks/preparations.yaml timeout: 10800 # TODO(mblue): Remove line when changing ovn job to be HA job as well. nodeset: whitebox-neutron-single-node-centos-9-stream vars: network_api_extensions_ovn: - vlan-transparent 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 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(ihrachys): remove OVN_BUILD_FROM_SOURCE once the OS packages # include at least OVN v22.03.3. OVN_BUILD_FROM_SOURCE: True # TODO(ihrachys): switch back to a tagged version when it's released # OVN_BRANCH: "v22.03.3" OVN_BRANCH: "36e3ab9b47e93af0599a818e9d6b2930e49473f0" OVS_BRANCH: "2410b95597fcec5f733caf77febdb46f4ffacd27" 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' 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 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 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 ENABLE_TLS: True irrelevant-files: - ^\.pylintrc$ - ^(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$ - ^plugin.spec$ - ^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/(bgpvpn|fwaas|neutron_dynamic_routing|sfc|tap_as_a_service|vpnaas).*$ - ^neutron_tempest_plugin/services/bgp/.*$ - ^rally-jobs/.*$ - ^roles/.*functional.*$ - ^playbooks/.*dvr-multinode.*$ - ^playbooks/.*dynamic-routing.*$ - ^playbooks/.*functional.*$ - ^playbooks/.*linuxbridge.*$ - ^vagrant/.*$ - ^zuul.d/(?!(project)).*\.yaml - job: name: whitebox-neutron-tempest-plugin-openvswitch parent: whitebox-neutron-tempest-plugin-base-nested-switch pre-run: - playbooks/preparations.yaml - playbooks/multinode-devstack-ovs-tempest.yaml timeout: 10000 vars: configure_swap_size: 2048 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 # 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 network_api_extensions_openvswitch: - dhcp_agent_scheduler - local_ip - qos-bw-minimum-ingress network_available_features: &available_features - ipv6_metadata # test_vrrp is unstable on multinode ovs devstack, uncomment when/if fixed tempest_exclude_regex: "\ (^whitebox_neutron_tempest_plugin.tests.scenario.test_vrrp)" 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 /$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 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 irrelevant-files: - ^\.pylintrc$ - ^(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$ - ^plugin.spec$ - ^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/(bgpvpn|fwaas|neutron_dynamic_routing|sfc|tap_as_a_service|vpnaas).*$ - ^neutron_tempest_plugin/services/bgp/.*$ - ^rally-jobs/.*$ - ^roles/.*functional.*$ - ^playbooks/.*dvr-multinode.*$ - ^playbooks/.*dynamic-routing.*$ - ^playbooks/.*functional.*$ - ^playbooks/.*linuxbridge.*$ - ^vagrant/.*$ - ^zuul.d/(?!(project)).*\.yaml