Move zuul jobs definitions to zuul.d directory

We already have many different jobs defined for Zuul in Neutron repo.
Up to now all those jobs were in .zuul.yaml file but this file growth
really big and it was hard to read and navigate in it.

So this patch proposes to move jobs definitions to zuul.d directory to
separate yaml files per "job types". So there will be now separate files
with definitions for:
* grenade jobs,
* base jobs like functional and fullstack,
* rally jobs,
* tempest multi node jobs,
* tempest single node jobs,
* tripleo jobs.

And maybe others in the future.

Change-Id: Ia77f59fded0e6e0ae328d866a7486af02b50c2d7
This commit is contained in:
Slawek Kaplonski 2019-11-27 12:16:12 +01:00
parent 3ad5ad02c9
commit 49c0d0548a
8 changed files with 854 additions and 838 deletions

View File

@ -1,838 +0,0 @@
# NOTE: In doc/source/contributor/testing/ci_scenario_jobs.rst file there is
# document with summary of all tempest, neutron-tempest-plugin and grenade jobs
# summary.
# Please update this document always when any changes to jobs are made.
- project:
templates:
- neutron-tempest-plugin-jobs
- openstack-cover-jobs
- openstack-lower-constraints-jobs
- openstack-python3-ussuri-jobs
- publish-openstack-docs-pti
- periodic-stable-jobs
- check-requirements
- release-notes-jobs-python3
check:
jobs:
- neutron-functional
- neutron-fullstack
- neutron-rally-task
- neutron-tempest-dvr
- neutron-tempest-linuxbridge
- neutron-grenade-multinode
- neutron-grenade-dvr-multinode
- tempest-integrated-networking:
# We don't run the job on things like neutron docs-only changes
irrelevant-files: &tempest-irrelevant-files
- ^(test-|)requirements.txt$
- ^.*\.rst$
- ^doc/.*$
- ^neutron/locale/.*$
- ^neutron/tests/unit/.*$
- ^releasenotes/.*$
- ^setup.cfg$
- ^tools/.*$
- ^tox.ini$
- ^vagrant/.*$
- ^migration/.*$
- tempest-multinode-full-py3:
voting: false
irrelevant-files: *tempest-irrelevant-files
- neutron-tempest-dvr-ha-multinode-full
- neutron-tempest-iptables_hybrid
- ironic-tempest-ipa-wholedisk-bios-agent_ipmitool-tinyipa:
voting: false
irrelevant-files: *tempest-irrelevant-files
- tempest-slow-py3:
irrelevant-files: *tempest-irrelevant-files
#- neutron-ovn-tempest-ovs-release
- networking-midonet-tempest-aio-ml2-centos-7:
voting: false
irrelevant-files: *tempest-irrelevant-files
- tempest-ipv6-only:
irrelevant-files: *tempest-irrelevant-files
- openstacksdk-functional-devstack-networking:
voting: false
- neutron-functional-with-uwsgi:
voting: false
- neutron-fullstack-with-uwsgi:
voting: false
- neutron-tempest-with-uwsgi:
voting: false
- neutron-centos-7-tripleo-standalone
#- neutron-ovn-rally-task
# TripleO jobs that deploy OVN.
# Note we don't use a project-template here, so it's easier
# to disable voting on one specific job if things go wrong.
# In Stein and beyond, fs010 will run using
# networking-ovn-tripleo-ci-centos-7-containers-multinode.
# If you need any support to debug these jobs in case of
# failures, please reach us on #tripleo IRC channel.
#- neutron-ovn-tripleo-ci-centos-7-containers-multinode
- neutron-ovn-tempest-slow:
voting: false
- neutron-ovn-tempest-full-multinode-ovs-master:
voting: false
gate:
jobs:
- neutron-functional
- neutron-fullstack
- tempest-integrated-networking
- neutron-tempest-dvr
- neutron-tempest-linuxbridge
- neutron-tempest-iptables_hybrid
- neutron-grenade-multinode
- neutron-grenade-dvr-multinode
- tempest-slow-py3:
irrelevant-files: *tempest-irrelevant-files
- tempest-ipv6-only:
irrelevant-files: *tempest-irrelevant-files
#- neutron-ovn-tempest-ovs-release
#- neutron-ovn-rally-task
#- neutron-ovn-tripleo-ci-centos-7-containers-multinode
experimental:
jobs:
- neutron-ovn-tempest-ovs-master
- neutron-ovn-grenade
periodic:
jobs:
- neutron-functional
- neutron-tempest-postgres-full
- neutron-tempest-mariadb-full
- neutron-tempest-with-os-ken-master
- neutron-ovn-tempest-ovs-master-fedora
- job:
name: neutron-functional
parent: devstack-minimal
description: Run neutron functional tests
timeout: 7800
required-projects:
- opendev.org/openstack/devstack
- openstack/neutron
- openstack/requirements
roles:
- zuul: openstack/devstack
pre-run: playbooks/configure_functional_job.yaml
run: playbooks/run_functional_job.yaml
post-run: playbooks/post_functional_job.yaml
irrelevant-files:
- ^.*\.rst$
- ^doc/.*$
- ^neutron/locale/.*$
- ^releasenotes/.*$
vars:
devstack_services:
# Ignore any default set by devstack. Emit a "disable_all_services".
base: false
devstack_localrc:
USE_PYTHON3: true
INSTALL_TESTONLY_PACKAGES: true
DATABASE_PASSWORD: stackdb
tox_envlist: dsvm-functional
tox_install_siblings: false
tox_constraints_file: '{{ ansible_user_dir }}/src/opendev.org/openstack/requirements/upper-constraints.txt'
zuul_copy_output:
# We need to copy directory with logs to have it in job artifacts also,
# /opt/stack/logs is default logs directory defined in neutron's
# tox.ini file
'{{ devstack_base_dir }}/logs/dsvm-functional-logs': logs
- job:
name: neutron-fullstack
parent: neutron-functional
vars:
tox_envlist: dsvm-fullstack
zuul_copy_output:
# We need to copy directory with logs to have it in job artifacts also,
# /opt/stack/logs is default logs directory defined in neutron's
# tox.ini file
'{{ devstack_base_dir }}/logs/dsvm-fullstack-logs': logs
- job:
name: neutron-rally-task
parent: rally-task-neutron
timeout: 10800
vars:
devstack_localrc:
USE_PYTHON3: true
OSPROFILER_COLLECTOR: redis
OSPROFILER_HMAC_KEYS: "neutron-hmac-key-used-in-zuul-ci"
rally_task: rally-jobs/task-neutron.yaml
devstack_plugins:
osprofiler: https://opendev.org/openstack/osprofiler
rally-openstack: https://opendev.org/openstack/rally-openstack
neutron: https://opendev.org/openstack/neutron
devstack_services:
neutron-trunk: true
devstack_local_conf:
post-config:
$NEUTRON_CONF:
DEFAULT:
enable_code_profiling: True
required-projects:
- openstack/rally
- openstack/rally-openstack
- openstack/osprofiler
irrelevant-files:
- ^.*\.rst$
- ^doc/.*$
- ^neutron/locale/.*$
- ^neutron/tests/unit/.*$
- ^releasenotes/.*$
- ^tools/.*$
- ^tox.ini$
- job:
name: neutron-ovn-rally-task
parent: rally-task-at-devstack
required-projects:
- name: openstack/devstack
- name: openstack/devstack-gate
- name: openstack/rally
- name: openstack/rally-openstack
- name: openstack/networking-ovn
irrelevant-files: *tempest-irrelevant-files
vars:
devstack_plugins:
rally-openstack: https://opendev.org/openstack/rally-openstack
networking-ovn: https://opendev.org/openstack/networking-ovn
zuul_copy_output:
'{{ devstack_base_dir }}/data/ovs': 'logs'
extensions_to_txt:
db: true
devstack_services:
ovn-northd: true
ovn-controller: true
ovs-vswitchd: true
ovsdb-server: true
networking-ovn-metadata-agent: true
br-ex-tcpdump: true
br-int-flows: true
q-dhcp: false
q-l3: false
q-agt: false
q-meta: false
q-metering: false
devstack_localrc:
USE_PYTHON3: true
PHYSICAL_NETWORK: public
Q_USE_PROVIDERNET_FOR_PUBLIC: true
ENABLE_CHASSIS_AS_GW: true
OVN_L3_CREATE_PUBLIC_NETWORK: true
OVN_BRANCH: master
devstack_local_conf:
post-config:
"${RALLY_CONF_DIR}/${RALLY_CONF_FILE}":
openstack:
neutron_bind_l2_agent_types: "OVN Controller Gateway agent"
rally_task: rally-jobs/task-neutron.yaml
timeout: 7800
- job:
name: neutron-tempest-dvr
parent: tempest-integrated-networking
timeout: 10800
required-projects:
- openstack/devstack-gate
- openstack/neutron
- openstack/tempest
vars:
tempest_concurrency: 4
devstack_localrc:
Q_DVR_MODE: dvr_snat
irrelevant-files: *tempest-irrelevant-files
- job:
name: neutron-tempest-linuxbridge
parent: tempest-integrated-networking
timeout: 10800
required-projects:
- openstack/devstack-gate
- openstack/neutron
- openstack/tempest
vars:
tempest_concurrency: 4
devstack_localrc:
Q_AGENT: linuxbridge
irrelevant-files:
- ^(test-|)requirements.txt$
- ^.*\.rst$
- ^doc/.*$
- ^neutron/locale/.*$
- ^neutron/tests/.*$
- ^neutron/tests/unit/.*$
- ^releasenotes/.*$
- ^setup.cfg$
- ^tools/.*$
- ^tox.ini$
- job:
name: neutron-grenade-multinode
parent: legacy-dsvm-base-multinode
run: playbooks/legacy/neutron-grenade-multinode/run.yaml
post-run: playbooks/legacy/neutron-grenade-multinode/post.yaml
timeout: 10800
required-projects:
- openstack/grenade
- openstack/devstack-gate
- openstack/neutron
irrelevant-files: *tempest-irrelevant-files
- job:
name: neutron-grenade-dvr-multinode
parent: legacy-dsvm-base-multinode
run: playbooks/legacy/neutron-grenade-dvr-multinode/run.yaml
post-run: playbooks/legacy/neutron-grenade-dvr-multinode/post.yaml
timeout: 7500
required-projects:
- openstack/grenade
- openstack/devstack-gate
- openstack/neutron
irrelevant-files: *tempest-irrelevant-files
- job:
name: neutron-ovn-grenade
parent: legacy-dsvm-base
run: playbooks/legacy/neutron-ovn-grenade/run.yaml
post-run: playbooks/legacy/neutron-ovn-grenade/post.yaml
timeout: 9000
irrelevant-files: *tempest-irrelevant-files
required-projects:
- openstack/grenade
- openstack/devstack-gate
- openstack/neutron-tempest-plugin
- openstack/tempest
- openstack/networking-ovn
- 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: *tempest-irrelevant-files
voting: false
vars:
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_services:
q-agt: true
q-l3: true
q-meta: true
devstack_localrc:
USE_PYTHON3: 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-iptables_hybrid
parent: tempest-integrated-networking
timeout: 10800
required-projects:
- openstack/devstack-gate
- openstack/neutron
- openstack/tempest
vars:
tempest_concurrency: 4
devstack_plugins:
neutron: https://opendev.org/openstack/neutron.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
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_vlan:
network_vlan_ranges: foo:1:10
agent:
enable_distributed_routing: True
l2_population: True
tunnel_types: vxlan,gre
arp_responder: True
securitygroup:
firewall_driver: iptables_hybrid
$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
irrelevant-files: *tempest-irrelevant-files
- job:
# TODO(slaweq): remove this job definition when all other projects will use
# grenade-py3 instead
name: neutron-grenade
parent: legacy-dsvm-base
run: playbooks/legacy/neutron-grenade/run.yaml
post-run: playbooks/legacy/neutron-grenade/post.yaml
timeout: 10800
required-projects:
- openstack/grenade
- openstack/devstack-gate
- openstack/neutron
irrelevant-files: *tempest-irrelevant-files
- job:
name: neutron-tempest-postgres-full
parent: tempest-integrated-networking
timeout: 7800
required-projects:
- openstack/devstack-gate
- openstack/neutron
- openstack/tempest
vars:
devstack_services:
postgresql: true
mysql: false
irrelevant-files: *tempest-irrelevant-files
- job:
name: neutron-tempest-mariadb-full
parent: tempest-integrated-networking
timeout: 7800
required-projects:
- openstack/devstack-gate
- openstack/neutron
- openstack/tempest
vars:
devstack_localrc:
MYSQL_SERVICE_NAME: mariadb
irrelevant-files: *tempest-irrelevant-files
- job:
name: neutron-tempest-with-os-ken-master
parent: tempest-integrated-networking
timeout: 7800
required-projects:
- openstack/devstack-gate
- openstack/neutron
- openstack/tempest
- openstack/os-ken
- job:
name: neutron-fullstack-with-uwsgi
parent: neutron-fullstack
vars:
devstack_localrc:
NEUTRON_DEPLOY_MOD_WSGI: true
- job:
name: neutron-functional-with-uwsgi
parent: neutron-functional
vars:
devstack_localrc:
NEUTRON_DEPLOY_MOD_WSGI: true
- job:
name: neutron-tempest-with-uwsgi
parent: tempest-integrated-networking
description: Run neutron Tempest tests with uwsgi
timeout: 8400
vars:
devstack_localrc:
NEUTRON_DEPLOY_MOD_WSGI: true
irrelevant-files: *tempest-irrelevant-files
- job:
name: neutron-centos-7-tripleo-standalone
parent: tripleo-ci-base-standalone
nodeset: single-centos-7-node
voting: false
vars:
featureset: '052'
featureset_override:
standalone_environment_files:
- 'environments/services/neutron-ovs.yaml'
tempest_test_whitelist:
- 'tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_network_basic_ops'
irrelevant-files: *tempest-irrelevant-files
- job:
name: neutron-ovn-tripleo-ci-centos-7-containers-multinode
parent: tripleo-ci-base-multinode
vars:
nodes: 1ctlr
featureset: '010'
irrelevant-files: *tempest-irrelevant-files
- job:
name: neutron-ovn-grenade
parent: legacy-dsvm-base
run: playbooks/legacy/grenade-dsvm-networking-ovn/run.yaml
post-run: playbooks/legacy/grenade-dsvm-networking-ovn/post.yaml
timeout: 9000
irrelevant-files: *tempest-irrelevant-files
required-projects:
- openstack/grenade
- openstack/devstack-gate
- openstack/neutron-tempest-plugin
- openstack/tempest
- openstack/networking-ovn
- job:
name: neutron-ovn-base
description: Base job for devstack/tempest to test Neutron with ovn driver.
# TODO(slaweq): consider changing parent to be tempest-integrated-networking
# job instead of devstack-tempest
parent: devstack-tempest
timeout: 10800
required-projects:
- openstack/devstack-gate
- openstack/networking-ovn
- openstack/neutron
- openstack/neutron-tempest-plugin
- openstack/octavia
- openstack/tempest
irrelevant-files: *tempest-irrelevant-files
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.scenario.test_network_basic_ops.TestNetworkBasicOps.test_port_security_macspoofing_port)|\
(?: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))).*$"
tempest_concurrency: 2
devstack_localrc:
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
USE_PYTHON3: True
DOWNLOAD_DEFAULT_IMAGES: false
IMAGE_URLS: "http://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img,https://cloud-images.ubuntu.com/releases/xenial/release/ubuntu-16.04-server-cloudimg-amd64-disk1.img"
DEFAULT_IMAGE_NAME: cirros-0.4.0-x86_64-disk
DEFAULT_IMAGE_FILE_NAME: cirros-0.4.0-x86_64-disk.img
ADVANCED_IMAGE_NAME: ubuntu-16.04-server-cloudimg-amd64-disk1
ADVANCED_INSTANCE_TYPE: ds512M
ADVANCED_INSTANCE_USER: ubuntu
BUILD_TIMEOUT: 784
devstack_plugins:
networking-ovn: https://opendev.org/openstack/networking-ovn
neutron-tempest-plugin: https://opendev.org/openstack/neutron-tempest-plugin
octavia: https://opendev.org/openstack/octavia
zuul_copy_output:
'{{ devstack_base_dir }}/data/ovs': 'logs'
extensions_to_txt:
db: true
devstack_services:
br-ex-tcpdump: true
br-int-flows: true
c-api: true
c-sch: true
c-vol: true
dstat: true
g-api: true
g-reg: true
keystone: true
n-api-meta: true
n-api: true
n-cauth: true
n-cond-cell1: true
n-cpu: true
n-novnc-cell1: true
n-sch: true
n-super-cond: true
networking-ovn-metadata-agent: true
o-api: true
o-hk: true
ovn-controller: true
ovn-northd: true
ovn-octavia: true
ovs-vswitchd: true
ovsdb-server: true
placement-api: true
q-svc: true
q-dns: true
c-bak: false
etcd: false
peakmem_tracker: false
q-agt: false
q-dhcp: false
q-l3: false
q-meta: false
q-metering: false
s-account: false
s-container-sync: false
s-container: false
s-object: false
s-proxy: false
- job:
name: neutron-ovn-tempest-ovs-master
description: Job testing for devstack/tempest testing Neutron with ovn driver and OVN master branch
parent: neutron-ovn-base
vars:
devstack_localrc:
OVN_BRANCH: master
- job:
name: neutron-ovn-tempest-ovs-release
description: Job testing for devstack/tempest testing Neutron with ovn driver and latest released OVN branch
parent: neutron-ovn-base
vars:
devstack_localrc:
OVN_BRANCH: branch-2.12
- job:
name: neutron-ovn-tempest-ovs-master-fedora
description: Job testing for devstack/tempest testing Neutron with ovn driver and OVN master branch and Fedora
parent: neutron-ovn-tempest-ovs-master
nodeset: devstack-single-node-fedora-latest
- 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/networking-ovn
- openstack/neutron
- openstack/neutron-tempest-plugin
- openstack/octavia
- openstack/tempest
irrelevant-files: *tempest-irrelevant-files
roles:
- zuul: zuul/zuul-jobs
- zuul: openstack/neutron-tempest-plugin
pre-run: playbooks/multinode-setup.yaml
vars:
devstack_localrc:
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
DOWNLOAD_DEFAULT_IMAGES: false
IMAGE_URLS: "http://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img,https://cloud-images.ubuntu.com/releases/xenial/release/ubuntu-16.04-server-cloudimg-amd64-disk1.img"
DEFAULT_IMAGE_NAME: cirros-0.4.0-x86_64-disk
DEFAULT_IMAGE_FILE_NAME: cirros-0.4.0-x86_64-disk.img
ADVANCED_IMAGE_NAME: ubuntu-16.04-server-cloudimg-amd64-disk1
ADVANCED_INSTANCE_TYPE: ds512M
ADVANCED_INSTANCE_USER: ubuntu
BUILD_TIMEOUT: 784
devstack_plugins:
networking-ovn: https://opendev.org/openstack/networking-ovn
neutron-tempest-plugin: https://opendev.org/openstack/neutron-tempest-plugin
octavia: https://opendev.org/openstack/octavia
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
networking-ovn-metadata-agent: true
o-api: true
o-hk: true
ovn-controller: true
ovn-northd: true
ovn-octavia: true
ovs-vswitchd: true
ovsdb-server: true
placement-api: true
peakmem_tracker: false
q-svc: true
q-agt: false
q-dhcp: false
q-l3: false
q-meta: false
q-metering: false
# When running python3 Swift should be disabled for now
s-account: false
s-container: false
s-object: false
s-proxy: false
group-vars:
subnode:
devstack_services:
ovn-controller: true
ovn-northd: false
ovn-octavia: 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
networking-ovn-metadata-agent: true
devstack_localrc:
Q_USE_PROVIDERNET_FOR_PUBLIC: true
PHYSICAL_NETWORK: public
ENABLE_CHASSIS_AS_GW: false
OVN_DBS_LOG_LEVEL: dbg
USE_PYTHON3: True
- job:
name: neutron-ovn-tempest-slow
parent: neutron-ovn-multinode-base
vars:
tox_envlist: slow-serial
tempest_test_regex: ""
# TODO(slaweq): remove test_port_security_macspoofing_port test from
# blacklist when bug https://bugs.launchpad.net/tempest/+bug/1728886
# will be fixed
tempest_black_regex: "(?:tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_port_security_macspoofing_port)"
- 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.scenario.test_network_basic_ops.TestNetworkBasicOps.test_port_security_macspoofing_port)|\
(?: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))).*$"
# TODO(slaweq): live_migration related test from the blacklist when bug
# https://bugzilla.redhat.com/show_bug.cgi?id=1716335 will be fixed
tempest_black_regex: "\
(^tempest.api.compute.admin.test_live_migration.LiveAutoBlockMigrationV225Test)|\
(^tempest.api.compute.admin.test_live_migration.LiveMigrationTest)"
devstack_localrc:
OVN_BRANCH: master
group-vars:
subnode:
devstack_localrc:
OVN_BRANCH: master

