As a sophisticated software developer, have you ever encountered a situation that you need a blank new environment to test some software settings/installations/configurations before rolling it out to production? A real world example is that, let say, mac book is your main development machine but you need to work on your big data pipeline and test a specific hadoop cloudera version, let say CDH5, for any compatibility issue on a linux ubuntu operating system before deploying your branch to the production environment. It will be too much if you ask your boss to get you a new linux machine for just testing that. With the help of Vagrant and puppet, we can download any blank pre-built operation system (in this case, the linux ubuntu) and stimulate it on your local machine( for the sake of simplicity, i will call it a workstation from now on)! In this tutorial, i am going to show you how to how to do this easily:
To start with,
- download VirtualBox first at: https://www.virtualbox.org/wiki/Downloads and install it.
- download a version of Vagrant that suits your machine at here: https://www.vagrantup.com/downloads.html and install it.
- To save the time, i have created a simple vagrant script and puppet script that get you started quickly: create a directory ~/vagrant-dev-test in your home directory and grab the two file: Vagrantfile, manifests/site.pp from https://github.com/wwken/Misc_programs/tree/master/Vagrant-Puppet/vagrant-dev-test. The directory structure now on your local should look like this:
- Inside the directory ~/vagrant-dev-test, type this command to bring up the virtual box:
It should look something like this in your as below:
Sit back and relax for like 15-20mins as the new box is going to be built and the dependencies are being downloaded.
- Now the box should be built. To ssh into the new box, type:
vagrant ssh kenbox1
Congrats! You have now just built a new linux ubuntu box with help from puppet script on top on your mac workstation! In the next section which will come in next week, i will explain more the in and out of Vagrant and Puppet and some tricks on it. Stay tuned!