Add the ability to update the IP allocation pool range for a subnet.

Registered by Jay Bryant

It is not unusual for users to create a subnet but only use a small subset of the subnet for the allocation pool. For instance the user could limit the allocation pool to a set of IPs that have DNS names associated. It is equally, likely, however for the user to later have to extend the allocation pool to meet a growing number of VMs. There is not, at the moment, a solution that allows the user to extend the existing allocation pool to meet the growing need. This BluePrint proposes adding the ability to extend (and possibly) contract an allocation pool's range of IP addresses.

Blueprint information

Status:
Complete
Approver:
Mark McClain
Priority:
Low
Drafter:
None
Direction:
Approved
Assignee:
None
Definition:
Obsolete
Series goal:
None
Implementation:
Not started
Milestone target:
None
Completed by
Armando Migliaccio

Related branches

Sprints

Whiteboard

I'd like to see more details on this plan before approving for Havana.

This is something that we already discuss here :
https://bugs.launchpad.net/quantum/+bug/1111572
and here :
https://bugs.launchpad.net/quantum/+bug/1062061

Dan already wrote some code to manage allocation-pools update, but he didn't merge because allocations pool were read-only. May be you can contact him to get the code.

============================================================

I had thought I posted a response here a while ago, but it appears that it wasn't saved.

Anyway, I looked at the bugs above. I had actually looked at them before opening this BluePrint. 1111572 just noted the unexpected behavior that when someone attempted to do an update of the allocation pool that it would silently fail. It looks like they made a change to at least return an error. The other bug 1062061 had to do with not catching an update of a gateway that conflicted with the allocation-pool.

So, the thing I am proposing here is to allow users to do enable a command like 'quantum subnet-update --allocation-pool start=<start> end=<end> ' What this will do is check to see what the subnet is, make sure the start and end IPs are valid for the subnet. Then it will ensure that the new range doesn't exclude any IPs that are currently in use. It will fail if the new pool excludes IPs currently in use. Otherwise, it will update the pool accordingly.

I think this is useful for people that may have a limited number of DNS'ed IPs they are using. If they exhaust those and want to add more they are likley to want to expand their pool without having to delete and recreate the subnet or having to create another subnet. This also makes Quantum's functionality more consistent with other cloud networking solutions.

(?)

Work Items