README.md

Vagrant VMs for EPEL packagers

This repository provides a Vagrantfile with which EPEL packagers can easily provision CentOS virtual machines with EPEL repository enabled.

Currently, the official CentOS 7 and 6 Vagrant boxes are provided.

Preparing environment

Clone git repository

Clone the git repository for this task with:

git clone <git-repository-URL>
cd <repository-name>

Setup Vagrant

To spawn up development virtual machines, you'll need Vagrant.

On a Fedora system, you can install Vagrant (along with libvirt backend) using:

sudo dnf install vagrant vagrant-libvirt

For easier access to the Vagrant machines, also install the vagrant-hostmanager plugin.

On a Fedora system, the vagrant-hostmanager plugin can be installed using:

sudo dnf install vagrant-hostmanager

Make sure to configure password-less sudo for managing your host's hosts file as described in vagrant-hostmanager's README.

Configure SSH

Add the following to your ~/.ssh/config:

Host 192.168.86.* *.epel.local
    # Disable strict host key checking since these machines are trusted and
    # due to Ansible redeploys host keys will change often.
    StrictHostKeyChecking no
    # Use non-existing known_hosts file to prevent SSH from storing host keys.
    UserKnownHostsFile /dev/null
    # Make SSH quiet about doing the awful things above.
    LogLevel ERROR
    User vagrant
    IdentityFile ~/.vagrant.d/insecure_private_key
    IdentitiesOnly yes

Using Vagrant VMs

Managing virtual machines

To create and run all configured virtual machines, use:

vagrant up

To see the status of all configured virtual machines, use:

vagrant status

To destroy all configured virtual machines, use:

vagrant destroy

To only apply a Vagrant command to a particular virtual machine, use:

vagrant <command> <virtual-machine>

where <virtual-machine> represents a virtual machine's name as defined in Vagrantfile.

NOTE: To quickly see all virtual machines' names, use: vagrant status.

Logging into virtual machines

To log into the el7 virtual machine, use:

ssh el7.epel.local

To log into the el6 virtual machine, just replace el7 with el6 above.

License

GPLv3 or any later version