Docker remote driver for OpenStack Neutron
Go to file
Mohammad Banikazemi b25eca0d7d Support for existing Neutron nets
An existing Neutron network can be specified as the network
being used for a Docker network being created. The Neutron
network id or name can be specified.

If a Docker network is deleted, the corresponding pre existing
Neutron network will not be deleted.

Usage:
 docker network create -d kuryr --ipam-driver=kuryr
     --subnet=10.10.0.0/24 --gateway=10.10.0.1
     -o neutron.net.uuid=d98d1259-03d1-4b45-9b86-b039cba1d90d mynet

 docker network create -d kuryr --ipam-driver=kuryr
     --subnet=10.10.0.0/24 --gateway=10.10.0.1
     -o neutron.net.name=my_neutron_net mynet

If subnet being specified does not exist, it will be created by
Kuryr. If exists it will be used.

Blueprint existing-neutron-network

Change-Id: I570aa4e77c906d3f04768e882f02050cd0cad558
2016-03-29 23:02:48 -04:00
contrib/vagrant Expose horizon on Vagrant guest to localhost port 8080 2016-02-23 19:19:49 -08:00
devstack plugin.sh stops docker service rather than kill docker daemon. 2016-02-22 08:52:00 -08:00
doc Networking for nested containers 2016-02-28 07:20:33 -08:00
etc Correct location of auto-generated config file 2015-12-03 11:46:08 -05:00
init Add upstart config file 2016-02-15 20:54:38 +01:00
kuryr Support for existing Neutron nets 2016-03-29 23:02:48 -04:00
rally-jobs Add rally case for create and delete network 2016-03-07 13:57:44 +08:00
releasenotes/notes Use reno for release notes 2015-12-14 09:41:51 -06:00
scripts Modify run_kuryr.sh for more clear output 2016-02-29 06:37:13 +00:00
tools Make sure correct branch of Neutron is pulled on testing 2015-12-12 20:12:34 +02:00
usr/libexec/kuryr Merge "Modify external_ids in /usr/libexec/kuryr/ovs" 2016-02-29 19:48:50 +00:00
__init__.py Add entrypoint of Kuryr 2015-07-27 19:40:49 +09:00
.coveragerc Exclude tests from coverage 2015-10-08 21:37:54 +09:00
.gitignore Allow for user specified local.conf changes with Vagrant 2015-12-28 15:34:18 -06:00
.gitreview Added .gitreview 2015-07-14 18:00:33 +00:00
.testr.conf Separate unit tests from fullstack tests 2015-12-08 09:08:04 +02:00
babel.cfg Initial template commit 2015-07-15 10:00:44 +03:00
CONTRIBUTING.rst Initial template commit 2015-07-15 10:00:44 +03:00
HACKING.rst Initial template commit 2015-07-15 10:00:44 +03:00
LICENSE Initial template commit 2015-07-15 10:00:44 +03:00
MANIFEST.in Remove 'MANIFEST.in' 2016-01-25 14:46:06 +08:00
README.rst Noted other requirements for generating documentation 2016-03-08 22:43:07 -05:00
requirements.txt Updated from global requirements 2016-02-24 21:45:57 +00:00
setup.cfg Remove support for Python 3.3 2016-02-11 08:47:34 +09:00
setup.py Updated from global requirements 2016-02-19 02:32:25 +00:00
test-requirements.txt Updated from global requirements 2016-02-19 02:32:25 +00:00
tox.ini Merge "Support py34 in Kuryr" 2016-02-10 06:58:40 +00:00

kuryr

Kuryr

Docker for OpenStack Neutron

Kuryr is a Docker network plugin that uses Neutron to provide networking services to Docker containers. It provides containerised images for the common Neutron plugins.

Features

  • TODO

Prerequisites

$ sudo pip install -r requirements.txt

Running Kuryr

Currently, Kuryr utilizes a bash script to start the service.

$ sudo ./scripts/run_kuryr.sh

After the booting, please restart your Docker service, e.g.,

::

$ sudo service docker restart

The bash script creates the following files if they are missing.

  • /usr/lib/docker/plugins/kuryr/kuryr.json: Json spec file for libnetwork;
  • /etc/kuryr/kuryr.conf: Configuration file for Kuryr.

Note the root privilege is required for creating and deleting the veth pairs with pyroute2 to run.

Testing Kuryr

$ tox

You can also run specific test cases using the -e flag, e.g., to only run the fullstack test case.

$ tox -e fullstack

Generating Documentation

We use Sphinx to maintain the documentation. You can install Sphinx using pip.

$ pip install -U Sphinx

In addition to Sphinx you will also need the following requirements (not covered by requirements.txt):

$ pip install oslosphinx reno 'reno[sphinx]'

The source code of the documentation are under doc, you can generate the html files using the following command. If the generation succeeds,a build/html dir will be created under doc.

$ cd doc
$ make html

Now you can serve the documentation at http://localhost:8080 as a simple website.

$ cd build/html
$ python -m SimpleHTTPServer 8080