There are currently two issues affecting the neutron gate, one
for pep8 job and the other for fullstack. We need to fix them
both together since they cannot merge separately.
Bump pylint to the latest version to fix pep8 job - it was
pinned to an old version which is causing the job to hang.
Do not use str(url) to stringify a URL for subsequent use
to fix the fullstack job. The str(url) function in SQLAlchemy
hides the password. For a URL string that is to be re-used, use
render_as_string(hide_password=False).
Co-authored-by: Mike Bayer <mike_mp@zzzcomputing.com>
Closes-Bug: #2065779
Change-Id: I8d04db91ddc2995fbff05b4c4c48baebcc418522
Instead of having a separate OVN command for deletion of each
static route, send out the deletion as a single command.
Which significantly improves the performance. Previously
deletion of 1000 routes took >1m30s and >6m30s for 2000 routes,
with this change it takes ~5s and ~8s, respectivily.
Closes-Bug: #2060054
Change-Id: Iaa5204e2e48795c31c502160041bd128189eef5a
When the common Metadata Driver was created in [0], the
monitors dictionary was dropped accidentally. This causes
tracebacks in the fullstack L3-HA tests when
after_router_updated() is called. Put it back along with
its related tests.
[0] https://review.opendev.org/c/openstack/neutron/+/894399
Closes-bug: #2065145
Change-Id: I137ed7cec9e0eafdb3a351e5a414f5a0c16f33e5
If there were not changes made to data in the database there is no
reason to bump revision numbers because the underlying drivers won't
change too. This saves cycles in case empty updates are incoming to the
API.
Co-Authored-By: Ihar Hrachyshka <ihar@redhat.com>
Closes-bug: #2065094
Change-Id: Ib74fdab7a8927ef9cc24ef7810e9cf2c264941eb
'pre-commit' tool [1] provides an extensible way to configure hooks
which can be run automatically before each commit. That way we can make
sure that code send to review is passing base static analysis checks
like e.g. bandit, flake8 or hacking.
For now this is optional to use and not integrated in e.g. tox.ini file
but we can integrate it there too as next step.
[1] https://pre-commit.com/
Change-Id: Ia3bc21ccacacbcb8a529163533557312cbbf25bd
Instead of each individual driver setting up the RPC server (and setting
the _rpc_backend attribute on the TrunkPlugin) we now check in the
TrunkPlugin if any driver requires the RPC backend to be started.
Additionally, we only start it when this is requested by Neutron via
start_rpc_listeners(). This is required when running neutron-server and
neutron-rpc-server separately to run RPC only in neutron-rpc-server.
As we still need the notifiers of ServerSideRpcBackend to be
created/started, we separate TrunkSkeleton (which is the RPC server
implementation) and ServerSideRpcBackend (which is essentially only a
notifier). In case RPC is required by a driver, we always start the
notifier, but the RPC server only when requested via
start_rpc_listeners().
Change-Id: I2c6362b3320e534a6e65bd7701b5ac2feca42a49
Closes-Bug: #2015275
Closes-Bug: #2062009
The semantics changed since I2e3aa7c400d7bb17cc117b65faaa160b41013dde
but the code was not updated to reflect it explicitly.
This patch modifies _update_flows_for_vlan_subr.
Change-Id: Id5e0d8bcc379f19dc85b23b4602be4e0e82f3d00
The tests were passing a string of IPv4 address where the actual code
was expecting a tuple of (IPv4 address, MAC address). The type of the
`addr` changed from a string to a tuple in:
I2e3aa7c400d7bb17cc117b65faaa160b41013dde
but the names of variables and the test cases were not.
Tests still didn't fail till recently because addr[0] resulted in the
first character of the IPv4 address string (e.g. `1`), and was then
interpreted by `netaddr` library as an address. This worked until
`netaddr>=1.0` started to enforce proper formats for passed IPv4
addresses - which broke the tests.
Closes-Bug: #2054435
Change-Id: Ib9594bc0611007efdbaf3219ccd44bbb37cfc627
Remove B604 (any_other_function_with_shell_equals_true),
so use subprocess.Popen with the default shell=False,
thus removing the shell parameter of common.utils.subprocess
Popen method.
Depends-On: https://review.opendev.org/c/915991
Change-Id: I1857e982211c4de29b3e24ec2485ea9c17c98b10
Seen couple of kernel panic issues in these jobs
even with libvirt_disable_apic=True workaround set.
switch to cirros uec image to avoid these issues.
Related-Bug: #1939108
Change-Id: Ib7f50f53368e2aea86ec47f73a1f8f50d9aac3be
When using routed provided network, the condition is bypassing
dhcp_agents_per_network which results that in a env with 3 agents and
dhcp_agents_per_network=2, for a given network already well handled
by 2 agents. If restarting the third agent It will start to handle the
network also which will result to have 3 agents handling the
network.
Closes-bug: #2058908
Signed-off-by: Sahid Orentino Ferdjaoui <sahid.ferdjaoui@industrialdiscipline.com>
Change-Id: Ia05a879b0ed88172694bd6bffc6f7eb0d36bb6b0
The placement_port option in fullstack tests can be implemented by
the native PortOpt instead of defining a specific type.
Change-Id: Iedf50249080d3f631942febb1f5e089f06f43db0
Instead of the LoggingServiceDriverManager starting the RPC if any
driver needs it, we now only start it when this is requested by neutron
via start_rpc_listeners(). This is required when running neutron-server
and neutron-rpc-server separately to run RPC only in neutron-rpc-server.
Change-Id: I8d185cdc807e94098c137314bcaa2317a2f85ebe
Partial-Bug: #2062009
These test randomly fails with NetworkInterfaceNotFound
from quite some time. Until the issue is fixed added unstable_test
decorator so the job do not fail for these.
Related-Bug: #1961740
Change-Id: I1a352526aac72b417f93f51ba50c3359359c240d
Change non-harmful stack trace errors for dns_exc.DNSDomainNotFound and
dns_exc.DuplicateRecordSet to error log messages. This prevents the logs
from filling with stack traces where error messages would have been
sufficient enough.
Closes-Bug: #2042925
Change-Id: Icf1fff28bb560c506392f16c579de6d92cd56c23
Remove B324 (prohibit list calls: md5, sha1 for python>=3.9)
from bandit skip list, for this replace sha1 with blake2b.
Change-Id: Iafe571ad0de0408414ed321f4b9e9588916a873d
There were some globals in the IP monitor functional tests
that were only used and never assigned, there is no need
to define them as such in this case. No functional change.
TrivialFix
Change-Id: I0f8e630538ea5ae21537a9a72faf0cdd34096f11