neutron/zuul.d/base.yaml
Slawek Kaplonski ddf0568f39 Make configure_for_func_testing compatible with e.g. Centos
This is basically revert of the [1] which was revert of the [2]
but now it should not break our CI jobs.

In the configure_for_func_testing script openvswitch is installed
from source. We need to set proper flag (Q_BUILD_OVS_FROM_GIT) which
is used in Devstack to tell Devstack to install it from source and
not from packages.

This patch also removes flag BUILD_OVS_FROM_SOURCE from the
configure_for_func_testing file as it was only used in that file
and was actually duplicating the Q_BUILD_OVS_FROM_GIT option used also
in Devstack.

[1] https://review.opendev.org/c/openstack/neutron/+/824750
[2] https://review.opendev.org/c/openstack/neutron/+/824750

Change-Id: I35715a047d23ed87312afd294cc898de7c164583
2022-01-17 12:32:04 +01:00

168 lines
5.5 KiB
YAML

- 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: &irrelevant-files
- ^.*\.conf\.sample$
- ^.*\.rst$
- ^doc/.*$
- ^neutron/locale/.*$
- ^neutron/tests/unit/.*$
- ^neutron/tests/fullstack/.*$
- ^releasenotes/.*$
- ^setup.cfg$
- ^vagrant/.*$
- ^devstack/.*\.sample$
- ^playbooks/.*$
- ^roles/.*$
- ^rally-jobs/.*$
vars:
Q_BUILD_OVS_FROM_GIT: True
INSTALL_OVN: True
OVN_BRANCH: v21.06.0
OVS_BRANCH: v2.16.0
devstack_services:
# Ignore any default set by devstack. Emit a "disable_all_services".
base: false
etcd3: false
devstack_localrc:
INSTALL_TESTONLY_PACKAGES: true
DATABASE_PASSWORD: stackdb
tox_envlist: dsvm-functional
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-gate
Q_BUILD_OVS_FROM_GIT: False
INSTALL_OVN: False
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
irrelevant-files:
- ^(test-|)requirements.txt$
- ^releasenotes/.*$
- ^doc/.*$
- ^setup.cfg$
- ^.*\.conf\.sample$
- ^.*\.rst$
- ^neutron/locale/.*$
- ^neutron/tests/unit/.*$
- ^neutron/tests/functional/.*$
- ^neutron/agent/ovn/.*$
- ^neutron/agent/windows/.*$
- ^neutron/plugins/ml2/drivers/macvtap/.*$
- ^neutron/plugins/ml2/drivers/mech_sriov/.*$
- ^neutron/plugins/ml2/drivers/ovn/.*$
- ^neutron_lib/tests/unit/.*$
- ^vagrant/.*$
- ^devstack/.*\.sample$
- ^playbooks/.*$
- ^roles/.*$
- ^rally-jobs/.*$
- job:
name: neutron-fullstack-with-uwsgi
parent: neutron-fullstack
vars:
devstack_localrc:
NEUTRON_DEPLOY_MOD_WSGI: true
# Because this job uses neutron defined tox env (defined in base job),
# we need to set zuul_work_dir to neutron so that it can be used by
# other projects. Currently devstack run this job. Not setting this
# in base neutron-functional job as that is being used by neutron
# stadium projects where they need to use stadium project as working dir.
zuul_work_dir: src/opendev.org/openstack/neutron
- job:
name: neutron-fullstack-with-uwsgi-with-neutron-lib-master
parent: neutron-fullstack-with-uwsgi
required-projects:
- openstack/neutron-lib
- job:
name: neutron-functional-with-uwsgi
parent: neutron-functional
vars:
devstack_localrc:
NEUTRON_DEPLOY_MOD_WSGI: true
# Because this job uses neutron defined tox env (defined in base job),
# we need to set zuul_work_dir to neutron so that it can be used by
# other projects. Currently devstack run this job. Not setting this
# in base neutron-functional job as that is being used by neutron
# stadium projects where they need to use stadium project as working dir.
zuul_work_dir: src/opendev.org/openstack/neutron
- job:
name: neutron-functional-with-uwsgi-with-neutron-lib-master
parent: neutron-functional-with-uwsgi
required-projects:
- openstack/neutron-lib
- job:
name: neutron-functional-with-uwsgi-fips
parent: neutron-functional-with-uwsgi
nodeset: devstack-single-node-centos-8-stream
description: |
Functional testing for a FIPS enabled Centos 8 system
pre-run: playbooks/enable-fips.yaml
vars:
configure_swap_size: 4096
devstack_localrc:
ISCSI_CHAP_ALGORITHMS: SHA3-256,SHA256
Q_BUILD_OVS_FROM_GIT: true
- job:
name: neutron-fullstack-with-uwsgi-fips
parent: neutron-fullstack-with-uwsgi
nodeset: devstack-single-node-centos-8-stream
description: |
Functional testing for a FIPS enabled Centos 8 system
pre-run: playbooks/enable-fips.yaml
vars:
configure_swap_size: 4096
devstack_localrc:
ISCSI_CHAP_ALGORITHMS: SHA3-256,SHA256
Q_BUILD_OVS_FROM_GIT: true
- job:
name: neutron-linuxbridge-tempest-plugin-scenario-nftables
parent: neutron-tempest-plugin-scenario-linuxbridge
pre-run: playbooks/install_nftables.yaml
vars:
devstack_local_conf:
post-config:
$NEUTRON_CONF:
SECURITYGROUP:
enable_ipset: false # Not compatible with nftables
- job:
name: neutron-ovs-tempest-plugin-scenario-iptables_hybrid-nftables
parent: neutron-tempest-plugin-scenario-openvswitch-iptables_hybrid
pre-run: playbooks/install_nftables.yaml
vars:
devstack_local_conf:
post-config:
$NEUTRON_CONF:
SECURITYGROUP:
enable_ipset: false # Not compatible with nftables