Skip to main content

Virtualization, a Vagrant 0.8 try

It has been a long time since I wanted to dive in virtualization. I always feared that my PC would not have enough RAM and end up only loosing time.

But I have been using VirtualBox and a bit of VMWare recently ... it looks good.

So next step to really get some benefits is to automate with Vagrant, Chef and Puppet ...

So far the setup is not as smoove as they say it would be ...

From here, this post turns into a rant :-)

First: Ruby. As far as I know, you have no choice here: Vagrant, Chef and Puppet are build on Ruby. I didn't even try to search for Python or whatelse based automations (but I would be glad to know Ruby alternatives).

So, Ruby, there is a Windows installer, click click, OK. Done. 

gem install vagrant

"Error: cannot access the Net". Ruby doesn't use the system proxy. You have to set an Environment variable: HTTP_PROXY=http://user:pwd@proxydemerde.com:1234/

gem install vagrant

"Error: you need the SDK". Vagrant uses particular modules that require local compilation (à la Gentoo). So you have to install Ruby SDK. (Why isn't it installed by default ?). Back to the Ruby web site. The SDK is a zip file, no installer this time. and be careful the zip doesn't contains its parent folder: you have to create a folder and uncompress the zip into this folder. Then run a script in the uncompressed folder that will find your Ruby installations and then run another script that will update theses installations so they are aware of the SDK presence.

gem install vagrant

"Error: cannot compile some ffi stuff". Vagrant uses some modules that uses some version of ffi.h and dependencies got messed up somehow. Google and find that you have to "gem install fii --version='1.0.9'" ... Dependency management ...

gem install vagrant

"Success". Nice. Next step install a machine. The examples feature "Ubuntu Lucid", I looked for one of the 3 more recents versions, but there are not a lot of choice here. So anyway it is a LongTermSupport, let not be too picky.

vagrant box add ludic64 http://files.vagrantup.com/lucid64.box

"Error: No space left on device ...." Well, the installer didn't ask for a workspace or project folder. It supposed there was plenty of space in "home". Back to Google, many solutions, some seems to not work for everyone. I edited the gem script to specify the "HOME" variable. Removed the ~/.gem and ~/.Vagrant folders.

vagrant box add ludic64 http://files.vagrantup.com/lucid64.box

"Error: No space left on device ...." Well, ".gem" is created in the floder I specified. But I have to set the variable in the vagrant script also ... Why is there no config file of global environement variable ?

vagrant box add ludic64 http://files.vagrantup.com/lucid64.box

"Success". I am close ! Just two commands left:

vagrant init ludic64

"Success" Just one more:

vagrant up

"Error: method missing in OLE ..." 

I tried with the "lucid32", same error. Some Google search, looks like the bug is being worked on.

Well Vagrant is in Beta after all. Sometimes, you are just out of luck. I hope it may help some other poor Windows / proxy users.

I will get back to Vagrant later. Next post may be about Chef or Puppet.

Comments

Popular posts from this blog

VirtualBox, CentOS, Network and Template

I have been working with VirtualBox and CentOS recently, here are some notes about this experience.
I used VirtualBox 4.2 and CentOS 6.3, but most of this should work with other products too. I created the first headless, minimal CentOS via NetInstall.
I cover two points: create a template machine and configure the Network.
Configure the NetworkWe want Internet access and a LAN local to the host.
For background information read: Networking in VirtualBox by Fat Bloke on June 2012.
The easiest is to enable two Network Adapters: One will be "Host-only" and the second "Nat". In the "Preference" menu you can see the DHCP server range for the Host-only Network. So you may set fixed addresses outside this range.
Next: start the guest. There may be various results at first, depending on a lot of things. Some problem might be solved by rm -f /etc/udev/rules.d/70-persistent-net.rules and a reboot.
Anyway, configure the two interfaces (set your own IP and MAC addresses)…

One in six IT projects ends up ‘out of control’

http://www.ox.ac.uk/media/news_stories/2011/110822_1.html

A surprisingly high number of projects are 'ticking time bombs', according to researchers at the University of Oxford. They analysed 1,500 global projects that had revamped their information technology systems within the last 10 years. They discovered that one in six projects in the sample went over budget by an average of 200 per cent (in real terms) or over ran by an average of almost 70 per cent.

Their conclusion is similar to previous studies: http://brunovernay.blogspot.com/2009/10/excellent-studies-on-software-quality.html

TLS: Disabling legacy cipher suites

First: "cipher suite is a named combination of authentication, encryption, and message authentication code (MAC) algorithms".If you are using TLS (for HTTPS typicaly) you may want to remove some Cipher Suites.You maybe a little bit less compatible, but also a bit more secure. Things will be better when TLS1.2 is implemented everywhere.You can also claim to be FIPS 140 compliant: http://csrc.nist.gov/publications/nistpubs/800-52/SP800-52.pdf !How to do it:From the command line:  http://docs.oracle.com/javase/7/docs/technotes/guides/security/jsse/JSSERefGuide.html#CustomizationFrom code:  http://docs.oracle.com/javase/7/docs/api/javax/net/ssl/SSLSocket.html#setEnabledCipherSuites(java.lang.String%5B%5D)Jetty: http://wiki.eclipse.org/Jetty/Howto/CipherSuitesTomcat: Look at the "ciphers" attribute in  http://tomcat.apache.org/tomcat-7.0-doc/config/http.html#SSL_SupportIf someone knows how to do it on the IBM J9 via configuration, I am interested.