Building Vagrant box images#
This document describes how to build vagrant box images for the FreeIPA workshop.
Requirements#
Install packer (http://packer.io/)
Install Vagrant, libvirt and VirtualBox
Clone the Fedora kickstarts repo (https://pagure.io/fedora-kickstarts)
Packer template#
Packer template packer-template-fedora.json
requires Fedora 34 kickstart file
used by Fedora to build vagrant images:
Clone the repo and checkout latest Fedora release branch:
$ git clone https://pagure.io/fedora-kickstarts.git $ cd fedora-kickstarts $ git checkout f34
Install
pykickstart
package which providesksflatten
tool:$ sudo dnf install pykickstart
Generate the
anaconda-ks.cfg
file needed by flattening vagrant kickstart files and putting it onto the same folder as the packer template file:$ ksflatten -c $FEDORA_KICKSTARTS_REPO/fedora-cloud-base-vagrant.ks > $FREEIPA_REPO/doc/workshop/anaconda-ks.cfg
Building the vagrant images#
Build the images:
$ cd $FREEIPA_REPO/doc/workshop
$ BIN_PACKER build packer-template-fedora.json
Uploading boxes to Vagrant Cloud#
Vagrant by default looks for boxes in a directory called Vagrant Cloud. Therefore is is good to make images available there, so that people can easily download them as part of workshop preparation.
Log into https://app.vagrantup.com/.
Create or edit the freeipa-workshop box.
Create a new version of the box (left-hand menu). Each version can include images for multiple providers.
Create new provider for *virtualbox* and upload the corresponding
.box
file.Create new provider for *libvirt* and upload the corresponding
.box
file. libvirt may not appear as an autocomplete option but type it in anyway.Release the new version (this makes it available for Vagrant to download). Edit the version, then click Release version.