A hypervisor for LXC containers

Overview

LXD is a hypervisor for managing Linux Containers; it provides a simple RESTful API for creation and management of containers.

Usage

The lxd charm can be used in-conjunction with any principle charm to setup and enable use of LXD; its primary use case is with the nova-compute charm to enable LXD based OpenStack Clouds:

juju deploy cs:~openstack-charmers-next/wily/nova-compute
juju set nova-compute virt-type=lxd
juju deploy cs:~openstack-charmers-next/wily/lxd
juju set lxd block-device=/dev/sdb storage-type=lvm
juju add-relation lxd nova-compute

At this point in time, LXD is only supported on Ubuntu 15.10 or above, in-conjunction with OpenStack Liberty (provided as part of Ubuntu 15.10).

For a full OpenStack Liberty deployment using LXD, please refer to the OpenStack LXD bundle.

Contact Information

Report bugs on Launchpad

Configuration

storage-type
(string)
                            LXD container storage type: btrfs, zfs, or lvm

                        
btrfs
source
(string)
                            Repository from which to install LXD.  May be one of the following:
distro (default), ppa:somecustom/ppa, a deb url sources entry,
or a supported release pocket

                        
block-device
(string)
                            Device to be used to back LXD storage. May be an valid block
device or a path and size to a local file (/path/to/file.img|$sizeG),
which will be created and used as a loopback device (for testing only).
.
This will be use to store lxd containers.

                        
use-source
(boolean)
                            Use LXD source from github.
                        
overwrite
(boolean)
                            If enabled, the charm will attempt to overwrite block devices
containing previous filesystems or LVM, assuming it is not in use.

                        
ephemeral-unmount
(string)
                            Cloud instances provide ephemeral storage which is normally mounted
on /mnt.
.
Providing this option will force an unmount of the ephemeral device
so that it can be used for LXD container storage.  This is useful for
testing purposes (cloud deployment is not a typical use case).