Rapid Ubuntu with Juju deployment via vagrant on RHEL/CentOS 6.x
Sure, I could just install Juju locally, but unfortunately I have no Ubuntu box to do that. I’m working on RHEL 6 (which sucks on desktop, BTW), so I figured that the easiest and fastest way will be by engaging vagrant to whole process.
0. Side note:
This won’t be introduction to any of the technologies themselves – you can read about them elsewhere, really. This aims to be just a quick copy & paste manual to get you up and running for having your playtime as fast as possible (:
1. Install prerequisites:
Although vagrant is capable of playing nicely with other providers, I’m a lazy bastard and I decided to stick with default one (Virtualbox). This setup has been tested and is known to be working on the following versions:
- VirtualBox-4.2-4.2.10_84104_el6-1.x86_64
- vagrant-1.2.7-1.x86_64
and:
- VirtualBox-4.3-4.3.6_91406_el6-1.x86_64
- vagrant-1.4.2-1.x86_64
Because some of the dependencies need to be fulfilled, I decided to go with yum installation (instead of rpm) and to install these two separately (would easier to debug when something goes wrong for one of them):
sudo yum install http://download.virtualbox.org/virtualbox/4.3.6/VirtualBox-4.3-4.3.6_91406_el6-1.x86_64.rpm
sudo yum install https://dl.bintray.com/mitchellh/vagrant/vagrant_1.4.2_x86_64.rpm
2. Placement preparation:
I like to keep my things tidy, hence I have single location where my VMs are stored in. Feel free to use whatever approach fits you, here’s only what’s working for me:
mkdir -p ~/VMs/saucy
cd ~/VMs/saucy
In ~/VMs/saucy
I will deploy my Ubuntu with Juju and this is also the place from which I’ll be able to control this VM.
3. Bring me the box!
There’s this place called Ubuntu Cloud Images from which you can gather Ubuntu images for variety of Cloud services. Fortunately enough, there are also prepared with vagrant in mind. I wanted to play with latest one server edition available, but you may find LTS as well as couple of other images there too:
vagrant box add juju http://cloud-images.ubuntu.com/vagrant/saucy/current/saucy-server-cloudimg-amd64-juju-vagrant-disk1.box<
Depending on you bandwidth, this may take some time. Once done, you should see something like that:
Successfully added box 'juju' with provider 'virtualbox'!
4. Deployment time:
OK, so now make sure that you are in ~/VMs/saucy
(or whatever location you chose) and bring on the fun:
vagrant init juju
A Vagrantfile has been placed in this directory. You are now
ready to vagrant up your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
vagrantup.com for more information on using Vagrant.
That’s pretty much it. Well, alright, there’s also one more step:
vagrant up
Feel free to disregard any Bazaar related errors/warnings. After awhile, you’ll be provided with URL (http://127.0.0.1:6080) and a password to login to Juju GUI interface. If you want to login to this Ubuntu box, just type vagrant ssh
.
Discussion