Delete subnet can fail for SLAAC/DHCP_STATELESS with 409
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
neutron |
Fix Released
|
High
|
Salvatore Orlando |
Bug Description
The routine for deleting a subnet checks whether it's ok to remove a subnet in the following way:
1) Query IP allocations on the subnet for ports that can be automatically deleted
2) Remove those allocations
3) Check again subnet allocations. If there is any other allocation this means that there are some IPs that cannot be automatically deleted
4) Raise a conflict exception
In the case of SLAAC or DHCP_STATELESS IPv6 subnets, every IP address can be automatically deleted - and that's where the problem lies.
Indeed the query performed at step #3 [1] and [2] for ML2 plugin, might cause a failure during subnet deletion if:
- The transaction isolation level is set to READ COMMITTED
- The subnet address mode is either SLAAC or DHCP STATELESS
- A port is created concurrently with the delete subnet procedure and an IP address is assigned to it.
These circumstances are quite unlikely to occur, but far from impossible. They are indeed seen in gate tests [3].
It is advisable to provide a fix for this issue. To this aim it is probably worth noting that the check #3 is rather pointless for subnets with automatic address mode.
[1] http://
[2] http://
[3] http://
Changed in neutron: | |
importance: | Undecided → Medium |
importance: | Medium → High |
tags: | added: gate-failure ipv6 |
Changed in neutron: | |
status: | Fix Committed → Fix Released |
Changed in neutron: | |
milestone: | kilo-2 → 2015.1.0 |
Fix proposed to branch: master /review. openstack. org/149767
Review: https:/