59
zuul.d/base.yaml Normal file
View File

@ -0,0 +1,59 @@
- job:
name: neutron-functional
parent: devstack-minimal
description: Run neutron functional tests
timeout: 7800
required-projects:
- opendev.org/openstack/devstack
- openstack/neutron
- openstack/requirements
roles:
- zuul: openstack/devstack
pre-run: playbooks/configure_functional_job.yaml
run: playbooks/run_functional_job.yaml
post-run: playbooks/post_functional_job.yaml
irrelevant-files:
- ^.*\.rst$
- ^doc/.*$
- ^neutron/locale/.*$
- ^releasenotes/.*$
vars:
devstack_services:
# Ignore any default set by devstack. Emit a "disable_all_services".
base: false
devstack_localrc:
INSTALL_TESTONLY_PACKAGES: true
DATABASE_PASSWORD: stackdb
tox_envlist: dsvm-functional
tox_install_siblings: false
tox_constraints_file: '{{ ansible_user_dir }}/src/opendev.org/openstack/requirements/upper-constraints.txt'
zuul_copy_output:
# We need to copy directory with logs to have it in job artifacts also,
# /opt/stack/logs is default logs directory defined in neutron's
# tox.ini file
'{{ devstack_base_dir }}/logs/dsvm-functional-logs': logs
- job:
name: neutron-fullstack
parent: neutron-functional
vars:
tox_envlist: dsvm-fullstack
zuul_copy_output:
# We need to copy directory with logs to have it in job artifacts also,
# /opt/stack/logs is default logs directory defined in neutron's
# tox.ini file
'{{ devstack_base_dir }}/logs/dsvm-fullstack-logs': logs
- job:
name: neutron-fullstack-with-uwsgi
parent: neutron-fullstack
vars:
devstack_localrc:
NEUTRON_DEPLOY_MOD_WSGI: true
- job:
name: neutron-functional-with-uwsgi
parent: neutron-functional
vars:
devstack_localrc:
NEUTRON_DEPLOY_MOD_WSGI: true

