Support specifying existing subnet uuid/name
Currently, we rely on user-provided cidr to select the subnet from which the port creates. This approach has some limitations, i.e. overlapping cidr. This BP proposes to introduce driver-specific options (e.g. neutron.
Blueprint information
- Status:
- Complete
- Approver:
- Antoni Segura Puimedon
- Priority:
- Medium
- Drafter:
- hongbin
- Direction:
- Approved
- Assignee:
- Kien Nguyen
- Definition:
- New
- Series goal:
- None
- Implementation:
- Implemented
- Milestone target:
- None
- Started by
- Kien Nguyen
- Completed by
- Kien Nguyen
Related branches
Related bugs
Sprints
Whiteboard
Currently, users couldn't create two networks with the same cidr. For example:
$ neutron net-create test
$ neutron subnet-create test 10.2.0.0/24
$ neutron net-create test2
$ neutron subnet-create test2 10.2.0.0/24
$ docker network create -d kuryr --ipam-driver=kuryr --subnet 10.2.0.0/24 --gateway 10.2.0.1 -o neutron.
$ docker network create -d kuryr --ipam-driver=kuryr --subnet 10.2.0.0/24 --gateway 10.2.0.1 -o neutron.
Error response from daemon: IpamDriver.
This proposal is about introducing an option to specify the subnet so that the ambiguity of two networks with same cidr can be resolved. For example:
$ docker network create ... -o neutron.
$ docker network create ... -o neutron.
For implementation, the main challenge is how to identify the right subnetpool given multiple subnetpools has the same prefixes. The suggested approach is to leverage tagging. In particular, we could tag the subnetpool with the uuid of the specified subnet, so that we could always find it if the subnet's uuid is given.
Gerrit topic: https:/
Addressed by: https:/
Support specifying existing subnet uuid/name
Gerrit topic: https:/
Addressed by: https:/
Search for both name and tag if tag is given.