Removed E125 (continuation line does not distinguish itself
from next logical line) from the ignore list and fixed all
the indentation issues. Didn't think it was going to be
close to 100 files when I started.
Change-Id: I0a6f5efec4b7d8d3632dd9dbb43e0ab58af9dff3
This patch includes a fix for "configure_for_func_testing.sh" script.
When the guidelines are followed from the following link:
https://docs.openstack.org/neutron/latest/contributor/testing/testing.
html
the test script displays the following error:
ERROR 1045 (28000): Access denied for user 'root'@'localhost'
(using password: YES).
The fix for this is to include the saved password in order to access the
MySQL database.
Change-Id: I6ab5cb3ef1583258cebec9f8f5966eda250a6367
Bug-Link: https://bugs.launchpad.net/neutron/+bug/1836028
In commit [1] neutron replaced using "integrated-gate" template with
new "integrated-gate-networking" tempate to run only tests related
to Neutron and Nova in Neutron CI.
This patch switches tempest jobs defined in neutron directly:
* neutron-tempest-dvr
* neutron-tempest-linuxbridge
* neutron-tempest-iptables_hybrid
* neutron-tempest-with-uwsgi
to inherit from this new "tempest-integrated-networking" job and
run also only tests related to Neutron and Nova.
[1] https://review.opendev.org/#/c/669815/
Change-Id: I2aa60fa1aa98e79f8b2597e490c00f7410f2a93d
In commit [1] neutron replaced using "integrated-gate" template, which
provides tempest-full job with new "integrated-gate-networking" tempate,
which provides "tempest-integrated-networking" job to run only tests related
to Neutron and Nova in Neutron CI.
Unfortunatelly tempest-full and tempest-full-py3 jobs were also
configured in Neutron's zuul file separately so we ended up with running
all 3 of those jobs in our check and gate queue.
So this patch removed "tempest-full" and "tempest-full-py3" jobs from
Neutron's check and gate queue and left only new
"tempest-integrated-networking" job to be run there.
[1] https://review.opendev.org/#/c/669815/
Change-Id: Ia74454c0986d0ef24b9a42ab1e2e0f296511cd3f
The security group code was changed recently to always
normalize IPv6 ICMP protocol names to 'ipv6-icmp', but it
did not cover when a number is used instead. Normalize
protocol number 1 to 58 for IPv6 ICMP as well.
Change-Id: Ife8263196f3d678d8455f07834c9f6c1330acc00
Closes-bug: #1582500
And set it to all the L3 RPC functions. Move to neutron-lib
if it will be widely used corss other projects.
Related-Bug: #1835663
Change-Id: Ie7743db097fd45df432af341470336d6a5662c6f
In case if initial keepalived status find in
keepalived_state_change.MonitorDaemon is "master"
this test_keepalived_state_change_notification was failing
because there was 4 calls to the mocked enqueue_state_change()
method instead of 3.
This patch changes test to wait until 3 or 4 calls to this
method will be counted and it also changes assertions of
what state should be set on which call.
Before the patch test was expecting that calls are always like:
backup, master, backup
but if there are 4 calls it is like: backup, master, master, backup.
As it doesn't matter if there was one or two calls with "master"
state, test will now assert that the last call is always with
"backup" state.
Change-Id: I78c30ab32ffda37176a9c71348d83e17ab2c972a
Closes-Bug: #1836565
This patch adds non-voting tripleo-ci-centos-7-scenario007-standalone
job which will use TripleO to deploy Neutron in containers.
Change-Id: I9593122c961002bc209a89a7fee129e49e6952a4
This change makes the metering agent retry creating the iptables
managers for each router and applying the metering rules.
This is needed in case the metering agent starts before some or all of
the namespaces are created.
Change-Id: Ifc565feb98c7f02df5c2831a3607c3e526a2e703
Closes-Bug: #1807153
FirewallDriver.process_trusted_ports" is called with many ports,
"_initialize_egress_no_port_security" retrieves the VIF ports
("Interface" registers in OVS DB), one per iteration, based in the
port_id. Instead of this procedure, if the DB is called only once to
retrieve all the VIF ports, the performance increase is noticeable.
E.g.: bridge with 1000 ports and interfaces.
Retrieving 100 ports:
- Bulk operation: 0.08 secs
- Loop operation: 5.6 secs
Retrieving 1000 ports:
- Bulk operation: 0.08 secs
- Loop operation: 59 secs
Closes-Bug: #1836095
Related-Bug: #1836023
Change-Id: I5b259717c0fdb8991f1df86b1ef4fb8ad0f18e70
In some debuggers (Pycharm), when OVSFirewallDriver is loaded,
the project configuration is not fully populated and does not
include some variables, e.g.:
cfg.CONF.SECURITYGROUP.permitted_ethertypes.
This will generate a configuration exception:
oslo_config.cfg.NoSuchOptError: no such option SECURITYGROUP in group
[DEFAULT]
By loading the SG groups options before the OVSFirewallDriver class, we
can solve this issue.
Trivial-Fix
Change-Id: I96580635b8a21f68df86b302e528d622ba3cfffc
Enabling osprofiler tracing on class OVSNeutronAgent decorates all of
its methods. Doing this as label "rpc" for locally called methods is
quite misleading.
More importantly later we want to enable tracing triggered by a vif
plug. For that profiler.init() must be called sometime in
OVSNeutronAgent.process_ports_events(). If process_ports_events() is
decorated for tracing and we call profiler.init() inside then we'll have
the end of the method call traced, but not its beginning. The unmatching
end-trace-event makes osprofiler raise.
Change-Id: I06b8643c75a30b5a5f6f78d75af9937180da645b
Partial-Bug: #1833674
process_trusted_ports() appeared to be greenthread unfriendly, so
if there are many trusted ports on a node, openvswitch agent may
"hang" for a significant time.
This patch adds explicit yield.
Change-Id: I7c00812f877e2fc966bbac3060e1187ce1b809ca
Closes-Bug: #1836023
When a port is deleted, is added to the NetworkCache instance
as a "deleted port". This set of ports is used by the DHCP agent
to mark out as "stalled" any message received with this port
in the payload.
Eventually, each deleted port should be dropped from this set
depending on when was deleted. A timeout of 1 day has been defined
in this patch to drop any older deleted port.
A "loopingcall.FixedIntervalLoopingCall" executes the deleted port
cleanup, with an execution interval of 1 day too.
Co-Authored-By: Rodolfo Alonso Hernandez <ralonsoh@readhat.com>
Partial-Bug: #1732458
Change-Id: I0bca03a67e8b0ff8f508cf59383340a13724e51c
Make use of the OVO Port new field "qos_network_policy_id" to avoid
a DB call.
Change-Id: I3724acfbe88ab3db1641c3edb5dd4c76bc84bc00
Related-Bug: #1834484
This patch switches the code over to the payload style of callbacks [1]
for ROUTER_CONTROLLER events. In addition it updates the unit tests to
also use payloads for ROUTER_CONTROLLER based events.
NeutronLibImpact
[1] https://docs.openstack.org/neutron-lib/latest/contributor/callbacks.html
Change-Id: Ib32070c1e3e89f3bb8ce8206654ea6c4cfa2a50c
The WarningsFixture is in neutron-lib. This patch consumes it by
removing it from neutron and using from lib instead.
NeutronLibImpact
Change-Id: I4a04ca25e56b1d93ae49026b35d108a89545447a
While working on improving the osprofiler report in neutron I'm finding
various places where the profiling can be extended by propagating the
profiler info further then before.
This change starts to profile BatchNotifier threads (e.g. various
callbacks to nova) when the code starting the thread was already
profiled (it's not at the moment, but that will be another change).
In this change we use osprofiler.profiler.clean(). Since that has became
part of the public interface of osprofiler in version 2.3.0, we bump
osprofiler version to 2.3.0 both in lower-constraints and requirements.
Change-Id: Ibd08e097b6f8457c50f8ba9e4a63b96e7e3182bc
Partial-Bug: #1833674