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
Updated by dkliban@redhat.com over 7 years ago
There is a chance that Jenkins does not support nested virtualization which is required for building Vagrant box images.
Updated by dkliban@redhat.com over 7 years ago
- Blocks Task #2909: Document the plugin development Vagrant file in the plugin writer's guide added
Updated by amacdona@redhat.com over 7 years ago
- Blocked by Story #2840: Publish ansible roles to install pulp3 added
Updated by jortel@redhat.com over 7 years ago
- Sprint/Milestone changed from 43 to 44
Updated by dalley over 7 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.
https://fedoraproject.org/wiki/How_to_enable_nested_virtualization_in_KVM
(I don't know if Jenkins is on top of KVM or Xen, etc. so maybe the details will differ)
Updated by bmbouter about 7 years ago
- Subject changed from Add Jenkins job to build a plugin writer's Vagrant VM and publish on Vagrant cloud on a Pulp account to Build a plugin writer's Vagrant VM and publish on Vagrant cloud on a Pulp account
Updated by mansari about 7 years ago
- Status changed from NEW to ASSIGNED
- Assignee set to mansari
Updated by jortel@redhat.com about 7 years ago
- Sprint/Milestone changed from 45 to 46
Updated by dalley about 7 years ago
- Project changed from Pulp to Infrastructure
Updated by dalley about 7 years ago
- Project changed from Infrastructure to Pulp
Updated by bmbouter about 7 years ago
- Tags deleted (
Pulp 3 Plugin Writer Alpha)
Cleaning up Redmine tags
Updated by mansari almost 7 years ago
- Status changed from ASSIGNED to POST
Updated by jortel@redhat.com almost 7 years ago
- Sprint/Milestone changed from 53 to 54
Updated by dkliban@redhat.com over 6 years ago
- Blocks deleted (Task #2909: Document the plugin development Vagrant file in the plugin writer's guide)
Updated by dkliban@redhat.com over 6 years ago
- Blocked by deleted (Story #2840: Publish ansible roles to install pulp3)
Updated by dkliban@redhat.com over 6 years ago
- Status changed from NEW to CLOSED - WONTFIX