63
zuul.d/grenade.yaml Normal file
View File

@ -0,0 +1,63 @@
- job:
name: neutron-grenade-multinode
parent: legacy-dsvm-base-multinode
run: playbooks/legacy/neutron-grenade-multinode/run.yaml
post-run: playbooks/legacy/neutron-grenade-multinode/post.yaml
timeout: 10800
required-projects:
- openstack/grenade
- openstack/devstack-gate
- openstack/neutron
irrelevant-files: &irrelevant-files
- ^(test-|)requirements.txt$
- ^.*\.rst$
- ^doc/.*$
- ^neutron/locale/.*$
- ^neutron/tests/unit/.*$
- ^releasenotes/.*$
- ^setup.cfg$
- ^tools/.*$
- ^tox.ini$
- ^vagrant/.*$
- ^migration/.*$
- job:
name: neutron-grenade-dvr-multinode
parent: legacy-dsvm-base-multinode
run: playbooks/legacy/neutron-grenade-dvr-multinode/run.yaml
post-run: playbooks/legacy/neutron-grenade-dvr-multinode/post.yaml
timeout: 7500
required-projects:
- openstack/grenade
- openstack/devstack-gate
- openstack/neutron
irrelevant-files: *irrelevant-files
- job:
# TODO(slaweq): remove this job definition when all other projects will use
# grenade-py3 instead
name: neutron-grenade
parent: legacy-dsvm-base
run: playbooks/legacy/neutron-grenade/run.yaml
post-run: playbooks/legacy/neutron-grenade/post.yaml
timeout: 10800
required-projects:
- openstack/grenade
- openstack/devstack-gate
- openstack/neutron
irrelevant-files: *irrelevant-files
- job:
name: neutron-ovn-grenade
parent: legacy-dsvm-base
run: playbooks/legacy/neutron-ovn-grenade/run.yaml
post-run: playbooks/legacy/neutron-ovn-grenade/post.yaml
timeout: 9000
irrelevant-files: *irrelevant-files
required-projects:
- openstack/grenade
- openstack/devstack-gate
- openstack/neutron-tempest-plugin
- openstack/tempest
- openstack/networking-ovn

