Commit Graph

22326 Commits (b79842f289f0c9b9fdce9d6cc689538ec61216e7)
 

Author SHA1 Message Date
Brian Haley b79842f289 Start enforcing E125 flake8 directive
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
4 years ago
Zuul b3d9d9742a Merge "use SqlFixture and StaticSqlFixture from neutron-lib" 4 years ago
Zuul 1c27ad0991 Merge "Retry creating iptables managers and adding metering rules" 4 years ago
Zuul 886a8824e2 Merge "Switch neutron tempest jobs to run only networking related tests" 4 years ago
Zuul d7faa7e1d7 Merge "Remove tempest-full jobs from Neutron CI" 4 years ago
Zuul 8fa84c468a Merge "Add TripleO container based job to Neutron's check queue" 4 years ago
Zuul 916347b996 Merge "Functional testing script password update" 4 years ago
Zuul 7886d91516 Merge "Normalize protocol number 1 to 58 for IPv6" 4 years ago
Zuul f3935ba3bf Merge "[DHCP] Implement an aging method for deleted_ports" 4 years ago
Zuul 2f05055787 Merge "segments: fix rp inventory update" 4 years ago
Zuul d484627e7a Merge "Fix race in test_keepalived_state_change_notification" 4 years ago
Zuul 50308c03c9 Merge "Add a common timecost wrapper" 4 years ago
Sara Nierodzik a75385f2c5 Functional testing script password update
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
4 years ago
Slawek Kaplonski 951c46c3b7 Switch neutron tempest jobs to run only networking related tests
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
4 years ago
Slawek Kaplonski 8996940b58 Remove tempest-full jobs from Neutron CI
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
4 years ago
Brian Haley dac9a062ac Normalize protocol number 1 to 58 for IPv6
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
4 years ago
Zuul 64c8bfbbf0 Merge "Improve "OVSFirewallDriver.process_trusted_ports"" 4 years ago
Zuul b729b8a320 Merge "Register SG opts when testing test_firewall" 4 years ago
LIU Yulong 9c4bd4bd9a Add a common timecost wrapper
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
4 years ago
Zuul 597b8f62a1 Merge "ovs-agent: Trace remote methods only" 4 years ago
Slawek Kaplonski 7bb1bbba36 Fix race in test_keepalived_state_change_notification
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
4 years ago
Slawek Kaplonski 442a4e0078 Add TripleO container based job to Neutron's check queue
This patch adds non-voting tripleo-ci-centos-7-scenario007-standalone
job which will use TripleO to deploy Neutron in containers.

Change-Id: I9593122c961002bc209a89a7fee129e49e6952a4
4 years ago
Zuul ccd627c3b3 Merge "Remove the l2pop agent_boot_time config" 4 years ago
bno1 9f541521bb Retry creating iptables managers and adding metering rules
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
4 years ago
Zuul 6945fc9f30 Merge "use callback payloads for ROUTER_CONTROLLER events" 4 years ago
Zuul 9d4161f955 Merge "Propagate profiler info into BatchNotifier threads" 4 years ago
Rodolfo Alonso Hernandez ae1d36fa9d Improve "OVSFirewallDriver.process_trusted_ports"
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
4 years ago
Zuul 82e279db62 Merge "Yield control to other greenthreads while processing trusted ports" 4 years ago
Zuul e11c3be504 Merge "Do not use privsep context when listing the namespaces in functional" 4 years ago
Zuul 7729393579 Merge "Replace "integrated-gate" template with new "integrated-gate-networking"" 4 years ago
Rodolfo Alonso Hernandez 11380ff5da Register SG opts when testing test_firewall
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
4 years ago
Bence Romsics 0299746c72 ovs-agent: Trace remote methods only
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
4 years ago
Oleg Bondarev da539da378 Yield control to other greenthreads while processing trusted ports
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
4 years ago
LIU Yulong 76c0280635 Remove the l2pop agent_boot_time config
It was marked as deprecated, so let's do a quick
removal.

Related-Bug: #1813714
Change-Id: Ibc039b34b826641811a7e08b0d1bff0fd21b9193
4 years ago
Rodolfo Alonso Hernandez 5754f00ea8 [DHCP] Implement an aging method for deleted_ports
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
4 years ago
Zuul 3b2521a894 Merge "Improve "QoSPlugin._validate_create_port_callback"" 4 years ago
Zuul 503cd9d165 Merge "consume WarningsFixture from neutron-lib" 4 years ago
elajkat 12ab7c4cb1 segments: fix rp inventory update
The patch https://review.opendev.org/663980 made resource provider
inventory update failing with the assumption that inventory update
expects a dict with a key of the resource class, like resource provider
inventories update.
See the placement API-ref:
https://developer.openstack.org/api-ref/placement/#update-resource-provider-inventory
https://developer.openstack.org/api-ref/placement/#update-resource-provider-inventories

Change-Id: I7de1a947b864eb5ac57ebaca895f827d2e667443
Closes-Bug: #1836037
Related-Bug: #1828543
4 years ago
Zuul 06754907e2 Merge "Ignore first local port update notification" 4 years ago
Zuul 2e269ef1b7 Merge "Rally task definition for port binding scenario" 4 years ago
Zuul 801fde7988 Merge "Add base support for update_port_bulk" 4 years ago
Zuul 9045ca179b Merge "Fix list security groups performance with RBAC" 4 years ago
Zuul 8c08045c69 Merge "Fix update of network's segmentation id for network with ports" 4 years ago
Rodolfo Alonso Hernandez 4a06e08de6 Improve "QoSPlugin._validate_create_port_callback"
Make use of the OVO Port new field "qos_network_policy_id" to avoid
a DB call.

Change-Id: I3724acfbe88ab3db1641c3edb5dd4c76bc84bc00
Related-Bug: #1834484
4 years ago
Boden R 084bb0952a use callback payloads for ROUTER_CONTROLLER events
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
4 years ago
Zuul a89244459a Merge "Add Python 3 Train unit tests" 4 years ago
Boden R 6f18693438 consume WarningsFixture from neutron-lib
The WarningsFixture is in neutron-lib. This patch consumes it by
removing it from neutron and using from lib instead.

NeutronLibImpact

Change-Id: I4a04ca25e56b1d93ae49026b35d108a89545447a
4 years ago
Zuul c53dee3e8b Merge "Add "connectivity" parameter in vif_details" 4 years ago
Zuul f17d0e19ae Merge "Remove rootwrap filters for TC commands in Linux Bridge" 4 years ago
Bence Romsics 45e59e3a18 Propagate profiler info into BatchNotifier threads
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
4 years ago