Vagrant
From charlesreid1
Vagrant is an open source tool for managing virtual machines.
Related: Ansible
What is it
Think of Vagrant like a command line interface for VirtualBox.
Vagrant has built-in support for Ansible.
Installing
Start by installing VirtualBox, then install Vagrant from http://www.vagrantup.com/
Using Vagrant with Ansible
Recommended way of using Vagrant with Ansible is to create a directory for your Ansible playbooks:
$ mkdir playbooks $ cd playbooks
From there you can run the vagrant init command to initialize the virtual machine using Vagrant (the first time you run vagrant init it will have to download the virtual machine, which could take a while):
$ vagrant init ubuntu/trusty64 $ vagrant up
Now you can ssh into the new virtual machine using
$ vagrant ssh
To see the SSH details, type:
$ vagrant ssh-config Host default HostName 127.0.0.1 User vagrant Port 2222 UserKnownHostsFile /dev/null StrictHostKeyChecking no PasswordAuthentication no IdentityFile /Users/whoami/dev/ansiblebook/ch01/playbooks/.vagrant/machines/default/virtualbox/private_key IdentitiesOnly yes LogLevel FATAL
(this should be run from the host machine.)
If multiple virtual machines, each node should have same values except for SSH key.
You can SSH manually using that key:
$ ssh vagrant@127.0.0.1 -p 2222 -i $HOME/dev/ansible/dev/ansiblebook/ch01/playbooks/.vagrant/machines/default/virtualbox/private_key
This will log you in without prompting for a password.