Files
neutron/zuul.d/grenade.yaml
Rodolfo Alonso Hernandez 33cf8dcd51 Replace the OVN Metadata agent with the OVN agent
The OVN Metadata agent is replaced in any CI job with the OVN
agent. This is an incremental step on the deprecation of the
OVN Metadata agent.

Related-Bug: #2112313
Signed-off-by: Rodolfo Alonso Hernandez <ralonsoh@redhat.com>
Change-Id: I627779a1612fbc05d27ff94fd657ca1473579a2f
2025-06-27 15:26:36 +00:00

435 lines
13 KiB
YAML

- job:
name: neutron-ovs-grenade-multinode
parent: grenade-multinode
required-projects:
- openstack/grenade
- openstack/neutron
irrelevant-files: &openvswitch-irrelevant-files
- ^\.pre-commit-config\.yaml$
- ^\.pylintrc$
- ^test-requirements.txt$
- ^releasenotes/.*$
- ^doc/.*$
- ^setup.cfg$
- ^.*\.conf\.sample$
- ^.*\.rst$
- ^neutron/locale/.*$
- ^neutron/tests/.*$
- ^tools/.*$
- ^tox.ini$
- ^plugin.spec$
- ^pyproject.toml$
- ^tools/ovn_migration/.*$
- ^neutron/agent/ovn/.*$
- ^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/ovn/.*$
- ^neutron/services/trunk/drivers/ovn/.*$
- ^neutron/cmd/ovn/.*$
- ^neutron/common/ovn/.*$
- ^roles/.*functional.*$
- ^playbooks/.*functional.*$
- ^vagrant/.*$
# Ignore everything except for zuul.d/project.yaml
- ^zuul.d/base.yaml
- ^zuul.d/grenade.yaml
- ^zuul.d/job-templates.yaml
- ^zuul.d/rally.yaml
- ^zuul.d/tempest-multinode.yaml
- ^zuul.d/tempest-singlenode.yaml
vars:
grenade_devstack_localrc:
shared:
Q_AGENT: openvswitch
Q_ML2_TENANT_NETWORK_TYPE: vxlan
Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch
NEUTRON_DEPLOY_MOD_WSGI: True
devstack_services:
etcd: false
br-ex-tcpdump: true
br-int-flows: true
# Neutron services
q-agt: true
q-dhcp: true
q-l3: true
q-meta: true
q-svc: false
neutron-api: true
neutron-rpc-server: true
neutron-periodic-workers: true
q-metering: true
ovn-controller: false
ovn-northd: false
q-ovn-metadata-agent: false
# 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_L3_CONF:
agent:
debug_iptables_rules: True
group-vars:
subnode:
grenade_devstack_localrc:
shared:
Q_AGENT: openvswitch
Q_ML2_TENANT_NETWORK_TYPE: vxlan
Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch
devstack_services:
# Neutron services
q-agt: true
q-l3: true
q-meta: true
ovn-controller: false
ovs-vswitchd: false
ovsdb-server: false
q-ovn-metadata-agent: false
# Cinder services
c-bak: false
c-vol: false
devstack_local_conf:
post-config:
$NEUTRON_L3_CONF:
agent:
debug_iptables_rules: True
# TODO(ralonsoh): remove this duplicated definition when "devstack" and
# "tempest" adopt the new name.
- job:
name: neutron-grenade-multinode
parent: neutron-ovs-grenade-multinode
- job:
name: neutron-ovs-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:
grenade_devstack_localrc:
shared:
Q_AGENT: openvswitch
Q_ML2_TENANT_NETWORK_TYPE: vxlan
Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch
NEUTRON_DEPLOY_MOD_WSGI: True
devstack_services:
etcd: false
br-ex-tcpdump: true
br-int-flows: true
# Neutron services
q-agt: true
q-dhcp: true
q-l3: true
q-meta: true
q-svc: false
neutron-api: true
neutron-rpc-server: true
neutron-periodic-workers: true
q-metering: true
ovn-controller: false
ovn-northd: false
q-ovn-metadata-agent: false
# 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
"/$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
debug_iptables_rules: True
$NEUTRON_DHCP_CONF:
agent:
availability_zone: nova
group-vars:
subnode:
grenade_devstack_localrc:
shared:
Q_AGENT: openvswitch
Q_ML2_TENANT_NETWORK_TYPE: vxlan
Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch
devstack_services:
br-ex-tcpdump: true
br-int-flows: true
# Neutron services
q-agt: true
q-l3: true
q-meta: true
ovn-controller: false
ovs-vswitchd: false
ovsdb-server: false
q-ovn-metadata-agent: false
# Cinder services
c-bak: false
c-vol: false
devstack_local_conf:
post-config:
$NEUTRON_CONF:
DEFAULT:
router_distributed: True
"/$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
debug_iptables_rules: True
- job:
name: neutron-ovn-grenade-multinode
parent: grenade-multinode
timeout: 9000
irrelevant-files:
- ^\.pre-commit-config\.yaml$
- ^\.pylintrc$
- ^test-requirements.txt$
- ^releasenotes/.*$
- ^doc/.*$
- ^setup.cfg$
- ^pyproject.toml$
- ^.*\.conf\.sample$
- ^.*\.rst$
- ^neutron/locale/.*$
- ^neutron/tests/.*$
- ^tools/.*$
- ^tox.ini$
- ^plugin.spec$
- ^tools/ovn_migration/.*$
- ^neutron/agent/dhcp/.*$
- ^neutron/agent/l2/.*$
- ^neutron/agent/l3/.*$
- ^neutron/agent/metadata/.*$
- ^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/openvswitch/.*$
- ^neutron/plugins/ml2/drivers/macvtap/.*$
- ^neutron/plugins/ml2/drivers/mech_sriov/.*$
- ^neutron/services/qos/drivers/openvswitch/.*$
- ^neutron/services/trunk/drivers/openvswitch/.*$
- ^neutron/scheduler/.*$
- ^roles/.*functional.*$
- ^playbooks/.*functional.*$
- ^vagrant/.*$
# Ignore everything except for zuul.d/project.yaml
- ^zuul.d/base.yaml
- ^zuul.d/grenade.yaml
- ^zuul.d/job-templates.yaml
- ^zuul.d/rally.yaml
- ^zuul.d/tempest-multinode.yaml
- ^zuul.d/tempest-singlenode.yaml
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
OVN_BUILD_MODULES: true
OVN_BUILD_FROM_SOURCE: True
OVN_BRANCH: "branch-24.03"
OVS_BRANCH: "branch-3.3"
new:
Q_BUILD_OVS_FROM_GIT: false
OVN_BUILD_MODULES: false
shared:
Q_AGENT: ovn
OVN_AGENT_EXTENSIONS: 'metadata'
# NOTE(ralonsoh): during the eventlet removal, the "logger" mech
# driver has been removed from this list. Re-add it once the removal
# is finished or the mech driver does not call monkey_patch().
Q_ML2_PLUGIN_MECHANISM_DRIVERS: ovn
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
NEUTRON_DEPLOY_MOD_WSGI: 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'
'/opt/stack/old/logs': 'logs'
'/opt/stack/new/logs': 'logs'
extensions_to_txt:
db: true
devstack_services:
etcd: false
br-ex-tcpdump: true
br-int-flows: true
q-ovn-metadata-agent: false
q-ovn-agent: true
ovn-controller: true
ovn-northd: true
ovs-vswitchd: true
ovsdb-server: true
placement-api: true
peakmem_tracker: false
q-svc: false
neutron-api: true
neutron-ovn-maintenance-worker: true
neutron-rpc-server: false
neutron-periodic-workers: 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: false
q-ovn-agent: true
tls-proxy: false
# Cinder services
c-bak: false
c-vol: false
grenade_devstack_localrc:
old:
Q_BUILD_OVS_FROM_GIT: true
OVN_BUILD_MODULES: true
OVN_BUILD_FROM_SOURCE: True
OVN_BRANCH: "branch-24.03"
OVS_BRANCH: "branch-3.3"
new:
Q_BUILD_OVS_FROM_GIT: false
OVN_BUILD_MODULES: false
shared:
Q_AGENT: ovn
OVN_AGENT_EXTENSIONS: 'metadata'
# NOTE(ralonsoh): during the eventlet removal, the "logger" mech
# driver has been removed from this list. Re-add it once the removal
# is finished or the mech driver does not call monkey_patch().
Q_ML2_PLUGIN_MECHANISM_DRIVERS: ovn
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
- job:
name: neutron-ovs-grenade-multinode-skip-level
parent: neutron-ovs-grenade-multinode
description: |
Grenade job that skips a release, validating that deployers can skip
specific releases as prescribed by our process.
vars:
# Move this forward when master changes to a new skip-level-allowed
# target release. Right now, this is Dalmatian (2024.2) because master is
# Flamingo (2025.2).
# When master is G (2026.1), this should become Epoxy (2025.1),
# and so forth.
grenade_from_branch: stable/2024.2
grenade_localrc:
NOVA_ENABLE_UPGRADE_WORKAROUND: True
- job:
name: neutron-ovn-grenade-multinode-skip-level
parent: neutron-ovn-grenade-multinode
description: |
Grenade job that skips a release, validating that deployers can skip
specific releases as prescribed by our process.
vars:
# Move this forward when master changes to a new skip-level-allowed
# target release. Right now, this is Dalmatian (2024.2) because master is
# Flamingo (2025.2).
# When master is G (2026.1), this should become Epoxy (2025.1),
# and so forth.
grenade_from_branch: stable/2024.2
grenade_localrc:
NOVA_ENABLE_UPGRADE_WORKAROUND: True