105
zuul.d/project.yaml Normal file
View File

@ -0,0 +1,105 @@
# NOTE: In doc/source/contributor/testing/ci_scenario_jobs.rst file there is
# document with summary of all tempest, neutron-tempest-plugin and grenade jobs
# summary.
# Please update this document always when any changes to jobs are made.
- project:
templates:
- neutron-tempest-plugin-jobs
- openstack-cover-jobs
- openstack-lower-constraints-jobs
- openstack-python3-ussuri-jobs
- publish-openstack-docs-pti
- periodic-stable-jobs
- check-requirements
- release-notes-jobs-python3
check:
jobs:
- neutron-functional
- neutron-fullstack
- neutron-rally-task
- neutron-tempest-dvr
- neutron-tempest-linuxbridge
- neutron-grenade-multinode
- neutron-grenade-dvr-multinode
- tempest-integrated-networking:
# We don't run the job on things like neutron docs-only changes
irrelevant-files: &irrelevant-files
- ^(test-|)requirements.txt$
- ^.*\.rst$
- ^doc/.*$
- ^neutron/locale/.*$
- ^neutron/tests/unit/.*$
- ^releasenotes/.*$
- ^setup.cfg$
- ^tools/.*$
- ^tox.ini$
- ^vagrant/.*$
- ^migration/.*$
- tempest-multinode-full-py3:
voting: false
irrelevant-files: *irrelevant-files
- neutron-tempest-dvr-ha-multinode-full
- neutron-tempest-iptables_hybrid
- ironic-tempest-ipa-wholedisk-bios-agent_ipmitool-tinyipa:
voting: false
irrelevant-files: *irrelevant-files
- tempest-slow-py3:
irrelevant-files: *irrelevant-files
#- neutron-ovn-tempest-ovs-release
- networking-midonet-tempest-aio-ml2-centos-7:
voting: false
irrelevant-files: *irrelevant-files
- tempest-ipv6-only:
irrelevant-files: *irrelevant-files
- openstacksdk-functional-devstack-networking:
voting: false
- neutron-functional-with-uwsgi:
voting: false
- neutron-fullstack-with-uwsgi:
voting: false
- neutron-tempest-with-uwsgi:
voting: false
- neutron-centos-7-tripleo-standalone
#- neutron-ovn-rally-task
# TripleO jobs that deploy OVN.
# Note we don't use a project-template here, so it's easier
# to disable voting on one specific job if things go wrong.
# In Stein and beyond, fs010 will run using
# networking-ovn-tripleo-ci-centos-7-containers-multinode.
# If you need any support to debug these jobs in case of
# failures, please reach us on #tripleo IRC channel.
#- neutron-ovn-tripleo-ci-centos-7-containers-multinode
- neutron-ovn-tempest-slow:
voting: false
- neutron-ovn-tempest-full-multinode-ovs-master:
voting: false
gate:
jobs:
- neutron-functional
- neutron-fullstack
- tempest-integrated-networking
- neutron-tempest-dvr
- neutron-tempest-linuxbridge
- neutron-tempest-iptables_hybrid
- neutron-grenade-multinode
- neutron-grenade-dvr-multinode
- tempest-slow-py3:
irrelevant-files: *irrelevant-files
- tempest-ipv6-only:
irrelevant-files: *irrelevant-files
#- neutron-ovn-tempest-ovs-release
#- neutron-ovn-rally-task
#- neutron-ovn-tripleo-ci-centos-7-containers-multinode
experimental:
jobs:
- neutron-ovn-tempest-ovs-master
- neutron-ovn-grenade
periodic:
jobs:
- neutron-functional
- neutron-tempest-postgres-full
- neutron-tempest-mariadb-full
- neutron-tempest-with-os-ken-master
- neutron-ovn-tempest-ovs-master-fedora

