Integrate Kuryr network driver for Swarm bay
Integrate Kuryr as libnetwork for Swarm bay to allow users to create networks for containers and launch containers on these networks.
Whiteboard
Integrate Kuryr driver for Swarm bay
Following the discussion from Austin, we can proceed to integrate the
libnetwork driver from Kuryr to the Swarm bay.
From the user perspective, this will be available as a new option for
the network-driver parameter in the baymodel for Swarm:
--network-
A Swarm bay built with this option will have the Kuryr driver installed on
each node along with the configuration for Docker to use this driver.
The user will be able to create arbitrary network as follows:
docker network create --driver kuryr test_net
docker network ls
NETWORK ID NAME DRIVER
c338e56309d2 bridge bridge
91d19b79c5ec host host
01c830d4ac4f none null
2af1b926ab97 test_net kuryr
Then containers can be connected to the network as:
docker run --net=test_net ubuntu
The container will be assigned a routable IP on this network.
The implementation in Magnum will include the following:
1. Configuration script for
-Generate the /etc/kuryr/
-Generate the Docker network plugin file
2. Openvswitch and Neutron L2 agent:
-Current Fedora 23 does not have these installed. To avoid building custom image, we can
run them in a container with -net=host and -priviledged option
-Pull fedora23 image and launch openvswitch container on each node
3. Container for Kuryr agent:
-The official supported container from the Kuryr team is kuryr/libnetwork
-Pull image and launch container on each node. Need to mount /var/run/openswitch
4. Miscellaneous
-Attribute validation: allow for "kuryr" as driver
-Documentation
Gerrit topic: https:/
Addressed by: https:/
Openvswitch image build
Addressed by: https:/
Templates and scripts for Kuryr
Addressed by: https:/
Config parameters for Kuryr
Addressed by: https:/
Enable Kuryr driver
Work Items
Work items:
Container images in Docker Hub (Kuryr, OVS): DONE
Parameters in magnum.conf: TODO
Labels validation: INPROGRESS
Templates, scripts: INPROGRESS
Update user guide: TODO
Functional test: TODO
Resolve security issues: TODO