An OpenStack Compute driver for LXD
Go to file
James Page 78b6c14f2c vif: redux interface wiring approach
The nova-lxd driver has to take a slightly different approach
to virtual interface wiring due to a lack of an equivalent to
'launch and pause' in LXD.

For some interface types, the last mile tap device needs to
be present for vif plugging to complete successfully which
occurs prior to the instance being launched; This change
refactors the vif module to create veth pairs directly
in nova-lxd, rather than delegating this to LXD as part of
a bridged network interface type.  This allows vif plugging
to complete prior to the instance being created in LXD.

The side effect of this change is that all currently supported
interface types are now configured as 'physical' interfaces
in LXD profiles for instances - wiring to bridges is handled
directly by the nova-lxd driver instead.

This change has been validated with:

   ovs driver + iptables hybrid firewall driver
   ovs driver + openvswitch native firewall driver
   linuxbridge driver + iptables hybrid firewall driver

The VIF wiring approach is described in detail in the VIF
wiring documentation included in this change.

Closes-Bug: 1681758
Change-Id: Ic268e989d1ee19f696298fb1e0db729a00352a12
2017-07-12 15:45:59 +01:00
contrib Misc fixes for devstack gate tests 2017-06-12 09:26:29 +01:00
devstack devstack: disable volume boot pattern tests 2017-07-12 15:45:40 +01:00
doc/source vif: redux interface wiring approach 2017-07-12 15:45:59 +01:00
etc/nova/rootwrap.d Report ZFS pool capacity and usage statistics 2017-04-07 17:17:41 +01:00
nova vif: redux interface wiring approach 2017-07-12 15:45:59 +01:00
nova_lxd_tempest_plugin Merge "Local copy of scenario test base class" 2017-04-05 13:45:42 +00:00
specs Update todo list 2015-11-07 15:28:54 -05:00
tools Fix PEP8 errors 2015-07-06 12:16:29 +02:00
.coveragerc Tidy tox targets, fix coverage reporting 2017-06-26 12:55:58 +01:00
.gitignore Tidy tox targets, fix coverage reporting 2017-06-26 12:55:58 +01:00
.gitreview Update gitreview for stable/ocata branch 2017-02-23 10:29:14 -05:00
.mailmap Add missing files 2015-01-09 13:18:48 -05:00
.testr.conf Fix unit tests with py27 2016-05-11 12:57:49 -04:00
CONTRIBUTING.rst add code-block to CONTRIBUTING.rst 2016-09-16 22:19:10 -04:00
HACKING.rst Transition from nova-compute-lxd to nova-lxd 2015-11-23 11:06:10 -05:00
LICENSE Frist commit 2015-01-09 11:33:42 -05:00
MANIFEST.in Frist commit 2015-01-09 11:33:42 -05:00
README.md Remove all traces of github usage 2016-06-09 09:00:11 -06:00
babel.cfg Frist commit 2015-01-09 11:33:42 -05:00
openstack-common.conf Transition from nova-compute-lxd to nova-lxd 2015-11-23 11:06:10 -05:00
requirements.txt Updated from global requirements 2017-06-15 16:30:06 +00:00
run_tests.sh Update package defaults 2015-11-07 15:25:28 -05:00
setup.cfg Remove some unneeded/unused dependencies 2016-11-06 14:28:25 -07:00
setup.py Updated from global requirements 2017-03-13 19:37:49 +00:00
test-requirements.txt Updated from global requirements 2017-06-27 12:16:56 +00:00
tox.ini Tidy tox targets, fix coverage reporting 2017-06-26 12:55:58 +01:00

README.md

nova-lxd Build Status

An OpenStack Compute driver for managing containers using LXD.

nova-lxd on Devstack

For development purposes, nova-lxd provides a devstack plugin. To use it, just include the following in your devstack local.conf:

[[local|localrc]]
enable_plugin nova-lxd https://git.openstack.org/openstack/nova-lxd

Change git repositories as needed (it's probably not very useful to point to the main nova-lxd repo). If you have a local tree you'd like to use, you can symlink your tree to /opt/stack/nova-lxd and do your development from there.

The devstack default images won't work with lxd, as lxd doesn't support them. Once your stack is up and you've configured authentication against your devstack, do the following::

wget http://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-root.tar.gz
glance image-create --name xenial --disk-format raw --container-format bare --file xenial-server-cloudimg-amd64-root.tar.gz

You can test your configuration using the exercise scripts in devstack. For instance,

DEFAULT_IMAGE_NAME=xenial ./exercises/volumes.sh

Please note: the exercise scripts in devstack likely won't work, as they have requirements for using the cirros images.

Support and discussions

We use the LXC mailing-lists for developer and user discussions, you can find and subscribe to those at: https://lists.linuxcontainers.org

If you prefer live discussions, some of us also hang out in #lxcontainers on irc.freenode.net.

Bug reports

Bug reports can be filed at https://bugs.launchpad.net/nova-lxd