IP address inventory handling for routed net does not work for ip_allocation=deferrred
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
neutron |
In Progress
|
Medium
|
Unassigned |
Bug Description
Reproduction:
0) have a devstack on recent master and turn on the segments service_plugin in neutron.conf
1) create a provider net
$ openstack network create net3 --share --provider-
2) get the segmentation id
$ openstack network segment list --network net3
3) use the segmentation id to create a subnet
$ openstack subnet create subnet3 --network net3 --subnet-range 10.0.7.0/24 --network-segment 8313239b-
4) create a port with ip_allocation=
$ openstack port create --net net3 port1
At this point no IP is allocated for the port so the IP inventory is placement expected to be the same as at #3)
5) bound the port like nova does
$ openstack port set port1 --device-owner compute:nova --host aio
this assigns an IP address to the port.
Expected:
The IP inventory on the segment 8313239b-
$ openstack resource provider inventory list 8313239b-
Actual:
The IP inventory is not updated.
Triage:
There seems to be logic error in [1]. It gets the segment_id of the original port (before the binding) but that code looks for the fixed_ips in the port founds nothing and therefore returns no segment_id. Then the code simply returns from [1]. However the new port (after the binding) has segment_id so there is a need for inventory recalculation.
See the reproduction with command printouts in [2]
[1]https:/
[2]http://
Changed in neutron: | |
status: | New → Confirmed |
importance: | Undecided → Medium |
Changed in neutron: | |
assignee: | nobody → Lajos Katona (lajos-katona) |
Changed in neutron: | |
status: | Confirmed → In Progress |
Changed in neutron: | |
status: | New → In Progress |
Changed in neutron: | |
status: | New → In Progress |
I think the tempest test[1] just reproduced the problem reported above.
[1] https:/ /review. opendev. org/c/openstack /tempest/ +/665155