[openstack-dev] [neutron] Update_port can not remove allocation from auto-addressed subnets
pbondar at infoblox.com
Fri May 20 12:06:46 UTC 2016
Currently using update_port workflow user can not remove ip addresses from
auto-addressed subnets (SLAAC). It prevents me from implementing complete
fix for .
Typically for removing ip address from port, 'fixed_ips' list is updated and
ip address is cleaned up from it.
But for auto-addressed subnets if ip address is removed from 'fixed_ips',
port_update is called, but SLAAC ip are not removed because of .
This area was significantly reworked during liberty, but the same
preserved at least from kilo .
To make subnet deletion to comply with IPAM interface  any ip address
deallocation has to be done via ipam interface (update_port), but
currently skips deallocation of SLAAC addresses.
So I am looking for advice about a way to allow deallocation of SLAAC
addresses via update_port.
I see several possible solutions, but they are not ideal, so please let
if you see a better solution:
- Add additional parameter like 'allow_slaac_deletion' to update_port
and pass it through
_get_changed_ips_for_port to alternate behavior in . It involves changing
parameters for API exposed method update_port, so not sure if it can be
- Another way is to introduce new state for 'fixed_ips' list. Currently
have 'subnet_id' and 'ip_address' as keys. We could add new key like
'delete_subnet_id' to force delete allocations for slaac subnets. This way
there is no need to update parameters for bunch of methods.
Please share your thoughts about the ways to fix it.
More information about the OpenStack-dev