Build a plugin writer's Vagrant VM and publish on Vagrant cloud on a Pulp account
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
1) Add Virtualbox repo file 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
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 ansible playbook from should be used.
7) Run packer with the template from 6
Updated by dalley almost 5 years ago
I spent some time researching this and haven't found any information about Jenkins supporting (or not supporting) nested virtualization. I don't think that's the level at which it needs to be supported, though. If it's supported by the CPU and the kernel flags, then it should work... if not we might be out of luck.
(I don't know if Jenkins is on top of KVM or Xen, etc. so maybe the details will differ)