Commit Graph

4 Commits

Author SHA1 Message Date
Rodolfo Alonso Hernandez 132905d81f [L3][QoS] L3 agent QoS extension to handle duplicated FIPs
The L3 agent QoS extension should be able to handle duplicated floating
IP addresses from different registers. Those floating IP addresses can
be hosted in different networks and routers but the same compute node
and L3 agent.

Now, instead of using the IP address as unique identifier, this patch
stores the (ID, IP address) tuple. This tuple is unique per floating IP
register and holds the IP address, needed by the "tc" library to set
the QoS rules.

Closes-Bug: #1962465
Change-Id: I3a09718c6e79fd1f37eb75264389c4e5043076a7
2022-03-18 14:40:37 +00:00
Brian Haley 7594bb0627 Remove the dependency on the "mock" package
Now that we are python3 only, we should move to using the built
in version of mock that supports all of our testing needs and
remove the dependency on the "mock" package.

This patch moves all references to "import mock" to
"from unittest import mock". It also cleans up some new line
inconsistency.

Fixed an inconsistency in the OVSBridge.deferred() definition
as it needs to also have an *args argument.

Fixed an issue where an l3-agent test was mocking
functools.partial, causing a python3.8 failure.

Unit tests only, removing from tests/base.py affects
functional tests which need additional work.

Change-Id: I40e8a8410840c3774c72ae1a8054574445d66ece
2020-04-28 18:05:37 -04:00
LIU Yulong ab57410ec8 Minimizing L3 agent QoS extensions lock granularity
If agent is concurrently processing large set of resources,
the bottleneck lock will multiply increase processing time
of those resources which have been waiting for the lock for
a long time.

This patch moves the lock to the core cache resource, and
leverage the coordination lock to the resource prcessing
and notification thread functions.

Closes-Bug: #1824911
Change-Id: Id43829b11631727f1a46362ffea5c22d2177fd79
2019-07-02 23:13:29 +08:00
LIU Yulong 5e59cd2a5f Refactor for L3 router QoS extensions
Move the l3 qos extensions to a separated folder,
then we can move a following up router gateway IP
QoS extension to it.

And also extract some common code to a base class.

Related-Bug: #1757044
Change-Id: I63cc9506caa80f889ad817444281a0ac31bc9418
2018-05-17 10:11:27 +08:00