The remainder of the neutron.plugins.common.utils were rehomed into
neutron-lib with [1][2]. This patch consumes them by using the functions
from neutron-lib, and removing the neutron.plugins.common.utils module
all together as it's fully rehomed now.
NeutronLibImpact
[1] https://review.openstack.org/#/c/560950/
[2] https://review.openstack.org/#/c/554546/
Change-Id: Ic0f7b37861f078ce8c5ee92d97e977b8d2b468ad
A bulk of the public APIs that are part of neutron.plugins.common.utils
were rehomed into neutron-lib with [1] and the remaining with [2].
This patch consumes [1] by:
- Removing the rehomed code from neutron.
- Removing the UTs that are no longer applicable.
- Leaving the functions in [2][3] in neutron.plugins.common.utils until
we release [2][3] and can consume it at which point we should be able to
remove the utils module.
NeutronLibImpact
[1] Iabb155b5d2d0ec6104ebee5dd42cf292bdf3ec61
[2] I2c0e4ef03425ba0bb2651ae3e68d6c8cde7b8f90
[3] I73f5e8ad7a1a83392094db846d18964d811b8bb2
Change-Id: I1d63cbea463e92e1d2e053f8e1a564ed52cb84f8
When under load the port may have been deleted by another process.
Here we will log the port that was not found. This will help
debug.
Change-Id: I2556c54584c84cbdb777a4fa366b18a9195b60c5
Closes-bug: #1694389
After failed to add port to a router, we cannot re-use and/or delete
this port.
With concurrent requests occuring, neutron will accept one request
and the other will be rejected with an 'overlapped CIDR' message.
Patch [1] fixed the race condition, but neutron raises
'Port already has an attached device' instead of
'overlapped CIDR', because neutron didn't cleanup the port when
the request was retried.
[1] https://review.openstack.org/#/c/303966/
This patch is needed to fix the bug completely. We will catch any
exception when adding an interface by port to a router. After that,
we rollback this port to its original state.
Change-Id: Ib68aee164a3062648fc882012d57b5e381f52196
Closes-Bug: #1535549
Clean up related core plugin ports on routers when there is a failure
creating the record for the router port.
The two partial bugs will be fixed after
I476d3e03c8ee763cc4be6d679fe9f501eb3a19b5 has merged.
Closes-Bug: #1600344
Partial-Bug: #1535225
Partial-Bug: #1535226
Change-Id: I8dd832f35e20d1ee090ebab921f0deea533b6fc8
The OVS device name hashing algorithm shortens interface names that are too
long. To ensure uniqueness it makes use of a hashing algorithm.
Move this function to a common place where it can be shared between ml2
drivers and agents.
Extend the function to support defining the max device length to be used.
Change LOG level to info to help deployers figuring out the unhashed name
of an hashed inteface.
Adapt OVS agent to use this common function instead of its
own implementation.
Change-Id: I5c04f39928d070aa7e372934fcb2675609d2761c
Partial-Bug: #1495960
Based on discussion with Ihar and Cedric, this may break upgrades. Let's
revert it for the time being and reassess.
This reverts commit 3d0db13370.
Change-Id: I69d74befb08e074c1bccd823cca0899de6ed57d6
Closes-Bug: 1504647
The OVS devcie name hashing algorithm shortens interface names that are too
long. To ensure uniqueness it takes use of a hashing algorithm.
Move this function to a common place where it can be shared between ml2
drivers and agents.
Extend the function to support interface name postfix in addition to the
prefix.
Change LOG level to info to help deployers figuring out the unhashed name
of an hashed inteface.
Adapt OVS and linuxbridge agent to use this common function instead of their
own implementation.
Change-Id: If7ee8240c8f60da3400365138832a5d9badf98b4
Closes-Bug: #1495960