84
zuul.d/rally.yaml Normal file
View File

@ -0,0 +1,84 @@
- job:
name: neutron-rally-task
parent: rally-task-neutron
timeout: 10800
vars:
devstack_localrc:
USE_PYTHON3: true
OSPROFILER_COLLECTOR: redis
OSPROFILER_HMAC_KEYS: "neutron-hmac-key-used-in-zuul-ci"
rally_task: rally-jobs/task-neutron.yaml
devstack_plugins:
osprofiler: https://opendev.org/openstack/osprofiler
rally-openstack: https://opendev.org/openstack/rally-openstack
neutron: https://opendev.org/openstack/neutron
devstack_services:
neutron-trunk: true
devstack_local_conf:
post-config:
$NEUTRON_CONF:
DEFAULT:
enable_code_profiling: True
required-projects:
- openstack/rally
- openstack/rally-openstack
- openstack/osprofiler
irrelevant-files: &irrelevant-files
- ^(test-|)requirements.txt$
- ^.*\.rst$
- ^doc/.*$
- ^neutron/locale/.*$
- ^neutron/tests/unit/.*$
- ^releasenotes/.*$
- ^setup.cfg$
- ^tools/.*$
- ^tox.ini$
- ^vagrant/.*$
- ^migration/.*$
- job:
name: neutron-ovn-rally-task
parent: rally-task-at-devstack
required-projects:
- name: openstack/devstack
- name: openstack/devstack-gate
- name: openstack/rally
- name: openstack/rally-openstack
- name: openstack/networking-ovn
irrelevant-files: *irrelevant-files
vars:
devstack_plugins:
rally-openstack: https://opendev.org/openstack/rally-openstack
networking-ovn: https://opendev.org/openstack/networking-ovn
zuul_copy_output:
'{{ devstack_base_dir }}/data/ovs': 'logs'
extensions_to_txt:
db: true
devstack_services:
ovn-northd: true
ovn-controller: true
ovs-vswitchd: true
ovsdb-server: true
networking-ovn-metadata-agent: true
br-ex-tcpdump: true
br-int-flows: true
q-dhcp: false
q-l3: false
q-agt: false
q-meta: false
q-metering: false
devstack_localrc:
USE_PYTHON3: true
PHYSICAL_NETWORK: public
Q_USE_PROVIDERNET_FOR_PUBLIC: true
ENABLE_CHASSIS_AS_GW: true
OVN_L3_CREATE_PUBLIC_NETWORK: true
OVN_BRANCH: master
devstack_local_conf:
post-config:
"${RALLY_CONF_DIR}/${RALLY_CONF_FILE}":
openstack:
neutron_bind_l2_agent_types: "OVN Controller Gateway agent"
rally_task: rally-jobs/task-neutron.yaml
timeout: 7800

