neutron-tempest-plugin/.zuul.yaml

629 lines
20 KiB
YAML

- job:
name: neutron-tempest-plugin
parent: devstack-tempest
abstract: true
description: |
Perform setup common to all Neutron tempest tests
roles:
- zuul: openstack-dev/devstack
required-projects:
- openstack-infra/devstack-gate
- openstack/neutron
- openstack/neutron-tempest-plugin
- openstack/tempest
vars:
tempest_concurrency: 4
tox_envlist: all
network_api_extensions_common: &api_extensions_master
- address-scope
- agent
- allowed-address-pairs
- auto-allocated-topology
- availability_zone
- binding
- default-subnetpools
- dhcp_agent_scheduler
- dns-domain-ports
- dns-integration
- empty-string-filtering
- ext-gw-mode
- external-net
- extra_dhcp_opt
- extraroute
- filter-validation
- fip-port-details
- flavors
- floatingip-pools
- ip-substring-filtering
- l3-flavors
- l3-ha
- l3_agent_scheduler
- logging
- metering
- multi-provider
- net-mtu
- net-mtu-writable
- network-ip-availability
- network_availability_zone
- network-segment-range
- pagination
- port-resource-request
- port-mac-address-regenerate
- port-security
- port-security-groups-filtering
- project-id
- provider
- qos
- qos-bw-minimum-ingress
- qos-fip
- quotas
- quota_details
- rbac-policies
- rbac-security-groups
- router
- router_availability_zone
- security-group
- segment
- service-type
- sorting
- standard-attr-description
- standard-attr-revisions
- standard-attr-segment
- standard-attr-tag
- standard-attr-timestamp
- subnet_allocation
- trunk
- trunk-details
- uplink-status-propagation
network_api_extensions_tempest:
- dvr
devstack_localrc:
USE_PYTHON3: true
TEMPEST_PLUGINS: /opt/stack/neutron-tempest-plugin
NETWORK_API_EXTENSIONS: "{{ (network_api_extensions_common + network_api_extensions_tempest) | join(',') }}"
devstack_plugins:
neutron: git://git.openstack.org/openstack/neutron.git
neutron-tempest-plugin: git://git.openstack.org/openstack/neutron-tempest-plugin.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
neutron-network-segment-range: 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_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
$NEUTRON_L3_CONF:
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:
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: &tempest-irrelevant-files
- ^(test-|)requirements.txt$
- ^releasenotes/.*$
- ^doc/.*$
- ^setup.cfg$
- ^.*\.rst$
- ^neutron/locale/.*$
- ^neutron/tests/unit/.*$
- ^tools/.*$
- ^tox.ini$
- job:
name: neutron-tempest-plugin-api
parent: neutron-tempest-plugin
vars:
tempest_test_regex: ^neutron_tempest_plugin\.api
devstack_services:
neutron-log: true
devstack_local_conf:
post-config:
# 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: gre,vxlan
network_log:
local_output_log_base: /tmp/test_log.log
- job:
name: neutron-tempest-plugin-api-queens
nodeset: openstack-single-node-xenial
parent: neutron-tempest-plugin-api
override-checkout: stable/queens
vars:
branch_override: stable/queens
# 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_queens
- address-scope
- agent
- allowed-address-pairs
- auto-allocated-topology
- availability_zone
- binding
- default-subnetpools
- dhcp_agent_scheduler
- dns-domain-ports
- dns-integration
- ext-gw-mode
- external-net
- extra_dhcp_opt
- extraroute
- flavors
- ip-substring-filtering
- l3-flavors
- l3-ha
- l3_agent_scheduler
- logging
- metering
- multi-provider
- net-mtu
- net-mtu-writable
- network-ip-availability
- network_availability_zone
- pagination
- port-security
- project-id
- provider
- qos
- qos-fip
- quotas
- quota_details
- rbac-policies
- router
- router_availability_zone
- security-group
- segment
- service-type
- sorting
- standard-attr-description
- standard-attr-revisions
- standard-attr-timestamp
- standard-attr-tag
- subnet_allocation
- trunk
- trunk-details
network_api_extensions_tempest:
- dvr
devstack_localrc:
USE_PYTHON3: false
NETWORK_API_EXTENSIONS: "{{ (network_api_extensions_common + network_api_extensions_tempest) | join(',') }}"
- job:
name: neutron-tempest-plugin-api-rocky
nodeset: openstack-single-node-xenial
parent: neutron-tempest-plugin-api
override-checkout: stable/rocky
vars:
branch_override: stable/rocky
# 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_rocky
- address-scope
- agent
- allowed-address-pairs
- auto-allocated-topology
- availability_zone
- binding
- default-subnetpools
- dhcp_agent_scheduler
- dns-domain-ports
- dns-integration
- empty-string-filtering
- ext-gw-mode
- external-net
- extra_dhcp_opt
- extraroute
- fip-port-details
- flavors
- ip-substring-filtering
- l3-flavors
- l3-ha
- l3_agent_scheduler
- logging
- metering
- multi-provider
- net-mtu
- net-mtu-writable
- network-ip-availability
- network_availability_zone
- pagination
- port-mac-address-regenerate
- port-security
- port-security-groups-filtering
- project-id
- provider
- qos
- qos-fip
- quotas
- quota_details
- rbac-policies
- router
- router_availability_zone
- security-group
- segment
- service-type
- sorting
- standard-attr-description
- standard-attr-revisions
- standard-attr-segment
- standard-attr-timestamp
- standard-attr-tag
- subnet_allocation
- trunk
- trunk-details
network_api_extensions_tempest:
- dvr
devstack_localrc:
USE_PYTHON3: false
NETWORK_API_EXTENSIONS: "{{ (network_api_extensions_common + network_api_extensions_tempest) | join(',') }}"
- job:
name: neutron-tempest-plugin-scenario
parent: neutron-tempest-plugin
abstract: true
description: |
Perform setup common to all tempest scenario test jobs.
vars:
tempest_test_regex: ^neutron_tempest_plugin\.scenario
devstack_localrc:
PHYSICAL_NETWORK: default
DOWNLOAD_DEFAULT_IMAGES: false
IMAGE_URLS: "http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-i386-disk.img,http://cloud-images.ubuntu.com/releases/16.04/release-20180622/ubuntu-16.04-server-cloudimg-amd64-disk1.img"
DEFAULT_IMAGE_NAME: cirros-0.3.4-i386-disk
ADVANCED_IMAGE_NAME: ubuntu-16.04-server-cloudimg-amd64-disk1
ADVANCED_INSTANCE_TYPE: ds512M
ADVANCED_INSTANCE_USER: ubuntu
BUILD_TIMEOUT: 784
devstack_services:
cinder: true
- job:
name: neutron-tempest-plugin-scenario-linuxbridge
parent: neutron-tempest-plugin-scenario
timeout: 10000
vars:
network_api_extensions: *api_extensions_master
devstack_localrc:
Q_AGENT: linuxbridge
NETWORK_API_EXTENSIONS: "{{ network_api_extensions | join(',') }}"
devstack_local_conf:
post-config:
$NEUTRON_CONF:
DEFAULT:
enable_dvr: false
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
test-config:
$TEMPEST_CONFIG:
neutron_plugin_options:
available_type_drivers: flat,vlan,local,vxlan
q_agent: linuxbridge
- job:
name: neutron-tempest-plugin-scenario-linuxbridge-queens
parent: neutron-tempest-plugin-scenario-linuxbridge
nodeset: openstack-single-node-xenial
override-checkout: stable/queens
vars:
branch_override: stable/queens
network_api_extensions: *api_extensions_queens
devstack_localrc:
USE_PYTHON3: false
NETWORK_API_EXTENSIONS: "{{ network_api_extensions | join(',') }}"
devstack_local_conf:
test-config:
# NOTE: ignores linux bridge's trunk delete on bound port test
# for queens branch (as https://review.openstack.org/#/c/605589/
# fix will not apply for queens branch)
$TEMPEST_CONFIG:
neutron_plugin_options:
q_agent: None
- job:
name: neutron-tempest-plugin-scenario-linuxbridge-rocky
parent: neutron-tempest-plugin-scenario-linuxbridge
nodeset: openstack-single-node-xenial
override-checkout: stable/rocky
vars:
branch_override: stable/rocky
network_api_extensions: *api_extensions_rocky
devstack_localrc:
USE_PYTHON3: false
NETWORK_API_EXTENSIONS: "{{ network_api_extensions | join(',') }}"
devstack_local_conf:
test-config:
# NOTE: ignores linux bridge's trunk delete on bound port test
# for rocky branch (as https://review.openstack.org/#/c/605589/
# fix will not apply for rocky branch)
$TEMPEST_CONFIG:
neutron_plugin_options:
q_agent: None
- 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-dev/devstack
required-projects:
- openstack-infra/devstack-gate
- 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
network_api_extensions_common: *api_extensions_master
network_api_extensions_dvr:
- dvr
devstack_localrc:
USE_PYTHON3: true
TEMPEST_PLUGINS: /opt/stack/neutron-tempest-plugin
NETWORK_API_EXTENSIONS: "{{ (network_api_extensions_common + network_api_extensions_dvr) | join(',') }}"
PHYSICAL_NETWORK: default
DOWNLOAD_DEFAULT_IMAGES: false
IMAGE_URLS: "http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-i386-disk.img,http://cloud-images.ubuntu.com/releases/16.04/release-20180622/ubuntu-16.04-server-cloudimg-amd64-disk1.img"
DEFAULT_IMAGE_NAME: cirros-0.3.4-i386-disk
ADVANCED_IMAGE_NAME: ubuntu-16.04-server-cloudimg-amd64-disk1
ADVANCED_INSTANCE_TYPE: ds512M
ADVANCED_INSTANCE_USER: ubuntu
BUILD_TIMEOUT: 784
devstack_plugins:
neutron: git://git.openstack.org/openstack/neutron.git
neutron-tempest-plugin: git://git.openstack.org/openstack/neutron-tempest-plugin.git
devstack_services:
tls-proxy: false
tempest: true
neutron-dns: true
neutron-qos: true
neutron-segments: true
neutron-trunk: true
neutron-log: true
cinder: true
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:
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
group-vars:
subnode:
devstack_services:
tls-proxy: false
q-agt: true
q-l3: true
q-meta: true
neutron-qos: true
neutron-trunk: true
neutron-log: 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,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: *tempest-irrelevant-files
- job:
name: neutron-tempest-plugin-dvr-multinode-scenario-queens
parent: neutron-tempest-plugin-dvr-multinode-scenario
nodeset: openstack-two-node-xenial
override-checkout: stable/queens
vars:
branch_override: stable/queens
devstack_localrc:
USE_PYTHON3: false
- job:
name: neutron-tempest-plugin-dvr-multinode-scenario-rocky
parent: neutron-tempest-plugin-dvr-multinode-scenario
nodeset: openstack-two-node-xenial
override-checkout: stable/rocky
vars:
branch_override: stable/rocky
devstack_localrc:
USE_PYTHON3: false
- job:
name: neutron-tempest-plugin-designate-scenario
parent: neutron-tempest-plugin-scenario
description: Neutron designate integration scenario
required-projects:
- openstack/designate
- openstack/designate-dashboard
- openstack/designate-tempest-plugin
timeout: 3600
vars:
devstack_localrc:
TEMPEST_PLUGINS: '"/opt/stack/designate-tempest-plugin /opt/stack/neutron-tempest-plugin"'
DESIGNATE_BACKEND_DRIVER: bind9
DOWNLOAD_DEFAULT_IMAGES: false
IMAGE_URLS: http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-i386-disk.img,
# In this job advanced image is not needed, so it's name should be
# empty
ADVANCED_IMAGE_NAME: ""
devstack_plugins:
designate: git://git.openstack.org/openstack/designate.git
devstack_services:
cinder: false
designate: true
tempest_test_regex: ^neutron_tempest_plugin\.scenario\.test_dns_integration
irrelevant-files: *tempest-irrelevant-files
- job:
name: neutron-tempest-plugin-designate-scenario-queens
parent: neutron-tempest-plugin-designate-scenario
nodeset: openstack-single-node-xenial
override-checkout: stable/queens
vars:
branch_override: stable/queens
devstack_localrc:
USE_PYTHON3: false
- job:
name: neutron-tempest-plugin-designate-scenario-rocky
parent: neutron-tempest-plugin-designate-scenario
nodeset: openstack-single-node-xenial
override-checkout: stable/rocky
vars:
branch_override: stable/rocky
devstack_localrc:
USE_PYTHON3: false
- project-template:
name: neutron-tempest-plugin-jobs
check:
jobs:
- neutron-tempest-plugin-api
- neutron-tempest-plugin-designate-scenario
- neutron-tempest-plugin-dvr-multinode-scenario
- neutron-tempest-plugin-scenario-linuxbridge
- build-openstack-sphinx-docs
gate:
jobs:
- neutron-tempest-plugin-api
- neutron-tempest-plugin-scenario-linuxbridge
- build-openstack-sphinx-docs
- project-template:
name: neutron-tempest-plugin-jobs-queens
check:
jobs:
- neutron-tempest-plugin-api-queens
- neutron-tempest-plugin-designate-scenario-queens
- neutron-tempest-plugin-dvr-multinode-scenario-queens
- neutron-tempest-plugin-scenario-linuxbridge-queens
gate:
jobs:
- neutron-tempest-plugin-api-queens
- project-template:
name: neutron-tempest-plugin-jobs-rocky
check:
jobs:
- neutron-tempest-plugin-api-rocky
- neutron-tempest-plugin-designate-scenario-rocky
- neutron-tempest-plugin-dvr-multinode-scenario-rocky
- neutron-tempest-plugin-scenario-linuxbridge-rocky
gate:
jobs:
- neutron-tempest-plugin-api-rocky
- project:
templates:
- neutron-tempest-plugin-jobs
- neutron-tempest-plugin-jobs-queens
- neutron-tempest-plugin-jobs-rocky
- check-requirements
- tempest-plugin-jobs
- release-notes-jobs-python3