Vagrant could be installed using the Ubuntu package manager: apt-get install vagrant It’s strongly recommended, however, to download the latest version from their site and install it manually. Choose 32 or 64 bit *.deb, download, and install with the following command:

sudo dpkg -i vagrant_*.deb

Vagrant + libvirt

Vagrant supports virtualbox, VMware and AWS out of the box and is easily extended to support more like libvirt or LXC on Ubuntu.

For use with libvirt, see the official plugin page on GitHub for detailed instructions.

I installed the following prerequisites prior to installing the libvirt plugin:

sudo apt-get install libxslt-dev libxml2-dev libvirt-dev zlib1g-dev ruby-dev

Once the dependencies were installed I setup the libvirt plugin using the following command:

vagrant plugin install vagrant-libvirt

Using Vagrant

A sample Vagrantfile input is shown below.

    # -*- mode: ruby -*-
    # vi: set ft=ruby :

    Vagrant.configure("2") do |config|
      config.vm.box = "debian/jessie64"
      config.vm.provider :libvirt do |libvirt|
        libvirt.storage_pool_name = "VagrantPool"
      end
    end

Finally, launch vagrant with the following:

vagrant init debian/jessie64; vagrant up --provider libvirt

Extending Available Boxes with Mutate

vagrant-mutate converts vagrant boxes built for other virtualization systems to libvirt.

First, we need to setup our environment with the required dependencies:

apt-get install qemu-utils libvirt-dev ruby-dev

vagrant-mutate is installed as a plugin.

vagrant plugin install vagrant-mutate

Finally, convert boxes with the following command:

vagrant mutate https://atlas.hashicorp.com/debian/boxes/wheezy64/versions/7.11.2/providers/virtualbox.box libvirt