Segments, routed-networks, IPAM only usecase regression
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
neutron |
Fix Released
|
Undecided
|
Harald Jensås |
Bug Description
Segments, routed-networks, IPAM only usecase regression
Code[1] will defer IP allocation if host is not specified.
Issues:
a) This breaks the use case where Neutron is used for IPAM only with
routed network.
b) A user can no longer create a port and specify a fixed IP, then later
bind the port without loosing the fixed-ip information.
Issue b) above is a very common pattern in Heat templates.
It is used in Heat templates examples, ref:
- https:/
- https:/
Current behaviour with segments is that ip-allocation is deferred for _any_ port create. Deferring ip allocation if the host is not known does make sense. Before host is known the available segments are also not known and we need to wait until the scheduler has picked a host and nova adds binding:host_id. However...
... this does not make sense if the subnet or fixed-ip is specified in the port create request. In this case we should not defer allocation, the user specified exactly what they want and it is known where to allocate the IP.
When / If this port is later bound to a host, an error will be raised if that host does not have the correct segments. This is essentially the same update scenario already covered in the code?[2]
When creating an instance using an existing port with and IP address, the scheduler should take the ip-allocation data from the port provided in the request and ensure that the instance is scheduled to a host that is connected to the correct segment. According to nova neutron-
""" Use case 2:
User has a port that has an IP address and thus is effectively
attached to a segment (but not bound to a host). He/She
provides it to nova boot. Nova will ask Neutron for the segment
to which the port is bound by getting the details of the port.
Given that segment, the scheduler should place the instance
on a compute host belonging to the corresponding aggregate. """
[1] https:/
[2] https:/
[3] https:/
description: | updated |
tags: | added: neutron-proactive-backport-potential |
tags: | removed: neutron-proactive-backport-potential |
Fix proposed to branch: master /review. openstack. org/470788
Review: https:/