neutron/zuul.d/grenade.yaml
Slawek Kaplonski adb3e943b1 Limit execution of the neutron CI jobs on some irrelevant file
This patch tries to make execution of the CI jobs in the Neutron
queue to be more smart. There is no need to e.g. run
linuxbridge scenario jobs job when only changed files in patch
are in e.g. the openvswitch agent module, or vice versa.

Change-Id: Ie33514da28991fa5952a1d8c289402ecb9ffee49
2021-02-22 09:43:21 +01:00

282 lines
8.8 KiB
YAML

- job:
name: neutron-grenade-multinode
parent: grenade-multinode
required-projects:
- openstack/grenade
- openstack/neutron
irrelevant-files: &openvswitch-irrelevant-files
- ^(test-|)requirements.txt$
- ^releasenotes/.*$
- ^doc/.*$
- ^setup.cfg$
- ^.*\.rst$
- ^neutron/locale/.*$
- ^neutron/tests/unit/.*$
- ^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/.*$
vars:
devstack_services:
etcd: false
br-ex-tcpdump: true
br-int-flows: 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
group-vars:
subnode:
devstack_services:
# Cinder services
c-bak: false
c-vol: false
- job:
name: neutron-grenade-dvr-multinode
parent: grenade-multinode
pre-run: playbooks/dvr-multinode-scenario-pre-run.yaml
roles:
- zuul: openstack/neutron-tempest-plugin
required-projects:
- openstack/grenade
- openstack/neutron
irrelevant-files: *openvswitch-irrelevant-files
vars:
devstack_services:
etcd: false
br-ex-tcpdump: true
br-int-flows: 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
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":
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
br-ex-tcpdump: true
br-int-flows: true
# Cinder services
c-bak: false
c-vol: 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
$NEUTRON_L3_CONF:
DEFAULT:
agent_mode: dvr_snat
agent:
availability_zone: nova
- job:
name: neutron-grenade-ovn
parent: grenade-multinode
timeout: 9000
irrelevant-files:
- ^(test-|)requirements.txt$
- ^releasenotes/.*$
- ^doc/.*$
- ^setup.cfg$
- ^.*\.rst$
- ^neutron/locale/.*$
- ^neutron/tests/unit/.*$
- ^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/scheduler/.*$
roles:
- zuul: openstack/neutron-tempest-plugin
required-projects:
- openstack/grenade
- openstack/neutron
- openstack/neutron-tempest-plugin
pre-run: playbooks/multinode-setup.yaml
vars:
devstack_local_conf:
test-config:
$TEMPEST_CONFIG:
neutron_plugin_options:
is_igmp_snooping_enabled: True
grenade_devstack_localrc:
old:
Q_BUILD_OVS_FROM_GIT: true
# TODO(jlibosva): v2.13.1 is incompatible with kernel 4.15.0-118, sticking to commit hash until new v2.13 tag is created
OVS_BRANCH: 0047ca3a0290f1ef954f2c76b31477cf4b9755f5
# TODO(mjozefcz): Stop compiling OVS modules when meter action in kernel
# will be released in Ubuntu Bionic.
# More info: https://mail.openvswitch.org/pipermail/ovs-discuss/2018-December/048009.html
OVN_BUILD_MODULES: true
OVN_BRANCH: v20.06.1
new:
Q_BUILD_OVS_FROM_GIT: false
OVN_BUILD_MODULES: false
shared:
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: true
OVN_L3_CREATE_PUBLIC_NETWORK: true
OVN_DBS_LOG_LEVEL: dbg
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:
'{{ devstack_base_dir }}/data/ovs': 'logs'
'{{ devstack_base_dir }}/data/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
peakmem_tracker: false
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: false
q-qos: 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: false
# Cinder services
c-bak: false
c-vol: false
grenade_devstack_localrc:
old:
Q_BUILD_OVS_FROM_GIT: true
# TODO(jlibosva): v2.13.1 is incompatible with kernel 4.15.0-118, sticking to commit hash until new v2.13 tag is created
OVS_BRANCH: 0047ca3a0290f1ef954f2c76b31477cf4b9755f5
# TODO(mjozefcz): Stop compiling OVS modules when meter action in kernel
# will be released in Ubuntu Bionic.
# More info: https://mail.openvswitch.org/pipermail/ovs-discuss/2018-December/048009.html
OVN_BUILD_MODULES: true
OVN_BRANCH: v20.06.1
new:
Q_BUILD_OVS_FROM_GIT: false
OVN_BUILD_MODULES: false
shared:
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