Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/phlummox/vagrant-in-vagrant

Vagrant inside vagrant, using libvirt
https://github.com/phlummox/vagrant-in-vagrant

ci kvm libvirt packer qemu vagrant virtualization

Last synced: about 1 month ago
JSON representation

Vagrant inside vagrant, using libvirt

Awesome Lists containing this project

README

        

# vagrant-in-vagrant

[![build](https://github.com/phlummox/vagrant-in-vagrant/actions/workflows/ci.yml/badge.svg)](https://github.com/phlummox/vagrant-in-vagrant/actions/workflows/ci.yml)

Builds and uploads (to the GitHub releases page, and to the
Vagrant Cloud, in the case of the box):

- The [libvirt plugin][plugin] for Vagrant, built on Ubuntu 18.04.
- A [Vagrant][vagrant] box, based on Ubuntu 18.04, containing Vagrant
and the libvirt driver.

[plugin]: https://github.com/vagrant-libvirt/vagrant-libvirt
[vagrant]: https://github.com/vagrant-libvirt/vagrant-libvirt

Together these can be used to run Vagrant boxes within Vagrant
boxes, even on Continuous Integration (CI) servers that don't support
(for instance) VirtualBox, or provide hardware-based acceleration.

Why would you want that? Usually, because you're wanting to
build and test virtual machines on a CI server.

## Prerequisites

`packer` and `vagrant` need to be installed - see the `.github` CI
file for how to do this.

The build also requires the following Ubuntu packages to be
installed:

- `pv` - used for giving progress feedback in the makefile
- `qemu-utils` and `qemu-kvm`

## Building

```
make packer-build
```

## Using the plugin

Download `vagrant.d.tgz` from the [Releases][releases] page,
and un-tar it into your home directory.

[releases]: https://github.com/phlummox/vagrant-in-vagrant/releases/

## Using the box

```
$ vagrant init phlummox/vagrant-in-vagrant
$ vagrant up
```