View File

@ -0,0 +1,235 @@
- 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:
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_services:
q-agt: true
q-l3: true
q-meta: 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-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/networking-ovn
- openstack/neutron
- openstack/neutron-tempest-plugin
- openstack/octavia
- openstack/tempest
irrelevant-files: *irrelevant-files
roles:
- zuul: zuul/zuul-jobs
- zuul: openstack/neutron-tempest-plugin
pre-run: playbooks/multinode-setup.yaml
vars:
devstack_localrc:
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
DOWNLOAD_DEFAULT_IMAGES: false
IMAGE_URLS: "http://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img,https://cloud-images.ubuntu.com/releases/xenial/release/ubuntu-16.04-server-cloudimg-amd64-disk1.img"
DEFAULT_IMAGE_NAME: cirros-0.4.0-x86_64-disk
DEFAULT_IMAGE_FILE_NAME: cirros-0.4.0-x86_64-disk.img
ADVANCED_IMAGE_NAME: ubuntu-16.04-server-cloudimg-amd64-disk1
ADVANCED_INSTANCE_TYPE: ds512M
ADVANCED_INSTANCE_USER: ubuntu
BUILD_TIMEOUT: 784
devstack_plugins:
networking-ovn: https://opendev.org/openstack/networking-ovn
neutron-tempest-plugin: https://opendev.org/openstack/neutron-tempest-plugin
octavia: https://opendev.org/openstack/octavia
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
networking-ovn-metadata-agent: true
o-api: true
o-hk: true
ovn-controller: true
ovn-northd: true
ovn-octavia: true
ovs-vswitchd: true
ovsdb-server: true
placement-api: true
peakmem_tracker: false
q-svc: true
q-agt: false
q-dhcp: false
q-l3: false
q-meta: false
q-metering: false
# When running python3 Swift should be disabled for now
s-account: false
s-container: false
s-object: false
s-proxy: false
group-vars:
subnode:
devstack_services:
ovn-controller: true
ovn-northd: false
ovn-octavia: 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
networking-ovn-metadata-agent: true
devstack_localrc:
Q_USE_PROVIDERNET_FOR_PUBLIC: true
PHYSICAL_NETWORK: public
ENABLE_CHASSIS_AS_GW: false
OVN_DBS_LOG_LEVEL: dbg
USE_PYTHON3: True
- job:
name: neutron-ovn-tempest-slow
parent: neutron-ovn-multinode-base
vars:
tox_envlist: slow-serial
tempest_test_regex: ""
# TODO(slaweq): remove test_port_security_macspoofing_port test from
# blacklist when bug https://bugs.launchpad.net/tempest/+bug/1728886
# will be fixed
tempest_black_regex: "(?:tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_port_security_macspoofing_port)"
- 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.scenario.test_network_basic_ops.TestNetworkBasicOps.test_port_security_macspoofing_port)|\
(?: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))).*$"
# TODO(slaweq): live_migration related test from the blacklist when bug
# https://bugzilla.redhat.com/show_bug.cgi?id=1716335 will be fixed
tempest_black_regex: "\
(^tempest.api.compute.admin.test_live_migration.LiveAutoBlockMigrationV225Test)|\
(^tempest.api.compute.admin.test_live_migration.LiveMigrationTest)"
devstack_localrc:
OVN_BRANCH: master
group-vars:
subnode:
devstack_localrc:
OVN_BRANCH: master

