78b6c14f2c
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 |
||
---|---|---|
contrib | ||
devstack | ||
doc/source | ||
etc/nova/rootwrap.d | ||
nova | ||
nova_lxd_tempest_plugin | ||
specs | ||
tools | ||
.coveragerc | ||
.gitignore | ||
.gitreview | ||
.mailmap | ||
.testr.conf | ||
CONTRIBUTING.rst | ||
HACKING.rst | ||
LICENSE | ||
MANIFEST.in | ||
README.md | ||
babel.cfg | ||
openstack-common.conf | ||
requirements.txt | ||
run_tests.sh | ||
setup.cfg | ||
setup.py | ||
test-requirements.txt | ||
tox.ini |
README.md
nova-lxd
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