A quick alternative solution, until PRs to upstream Docker get accepted,
can be Docker user passing pool name to both Kuryr ipam driver and
Kuryr network driver using corresponding network and ipam options
respectively:
$sudo docker network create --driver=kuryr --ipam-driver=kuryr \
--subnet 10.0.0.0/16 --ip-range 10.0.0.0/24 \
-o neutron.pool.name=neutron_pool1 \
--ipam-opt=neutron.pool.name=neutron_pool1 \
foo
eddb51ebca09339cb17aaec05e48ffe60659ced6f3fc41b020b0eb506d364
Now Docker user creates another network with same cidr as the previous,
i.e 10.0.0.0/16, but with different pool name, neutron_pool2:
$sudo docker network create --driver=kuryr --ipam-driver=kuryr \
--subnet 10.0.0.0/16 --ip-range 10.0.0.0/24 \
-o neutron.pool.name=neutron_pool2 \
--ipam-opt=neutron.pool.name=neutron_pool2 \
bar
397badb51ebca09339cb17aaec05e48ffe60659ced6f3fc41b020b0eb506d786
At ``/IpamDriver.RequestAddress``, correct subnet will be filtered out using
corresponding pool name received from the libnetwork as explained above.
Please refer https://review.openstack.org/#/c/326894/6
TODO: unit test cases covering docker option scenario
DocImpact
Change-Id: I7090027e68e8c78219a387da66e1bd30be900ab1
Closes-bug: #1585572