roq-vagrant¶
This roq-vagrant
repository is useful as a template, if you want to validate a specific
configuration using a virtual machine.
A number of Linux distributions have been set up
CentOS 7 and 8
Debian 9 and 10
Ubuntu 18.04 and 20.04
These scripts are used to test roq-ansible (Ansible Roles) with different assumptions about Linux environments.
Note
The latest major releases are typically being tested for a selection of Linux distributions.
Vagrant uses a Vagrantfile
to configure the virtual machine, including
an optional script for provisioning.
For example, the Ubuntu 18.04 Vagrantfile may look similar to this
Vagrant.configure("2") do |config|
config.vm.box = "ubuntu/bionic64"
config.vm.define "vm_test"
config.vm.network "private_network", ip: "192.168.33.200"
config.vm.provider "virtualbox" do |vb|
vb.customize ["modifyvm", :id, "--cpuexecutioncap", "50"]
vb.memory = "4096"
vb.cpus = 4
end
config.vm.network "forwarded_port", guest: 80, host: 10080
config.vm.provision "shell" do |shell|
shell.inline = "apt-get update && apt-get install -y python"
end
config.vm.provision "ansible" do |ansible|
ansible.inventory_path = "../vm_test"
ansible.playbook = "../site.yml"
end
end
The assumption is that you are in this directory and your environment has access to
Vagrant
VirtualBox
Ansible Playbook
Then you can simply start the virtual machine by typings this
$ vagrant up
Note
This will take some time!
The provisioning may fail (network timeout or other transient issue), in which case you can attempt to continue
$ vagrant provision
Once completed successfully, you can access your virtual machine
$ vagrant ssh
Finally, you can instruct your virtual machine to stop
$ vagrant halt