Project

Profile

Help

Task #903

closed

Rework the Vagrantfile to use a custom Pulp vagrant box

Added by rbarlow almost 9 years ago. Updated about 5 years ago.

Status:
CLOSED - WONTFIX
Priority:
Normal
Assignee:
-
Category:
-
Sprint/Milestone:
-
Start date:
Due date:
% Done:

0%

Estimated time:
Platform Release:
Groomed:
No
Sprint Candidate:
No
Tags:
Pulp 2
Sprint:
Quarter:

Description

Right now, our Vagrantfile uses the humaton/fedora-21-cloud box from Hashicorp, which is a minimal Fedora 21 install. This was nice for proof-of-concept and for getting us started with Vagrant, but we could much more quickly start up Vagrant boxes if we had a customized Pulp box available for users. Here are some things we should make sure it has for deployment speed:

  • MongoDB should already be installed and initialized (to eliminate the long first-startup time that mongod spends making large files)
  • MongoDB should be configured not to use a journal. Since Vagrant is for developer setups, I think the speed boost and space saving is worth the risk to data
  • Pulp's dependencies should be installed
  • Basic development stuff should be configured

These are all things that the existing vagrant-setup.sh script does, so we could probably just use that script to make the required image. We'll need to host this image somewhere. We could put it in Hashicorp (the most common repository of Vagrant boxes), or perhaps we could find somewhere "safer".

We should also document how this box was made, so that it is easy for anyone to reproduce their own box. We should document how users can do this. If users name a box they make the same way we name ours, Vagrant will avoid downloading the box and will just use the one the user made locally. This is nice for security conscious users such as myself.

If we do all of this right, the "vagrant up" command will run very quickly. All it will need to do is run pulp-dev.py -I on each repo, restart/start services, and things should work.

Deliverables:

  • A hosted Pulp box for developers to use hosted somewhere publicly accessible, that accomplishes the above bullet points
  • A script that can turn a minimal Fedora 21 image into said box (i.e., a reproducible build)
  • Change the Vagrantfile to reference the new box
  • Documentation about how to use the script, and how users can generate their own box if they wish to avoid the hosted one

Also available in: Atom PDF