Add Horizon support for Neutron subnet allocation feature
In Kilo, Neutron has added a new feature called subnet allocation [1]. The blueprint specification [2] [3] may be a little bit out of date so the code should be use as the definitive reference. I'm also happy to consult.
Subnet pools describe a portion of ipv6 or ipv4 address space which can be used to automatically allocate subnet cidrs. The basic CRUD for subnetpools is provided.
When a subnet pool is defined and visible, a subnet cidr does not need to be provided when creating a new subnet. Instead, a pool id, the ip version, and a prefix length (e.g. 64 if an ipv6 /64 is desired) can be specified and the cidr will be allocated and filled in automatically by the Neutron server. A specific cidr can still be optionally specified along with a pool id and in lieu of the prefix length and ip version. The subnet create will fail if that cidr is already being used in the chosen pool.
An admin can create a shared subnetpool which everyone can see and use. This allows a single IP address space to be shared and coordinated across the entire deployment. This will be important for IPv6 to make globally routable subnets available to all projects.
I see two phases for adding Horizon support for this new feature. The first phase is to add support for using existing subnet pools when creating subnets. I imagine a new dropdown list of subnet pools somewhere near the cidr field in the subnet details. The default should be none, empty, or however you want to show that no pool will be used; maybe include a checkbox indicating that a pool should be used. (default unchecked). However it is done, the cidr field becomes optional when using a pool.
The second phase is to provide support for creating and managing subnetpools themselves. These can already be managed outside of Horizon using the API directly or the CLI. So, I see this as nice to have rather than essential. However, it will be nice to be able to create and update pools and see the current pool usage in terms of what portion of the pool has been allocated.
[1] https:/
[2] https:/
[3] https:/
Blueprint information
- Status:
- Complete
- Approver:
- David Lyle
- Priority:
- Medium
- Drafter:
- Carl Baldwin
- Direction:
- Approved
- Assignee:
- None
- Definition:
- Approved
- Series goal:
- Accepted for liberty
- Implementation:
- Implemented
- Milestone target:
- 8.0.0
- Started by
- David Lyle
- Completed by
- David Lyle
Related branches
Related bugs
Sprints
Whiteboard
Gerrit topic: https:/
Addressed by: https:/
Implement client API bindings for Neutron subnet allocation
Addressed by: https:/
Add support for Neutron subnet allocation when creating subnets
These are ready, reviewed and I hope to get them approved for Liberty
Move support for managing the subnetpools themselves to the M-cycle.
During the M-cycle there will be provided APIs in Neutron for meauring the utilization of the subnetpools. This will be very usefull when implementing the UI for viewing and managing subnetpools.
Addressed by: https:/
Add support for managing subnetpools on the Networks panel
Work Items
Work items:
Implement client API bindings for Neutron subnet allocation: DONE
Add support for Neutron subnet allocation when creating subnets: DONE
Add support for managing subnetpools on the Networks panel: POSTPONED