A hypervisor for LXC containers


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


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


(string) LXD container storage type: btrfs, zfs, or lvm
(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
(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.
(boolean) Use LXD source from github.
(boolean) If enabled, the charm will attempt to overwrite block devices containing previous filesystems or LVM, assuming it is not in use.
(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).