Deploying Nova-LXD Hypervisors with OpenStack-Ansible

Unsplash https://pixabay.com/en/books-bookshelf-library-literature-1245744/

A relatively new hypervisor has been developed by the Ubuntu team: LXD. This technology builds upon the foundation of Linux containers, aka LXC. LXD is a daemon that implements a RESTful API on top of the LXC libraries. Recently, a new OpenStack nova plugin was developed, nova-lxd. This plugin is a drop-in replacement for the traditional qemu/libvirt nova driver.

If you have had your eye on deploying this new nova-lxd driver to enable first-class containers in your existing OpenStack cloud, but weren’t sure how to integrate it with your infrastructure, OpenStack-Ansible may be the solution.

Deploying an OpenStack cloud is a complicated process. Luckily, the helpful community supporting OpenStack-Ansible has your back. OpenStack is a moving target, and OpenStack-Ansible helps deployers integrate all the various components and dependencies necessary to build an OpenStack cloud.

If you want to give this new hypervisor a test-drive in your lab, I recommend trying OpenStack-Ansible as the deployment method. You can find the install guide here: Openstack-Ansible Installation Guide. Be sure to checkout the master branch to get the new nova-lxd features until the Newton release is tagged.

If you just want to test out OpenStack-Ansible in a virtual machine, the All in One deployment method is another great option: OpenStack-Ansible AIO Quick Start

After you have bootstrapped your deployment host, you can add the following to your /etc/openstack_deploy/user_variables.yml file:

nova_virt_type: lxd

You will also need to add an entry lxd_trust_password in /etc/openstack_deploy/user_secrets.yml

If you are just getting started with OpenStack-Ansible and run into trouble, feel free to reach out via IRC on freenode in #openstack-ansible . It’s a very active and vocal community, feedback, bug reports, and commits are always welcome.