The vnic type should not be changed once the port is bound since it's
related to the actual port binding. The patch validates the port update
operation and fails the update if the vnic type is attempted to be
changed on a bound port.
Closes-bug: #2033090
Change-Id: I5cb79d9da96ba41a7787083c81f522c328fae049
Signed-off-by: Jakub Libosvar <libosvar@redhat.com>
There are three job definitions here for testing
neutron with the master branches of other projects,
specifically neutron-lib, oslo, and ovsdbapp. As
neutron is no longer testing py310 in its master
gate, start using the py311 versions of these jobs
so we can move forward.
Also moved the sqlalchemy job to start using py311
as well.
Depends-on: https://review.opendev.org/c/openstack/openstack-zuul-jobs/+/899745
Change-Id: Iec1d5fcdfd8c85a3edb5bc9a399d44839fbc879a
This patch is part of the solution for LP #2037294 and updates the
documentation to explain the new "enable-chassis-as-extport-host"
configuration as well as enhancing the documentation in general
to better explain each configuration, database information and
high availability for external ports.
Change-Id: Iad048a71653dc791fc27585b509c02470e5d08a2
Related-Bug: #2037294
Signed-off-by: Lucas Alvares Gomes <lucasagomes@gmail.com>
This patch introduces a new configuration for OVN CMS Options called
"enable-chassis-as-extport-host". This configuration can be used
by ML2/OVN to identify nodes that are eligible for scheduling OVN's
external ports.
Prior to this patch, external ports were always scheduled on centralized
networked nodes tagged with the "enable-chassis-as-gw" flag in the OVN
CMS Options but, when it comes to deploying OpenStack on OpenShift
requiring services such as the OVN Metadata Agent or DHCP Agent to
serve those external ports and running them on control plane nodes are
not ideal. This is where this patch comes handy allowing these ports to
have more flexibility in where they are scheduled.
The patch is also backward compatible and if the new configuration is
not present on the OVN CMS Options, ML2/OVN will continue to schedule
the external ports on nodes configured with the previous configuration
like always.
Documentation will be updated on a follow up patch.
Closes-Bug: 2037294
Change-Id: Ic46d847e3aebfe543d5a7ab49d18d1f1abf1342e
Signed-off-by: Lucas Alvares Gomes <lucasagomes@gmail.com>
When neutron server restarts the mac address for NAT entries related
to ovn-lb FIPs gets re-added, distributing the traffic that should
be centralized and therefore breaking the connectivity. This happens
due to the port being down. This patch is ensuring the MAC entry
is only being readded in case the port is UP
Closes-Bug: #2042938
Change-Id: I6203009750a4e589eeb808f842cb522d61476179
As we discussed on the Neutron CI meeting on 7.11.2023 (it was video
meeting, no strict logs stored) [1], to save some time in the fullstack
job execution we want to stop running all the Linuxbridge related
tests/scenarios in fullstack test suite.
Linuxbridge is experimental feature now, not really fully supported by
the Neutron team so we are allowed to do so in this case.
This patch is doing exactly that. There are no any Linuxbridge agent
related tests/scenarios.
Support for Linuxbridge in the Fullstack framework wasn't however
removed completely. It is like that because of 2 reasons:
* there is one DHCP agent related test which tests different segments
and is using Linuxbridge agent on one of the fake nodes,
* maybe there will be at some point need to have some Linuxbridge agent
test there so the infrastructure for that is still available, it won't
cause any issues while it's (almost) not used currently.
[1] https://meetings.opendev.org/meetings/neutron_ci/2023/neutron_ci.2023-11-07-15.00.html
Change-Id: I709c477f66ada037e47ec9abc7fbed1d1a238d20
In test_ovn_nb_sync_mode_repair(), create_port_list is
modified while being iterated, use a copy.
TrivialFix
Change-Id: I3251226446ea416e6f29ba6b444169d6d49d067f
The logic was added by [1] in addition to the maintenance task
(check_for_localnet_legacy_port_name) to update the old name.
The maintenance task was already removed by [2] because it has been
kept for enough cycles so we can also remove the logic to support
old naming before migration by the task.
[1] 483f468fdd5bb549f763d0507e0a7ac1106eb85a
[2] d966845e5b80b1cec3cbfe25e4a7e1542e9fca65
Change-Id: I24328e6c1f9b907d402eb34f9b4d98e3d182e636
This change re-implements validation of ipvN_ptr_zone_prefix_size at
config definition layer. This brings a few benefits.
- The validation is executed at an earlier stage
- The validation can be leveraged by the oslo-config-validator.
Change-Id: Ib72109bcb537b3e44719efb6f33ea46f0d45a1ef
Previously in all our install guides there were info that name of the
physical interface should be put in the bridge_mappings config option in
ths OVS agent's config. This wasn't correct as bridge_mappings expects
there bridge name instead.
Change-Id: I0698aa4621a15c1927ad2c352501cea02e6ee70c
The sections described in the documentation does not match the actual
section names in current neutron.
* local_ip now belongs to the [ovs] section
* tunnel_types now belongs to the [agent] section
* l2_population now belongs to the [agent] section
Also the tunnel_types option is not explained in the example snippet.
Change-Id: Ic2bde217a03a884855d299f3142394a4229745bc
One or the other test in TestMaintenance fails
randomly with missing idl lock.
DBInconsistenciesPeriodics set's the idl lock
but in TestMaintenance we don't run it as a seperate
maintenance worker and instead call check_for_inconsistencies
when needed so not a requirement to have a dedicated lock.
This patch clears the lock for these tests to avoid
such random issues.
Closes-Bug: #2039417
Change-Id: I931997fe010295120f2400b1ec310dff82497ab6
Extend the get_hosts_mapped_with_segments method to add
optional filters to include/exclude based on agent type.
Uses a joined query, when both include and exclude
filtering is used togheter the exclude filter is most
significant.
Partial-Bug: #2040172
Change-Id: I2cfd52a2657fad989e24e974fda470ecd960262b
Signed-off-by: Harald Jensås <hjensas@redhat.com>
... because the middleware is used only by neutron-server.
This also removes the metadata shared secret from compute, because
metadata-agent runs only in controller nodes according to the guide.
Change-Id: I0e5ed7453384d24581bcd8c3a85c8fc36fab910f
In [1] we added support for FDB learning. In order to avoid issues
due to that table increasing without limits, which will impact OVN
performance, this patch is adding support for its aging mechanisms
which was added in OVN 23.09 in [2]. By default is disabled, so if
`localnet_learn_fdb` is enabled, the new configuration parameters
should be appropriately configured too: `fdb_age_threshold` and
`fdb_removal_limit`
[1] https://review.opendev.org/c/openstack/neutron/+/877675
[2] ae9a548882
Closes-Bug: 2035325
Change-Id: Ifdfaec35cc6b52040487a2b5ee08aba9282fc68b
Most code uses convert_version_to_tuple() from
oslo_utils.versionutils to determine minimum version
numbers, but there were two places that used the
packaging.version class instead. Change to always
use the same code throughout the tree.
Also added a flake8 enforcement check for it so we
don't regress.
TrivialFix
Change-Id: Ida4dcd504562646f0a450160e57680a44c387b1d