Description

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. This charm is currently specific to LXD's use with nova-lxd, but that's only by usage, rather than specific design.

Usage with nova-compute and nova-lxd

While the lxd charm can be used with any charm to enable use of LXD, its primary use is
with the nova-compute Openstack charm, for provisioning LXD based OpenStack Nova
instances.

For example:

juju deploy nova-compute
juju set nova-compute virt-type=lxd
juju deploy lxd
juju set lxd block-devices=/dev/sdb storage-type=lvm
juju add-relation lxd nova-compute

The caveat is that nova-compute is part of a greater ecosystem of many OpenStack service
charms. For a full OpenStack Mitaka deployment using LXD, please
refer to the OpenStack LXD bundle.

At this time, nova-lxd is only supported on Ubuntu 16.04 or above, with OpenStack Mitaka
(provided as part of Ubuntu 16.04).

Contact Information

Report bugs on Launchpad

Configuration

storage-type
(string) LXD container storage type: btrfs, zfs, or lvm
btrfs
block-devices
(string) A space-separated list of devices to use to back the LXD storage. Items in this list should be valid block device paths. Entries that are not found will be ignored. . Currently, only the the first block device in the list will be considered.
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
use-source
(boolean) Use LXD source from github.
enable-ext4-userns
(boolean) Enable use of EXT4 in LXD containers for block storage support.
True
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).