Vagrant was in my TODO for over one year, its good i finally played with it. I will explain what/how i installed it so whoever wants to play with it can easily deploy & use it. I tested in on ubuntu 10.04 (yeah my old box) but i would/will guarantee it will work on all newer releases. 😀
Things/packages needed to run Vagrant
1. Virtualbox
To install virtualbox simply visit virtualbox official site and follow this install instruction just choose the ubuntu version you are running it. For me i used the repo for lucid & it will be different for you. Also a word of advice kindly install older version of Virtualbox as we have a known issue of NS_ERROR_CALL_FAILED in its latest version. I installed 4.1 in my case.
After successful installation of virtualbox this is how it looks.
$ VBoxManage --version
4.1.26r84997
2. Vagrant
I installed vagrant by downloading latest binary from the their website Once i had it installed. It was 3 simple step to get Vagrant up & running.
$ vagrant init precise32 http://files.vagrantup.com/precise32.box
$ vagrant up
$ vagrant ssh
What this two command does is it gets you the base image which subsequently used for next time bringing up the instance. As you can see it takes precise(12.04) image. Once you have the instance up. You can simply log into the machine via SSH.
The Catch
By default the instance a bought up with NAT networking mode & you are easily able to access it from your system. In most cases we need Bridge network enabled so the machine/VM can acquire the network IP & additional interface. You need to add the same in the config file of vagrant which is in your home directory.
$ cat Vagrantfile
The old document of vagrant tells you the way how to do it but this will not work in our case. In order to get in working one has to add below mentioned lines inside the “Vagrantfile” as am using my wireless network.
config.vm.network :public_network, :public_network => "wlan0"
After changing this configuration once you will run the commands
$ vagrant up
$ vagrant ssh
You will be able to see additional interface at “eth1” mapped to the bridge network. You can check other simple vagrant commands as well needed to destroy/suspend
$ vagrant --help
Usage: vagrant [-v] [-h] command []
-v, --version Print the version and exit.
-h, --help Print this help.
Available subcommands:
box
destroy
halt
init
package
plugin
provision
reload
resume
ssh
ssh-config
status
suspend
up
For help on any individual command run `vagrant COMMAND -h`
What will i do with Vagrant?
Well am going to use it from now on to test all my custom scripts besides i also need to test Kevins OpenStack cookbook which extensively uses vagrant.
Lastly i can say night well spent credit goes to Kev!! 🙂
Installing it on Ubuntu 12.04
I just got a precise box & deploying Vagrant is very simple, it will bring Virtualbox as well as dependency. 🙂
$ sudo apt-get install vagrant
$ vagrant up
$ Vagrant ssh
Hope it helps.