There are a few warnings disabled that do not generate
failures any more, re-enable them by removing from
.pylintrc file.
TrivialFix
Change-Id: I1a4fff33b0dcd3d88b4ab0c86546098c7a9cafa4
When a router interface is created, the corresponding subnet gateway IP
is tested first [1]. If the subnet has no gateway IP, the router
interface cannot be created. This IP will be assigned to this port.
The Neutron API also prevents from modifying the subnet gateway IP
if assigned to a router interface [2]. However the API is not
preventing the subnet gateway IP deletion. This patch is adding
this check.
This patch is being tested in the neutron-tempest-plugin [3].
[1]de58c1b995/neutron/db/l3_db.py (L902-L904)
[2]de58c1b995/neutron/db/db_base_plugin_v2.py (L715)
[3]https://review.opendev.org/c/openstack/neutron-tempest-plugin/+/904710
Closes-Bug: #2036423
Change-Id: I4c7b399a3a052749abdb88fb50be628ee91b63a0
neutron.object.base._use_db_facade() is unused according
to codesearch, except for the test cases. Remove it.
TrivialFix
Change-Id: I8f183584bf66bac157694c51769409dba2c79da2
This is a follow-up patch to handle a missing comment. The except
branch should never catch a ``AttributeError`` exception, only a
``KeyError`` if that is missing in the ``data`` dictionary.
Related-Bug: #2013228
Change-Id: I6a3249649dde58e666048a613640338ea8af7b36
Metering agent don't supports ML2/OVN backend currently and this should
be documented in the feature parity gaps document.
Related-bug: #2048773
Change-Id: I2b8c37f33e3ae4b17cc88bffde014d7d730e59d3
This config option was originally introduced before
the networking-ovn merge into neutron in 2019, and as
there is no usage it can be safely removed.
TrivialFix
Change-Id: I8ac826926dc8d3881ee57dc677f41bdbed00e5c0
This deprecated name for quota_rbac_policy was
introduced before 2016, and as there is no usage
according to codesearch it can be safely removed.
TrivialFix
Change-Id: I5cc3392985ee595999a5030e6b9c80a4c3009187
As per the current release tested runtime, we test
python version from 3.8 to 3.11 so updating the
same in python classifier in setup.cfg
Change-Id: I3c5badcc6293840efe52b6d03e5ed990d9f3e8a9
normal network namespaces are bind-mounted to files under
/var/run/netns. If a process deleting a network namespace gets killed
during that operation there is the chance that the bind mount to the
netns has been removed, but the file under /var/run/netns still exists.
When the neutron-ovn-metadata-agent tries to clean up such network
namespaces it first tires to validate that the network namespace is
empty. For the cases described above this fails, as this network
namespace no longer really exists, but is just a stray file laying
around.
To fix this we treat network namespaces where we get an `OSError` with
errno 22 (Invalid Argument) as empty. The calls to pyroute2 to delete
the namespace will then clean up the file.
Additionally we add a guard to teardown_datapath to continue even if
this fails. failing to remove a datapath is not critical and leaves in
the worst case a process and a network namespace running, however
previously it would have also prevented the creation of new datapaths
which is critical for VM startup.
Closes-Bug: #2037102
Change-Id: I7c43812fed5903f98a2e491076c24a8d926a59b4
This is a followup patch for Iec8854749a1df81eb6a7154d3f951e176c69156d
that left some other unused code in tree. This patch attempts to remove
the remaining pieces.
Related-Bug: 2002839
Change-Id: Ie297dfba17deb79b38cf9f6eccf4f1a8e9e5060a
Signed-off-by: Jakub Libosvar <libosvar@redhat.com>
The "description" property abstract method definition is missing in
the abstract class ``NeutronAgent``. This property is being used in
this definition, in the "as_dict" method.
Trivial-Fix
Change-Id: I18029707414fc361b36e85326e2e9dadd7d6c336
Current translation no longer use babel[1] or these setup.cfg
entries[2].
[1] 4e907ed2f39329eaa12d1712d49ca8903db15124
[2] 22df2f6395c1426485a7cb97166601823f8a2a28
Change-Id: Ic866a41b00c37c549a83274e33ac18d0aba846bb
The method to retrieve an OVS bridge datapath ID have proven to work.
However the functional test is unstable. In order to improve the CI
stability, this patch is removing this single test.
Closes-Bug: #2000163
Change-Id: I784b29e364d21d064ede233aa05a1f00079a4cae
The OVN fake resources factory method should return an instance
of the requested object, not a "type" metaclass object.
Closes-Bug: #2047049
Change-Id: I85c613dd628d7d2b67446d999b3e4d7b91eaf9fe
Now the ``OVNAgentExtension`` class do not clear the agent API during
the extension initialization.
This patch also passes the agent object to the OVN agent extensions
as agent API. Any method required will be implemented directly on the
OVN agent class.
Closes-Bug: #2046939
Change-Id: Ia635ca1ff97c3db43a34d3dec6a7f9df154dfe28
Now the OVN agent implements a method ``__getitem__`` that retrieves,
from ``self.ext_manager``, a loaded extension by its name. The method
returns the instantiated extension object.
Closes-Bug: #2046892
Change-Id: Ibb6dc7c9150bf99639d5b6180356963998dc4e49
When there is a backlog of notifications to be sent, it is possible
that ovsdb-server will merge insert and update notifications. Due
to this, we need to handle the situation where we see a Port_Binding
created with the chassis set.
Closes-Bug: #2017748
Change-Id: Idfae87cf6c60e9e18ede91ea20857cea5322738c