View File

@ -0,0 +1,276 @@
- job:
name: neutron-tempest-dvr
parent: tempest-integrated-networking
timeout: 10800
required-projects:
- openstack/devstack-gate
- openstack/neutron
- openstack/tempest
vars:
tempest_concurrency: 4
devstack_localrc:
Q_DVR_MODE: dvr_snat
irrelevant-files: &irrelevant-files
- ^(test-|)requirements.txt$
- ^.*\.rst$
- ^doc/.*$
- ^neutron/locale/.*$
- ^neutron/tests/unit/.*$
- ^releasenotes/.*$
- ^setup.cfg$
- ^tools/.*$
- ^tox.ini$
- ^vagrant/.*$
- ^migration/.*$
- job:
name: neutron-tempest-linuxbridge
parent: tempest-integrated-networking
timeout: 10800
required-projects:
- openstack/devstack-gate
- openstack/neutron
- openstack/tempest
vars:
tempest_concurrency: 4
devstack_localrc:
Q_AGENT: linuxbridge
irrelevant-files: *irrelevant-files
- job:
name: neutron-tempest-iptables_hybrid
parent: tempest-integrated-networking
timeout: 10800
required-projects:
- openstack/devstack-gate
- openstack/neutron
- openstack/tempest
vars:
tempest_concurrency: 4
devstack_plugins:
neutron: https://opendev.org/openstack/neutron.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
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_vlan:
network_vlan_ranges: foo:1:10
agent:
enable_distributed_routing: True
l2_population: True
tunnel_types: vxlan,gre
arp_responder: True
securitygroup:
firewall_driver: iptables_hybrid
$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
irrelevant-files: *irrelevant-files
- job:
name: neutron-tempest-postgres-full
parent: tempest-integrated-networking
timeout: 7800
required-projects:
- openstack/devstack-gate
- openstack/neutron
- openstack/tempest
vars:
devstack_services:
postgresql: true
mysql: false
irrelevant-files: *irrelevant-files
- job:
name: neutron-tempest-mariadb-full
parent: tempest-integrated-networking
timeout: 7800
required-projects:
- openstack/devstack-gate
- openstack/neutron
- openstack/tempest
vars:
devstack_localrc:
MYSQL_SERVICE_NAME: mariadb
irrelevant-files: *irrelevant-files
- job:
name: neutron-tempest-with-os-ken-master
parent: tempest-integrated-networking
timeout: 7800
required-projects:
- openstack/devstack-gate
- openstack/neutron
- openstack/tempest
- openstack/os-ken
- job:
name: neutron-tempest-with-uwsgi
parent: tempest-integrated-networking
description: Run neutron Tempest tests with uwsgi
timeout: 8400
vars:
devstack_localrc:
NEUTRON_DEPLOY_MOD_WSGI: true
irrelevant-files: *irrelevant-files
- job:
name: neutron-ovn-base
description: Base job for devstack/tempest to test Neutron with ovn driver.
# TODO(slaweq): consider changing parent to be tempest-integrated-networking
# job instead of devstack-tempest
parent: devstack-tempest
timeout: 10800
required-projects:
- openstack/devstack-gate
- openstack/networking-ovn
- openstack/neutron
- openstack/neutron-tempest-plugin
- openstack/octavia
- openstack/tempest
irrelevant-files: *irrelevant-files
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.scenario.test_network_basic_ops.TestNetworkBasicOps.test_port_security_macspoofing_port)|\
(?: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))).*$"
tempest_concurrency: 2
devstack_localrc:
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
USE_PYTHON3: True
DOWNLOAD_DEFAULT_IMAGES: false
IMAGE_URLS: "http://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img,https://cloud-images.ubuntu.com/releases/xenial/release/ubuntu-16.04-server-cloudimg-amd64-disk1.img"
DEFAULT_IMAGE_NAME: cirros-0.4.0-x86_64-disk
DEFAULT_IMAGE_FILE_NAME: cirros-0.4.0-x86_64-disk.img
ADVANCED_IMAGE_NAME: ubuntu-16.04-server-cloudimg-amd64-disk1
ADVANCED_INSTANCE_TYPE: ds512M
ADVANCED_INSTANCE_USER: ubuntu
BUILD_TIMEOUT: 784
devstack_plugins:
networking-ovn: https://opendev.org/openstack/networking-ovn
neutron-tempest-plugin: https://opendev.org/openstack/neutron-tempest-plugin
octavia: https://opendev.org/openstack/octavia
zuul_copy_output:
'{{ devstack_base_dir }}/data/ovs': 'logs'
extensions_to_txt:
db: true
devstack_services:
br-ex-tcpdump: true
br-int-flows: true
c-api: true
c-sch: true
c-vol: true
dstat: true
g-api: true
g-reg: true
keystone: true
n-api-meta: true
n-api: true
n-cauth: true
n-cond-cell1: true
n-cpu: true
n-novnc-cell1: true
n-sch: true
n-super-cond: true
networking-ovn-metadata-agent: true
o-api: true
o-hk: true
ovn-controller: true
ovn-northd: true
ovn-octavia: true
ovs-vswitchd: true
ovsdb-server: true
placement-api: true
q-svc: true
q-dns: true
c-bak: false
etcd: false
peakmem_tracker: false
q-agt: false
q-dhcp: false
q-l3: false
q-meta: false
q-metering: false
s-account: false
s-container-sync: false
s-container: false
s-object: false
s-proxy: false
- job:
name: neutron-ovn-tempest-ovs-master
description: Job testing for devstack/tempest testing Neutron with ovn driver and OVN master branch
parent: neutron-ovn-base
vars:
devstack_localrc:
OVN_BRANCH: master
- job:
name: neutron-ovn-tempest-ovs-release
description: Job testing for devstack/tempest testing Neutron with ovn driver and latest released OVN branch
parent: neutron-ovn-base
vars:
devstack_localrc:
OVN_BRANCH: branch-2.12
- job:
name: neutron-ovn-tempest-ovs-master-fedora
description: Job testing for devstack/tempest testing Neutron with ovn driver and OVN master branch and Fedora
parent: neutron-ovn-tempest-ovs-master
nodeset: devstack-single-node-fedora-latest

32
zuul.d/tripleo.yaml Normal file
View File

@ -0,0 +1,32 @@
- job:
name: neutron-centos-7-tripleo-standalone
parent: tripleo-ci-base-standalone
nodeset: single-centos-7-node
voting: false
vars:
featureset: '052'
featureset_override:
standalone_environment_files:
- 'environments/services/neutron-ovs.yaml'
tempest_test_whitelist:
- 'tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_network_basic_ops'
irrelevant-files: &irrelevant-files
- ^(test-|)requirements.txt$
- ^.*\.rst$
- ^doc/.*$
- ^neutron/locale/.*$
- ^neutron/tests/unit/.*$
- ^releasenotes/.*$
- ^setup.cfg$
- ^tools/.*$
- ^tox.ini$
- ^vagrant/.*$
- ^migration/.*$
- job:
name: neutron-ovn-tripleo-ci-centos-7-containers-multinode
parent: tripleo-ci-base-multinode
vars:
nodes: 1ctlr
featureset: '010'
irrelevant-files: *irrelevant-files