Task #2908
closedBuild a plugin writer's Vagrant VM and publish on Vagrant cloud on a Pulp account
0%
Description
Vagrant cloud is where Vagrant machines can be published. This task is to have the ability to build a Vagrant box that does the following:
1. A clean Vagrant F26 box
2. A non-source checkout of pulpcore installed on it. This will be installed using the published playbooks on galaxy
3. Add a nice welcome screen with motd indicating that they should install a plugin, run its migrations, or consider making a plugin with the Pulp dev guide.
Once done building the box, if it was built successfully, the build code will upload the box to Vagrant.
The user account name on vagrant cloud should be 'pulp' and the name of this Vagrantbox should be 'pulpcore'. This task includes registering the account on Vagrant cloud and responsibly storing the credentials.
We should produce both virtualbox and libvirtd images.
This needs to come with docs on how to use it which should be roughly:
1. install vagrant w/ either virtualbox or libvirtd backends
2. vagrant init pulp
3. vagrant up pulp
Build steps:
1) Add Virtualbox repo file[0] to a fedora 25/26 machine
2) # Install Virtualbox and make sure all of it's kernel modules are compiled and installed.
dnf install kernel-devel, dkms
dnf install VirtualBox-5.1
3) Install Packer[1]
4) Install vagrant
5) # add the f26 virtualbox
vagrant box add fedora/26-cloud-base --provider virtualbox
6) Create a Packer template that uses the image downloaded by vagrant in ~/.vagrant.d/boxes/ and uses an ansible provisioner to provision the box. This[2] ansible playbook from should be used.
7) Run packer with the template from 6
[0] http://download.virtualbox.org/virtualbox/rpm/fedora/virtualbox.repo
[1] https://www.packer.io/downloads.html
[2] https://raw.githubusercontent.com/pulp/devel/3.0-dev/ansible/deploy-pulp3.yml