neutron-lib now contains the functionality from neutron's attributes
module. This patch moves the local references over to neturon-lib's
implementation and removes the functionality from the attributes
module.
NeutronLibImpact
Change-Id: I773702ebd4b66d28059cb3ced64b2b477ceff8af
Add missing information that Openvswitch agent supports now
both ingress and egress direction for QoS bandwidth limit rule.
Support for ingress bandwidth limit was added in
I9d94e27db5d574b61061689dc99f12f095625ca0
TrivialFix
Change-Id: I70058d1d8f16c58e41dab08fc66d5d3f5fcefa4b
This is needed to retrieve all ports in a given set of
security groups.
Partially-Implements: blueprint push-notifications
Partially-Implements: blueprint adopt-oslo-versioned-objects-for-db
Change-Id: Iffa1bd341d9d20277ec153aa1dac6f61f05ec5bd
Fix a regression from the recent change. [1]
[1] I6f49f25eb2ad16221357024f45a6bb6175d5cd55
Closes-Bug: #1698812
Change-Id: Ifef2561ef4ff2a44068fc008475b216fdabe7095
When creating an IPv6 auto-address subnet for a network, ports can be
created or updated concurrently in the same network, before the subnet
creation concludes. In such a situation, an IpAddressAlreadyAllocated
exception may be raised, because the subnet create request attempts to
allocate auto addresses to the concurrently created or updated ports,
which have been already allocated by the port requests.
This patchset adds code to the IPAM to skip the attempt to assign the
auto address to ports if they already have received them.
Change-Id: If1eb4046865f43b15ba97c52e2d0b9343dc72c19
Closes-Bug: #1655567
In Python 3 str is unicode by default and hence there is no unicode
global function. This switches our use of it to to six.u() which handles
the py2/py3 difference under the covers.
Change-Id: I3cfff2fe8e07e2a9ed8b89c93d24351b1f440b00
In order to allow the DHCP agent to service other subnets on the
network in other segments via DHCP relay, we need to use the
'non_local_subnets' network attribute returned by rpc to set up dhcp
for off-link subnets.
Change-Id: I88e1c574bc429dc599ad7c956c03fa0688338186
Closes-Bug: 1692486
In order to allow the DHCP agent to service other subnets
on the network in other segments via DHCP relay, we need to
return all subnets regardless of segment association.
However, this behavior will break older DHCP agents that
then try to get IPs on the subnets belonging to other segments.
This patch adds a new subnet attribute, 'non_local_subnets'
that will be returned in the DHCP RPC calls, so that agents
that can deal with off-link subnets can handle them
accordingly.
Change-Id: I9cce7b8a19c1201435df0c6baac7be57c57847e6
Partial-Bug: #1692486
The segmentation_id of a new segment is assigned by the
_handle_segment_change callback in the ML2 plugin, which is executed
after the segment was created, before commiting it to the DB. This
patchset adds code to update the newly created segment with the
segmentation_id assigned by the callback.
Change-Id: I493278a0bf5a3a0aadad10e5bee546d83b949fdc
Closes-Bug: #1698596
There is no point in retrying binding if the network has no
segments to bind to. This occurs during normal operations when
a network is being quickly created/deleted and the DHCP port
gets created during the network deletion.
By skipping binding we avoid misleading error messages and
wasted CPU cycles.
Closes-Bug: #1696010
Change-Id: I0b987ab7c3f65c1d860064a1b437b92a1dc1cb81
PRECOMMIT_XXX events callback need completed sg info, like the sg id
and its related rules for registered driver.
Change-Id: I6f49f25eb2ad16221357024f45a6bb6175d5cd55
Co-Authored-By: Rui Wang <starwangrui@gmail.com>
Co-Authored-By: Manjeet Singh Bhatia <manjeet.s.bhatia@intel.com>
Co-Authored-By: Yalei Wang <yalei.wang@intel.com>
Closes-bug: #1546910
Commit af52d499a53f9dddacd8c9116d1bb0570e8f579c broke decomposed
plugins.
This was for a number of reasons:
1. _make_security_group_dict should always get the object as
as parameter. There were some cases where it received the
database object
2. The returned port security groups needed to be a list
3. A rule create needed to fetch from the DB
In addition to this the methods resource_extend.apply_funcs
should receive the database object.
Change-Id: I740da1ea65a0af9451701e3a40fd673fa82f0f5b