Automated deployment of distributed systems

There’s a new blog post up on hstack.org – Hadoop and HBase Automated Deployment using Puppet, written by yours truly. It also announces the open-sourcing of the code that we use to deploy a fully distributed system to one or more clusters in a semi-automated manner (we need to push the button 🙂 )

So, enjoy reading here.

Install Gitorious on CentOS 5

Recently I had to install Gitorious on a CentOS machine. Instructions on how to do this are in a document inside the gitorious code base, but since I needed something repeatable and reliable, I’ve turned to my tool of choice – Puppet.

So I’ve created a Puppet recipe which installs Gitorious behind a Phusion Passenger/Apache setup. You can get it on GitHub, here. The steps you must follow to use this recipe are:

  1. Install the base OS. I’ve tested it on a bare-bones machine, installed via the CentOS-NetInstall iso disk. I then just picked the Base packages and started the install.
  2. Add the Epel repository in order to get rubygems working. There are other ways of doing this (from source, other 3rd party repos) but this is the way I did it.
  3. Install rubygems: yum -y install rubygems git
  4. Install puppet from gem repos: gem install --no-ri --no-rdoc facter puppet
  5. Clone the repo into /etc/puppet:
    sudo -i
    git clone git://github.com/civascu/puppet_recipes.git /etc/puppet
  6. Go into modules/gitorious/manifests/init.pp and change the value of $mail_server to match the SMTP server you want.
  7. Run the standalone puppet tool to apply the recipe on the local machine puppet /etc/puppet/manifests/site.pp

That’s it. Just point your browser to http://yourserver/ and you should be greeted by the Gitorious page.
Be aware though, that if you do not set a fully qualified domain name (e.g. server.domain) you won’t be able to login or perform other actions that require a valid session in Firefox.

Get duplicate line shortcut working in Ubuntu

Problem: The default keyboard shortcut for duplicating lines (ALT + CTRL + Up/Down) does not work
Configuration: Ubuntu Jaunty, Eclipse 3.5

This is caused by the system using the same shortcuts to move to a virtual workspace above and below. Go to System > Preferences > Keyboard Shortcuts and assign a different key combo for the following two actions:
Switch to workspace up
Switch to workspace down
Duplicate lines works again.

Open files in gvim in new tabs

Aim: when hitting F4 in GnomeCommander, the file will open in a new tab of the existing gvim instance:
Options1: visual:

  1. Open Gnome Commander => Settings => Options => Programs
  2. In the Edit text field put this:
    gvim -p --remote-tab-silent %s
  3. Save and restart Gnome Commander – not always needed, but helps

Option 2: editing the settings file:

  1. The file to edit is ~/.gnome2/gnome-commander
  2. Find the line :editor=blablabla and change it to :
    editor=gvim -p --remote-tab-silent %s
  3. Save and restart gnome-commander

Fix iTunes + Windows 7 + iPhone

Update: Using the latest iTunes 64bit with Windows 7 64bit, I had no more problems. Can’t vouch for 32 bit versions, though.

Problem:
After a first successful sync of my iPhone with iTunes on Windows 7, I rebooted my PC. Consequently, any attempt to start iTunes with my iPhone plugged in results in an error dialog:

“iTuness cannot connect to this iPhone because the required software is not installed. ….”
The message also suggests a fix – removing and re-installing iTunes using the iTunes setup package.

Real solution:

Obviously the method the error dialog suggests does not work. Instead, the following steps do:
1. Go to Control Panel > Programs > Uninstall a program
2. One by one remove the Apple Mobile Device, Bonjour and iTunes programs
3. Reboot the machine
4. Use the iTunes setup package to install again
5. Reboot your PC
6. Sync (finally)

Blogging tools

This post is not a list of tools to use to make your blogging life easier.

Recently I’ve switched my primary laptop from a Lenovo to a Mac. This in turn brought with it a need to change (almost) all of the software I used, including my blogging client. I use a desktop blogging client because I still have times when I’m not online, because I appreciate the responsiveness and the feature bloat of a desktop text editor.

On Windows I used Windows Live Writer, which, contrary to most MS products, is a good one. It worked like a charm, taking me through some blog changes and merging without glitches. However, it doesn’t work on the Mac, so I had to find something else. After fiddling with the idea of using a simple text editor and a custom script to post, I ended up using the trial version of Ecto. So far it seems an OK editor, though with less (apparent) features than WLW. I say apparent because I haven’t used for long enough to get to all of the hidden features, but unless I do in the 13 days of trial left I may even consider running WLW in a virtual machine.

Oh well, the price we pay for being lazy.

iPhone reloaded

Just read the live coverage of the WWDC 2008 keynote by Steve Jobs on Ars Technica and seen details on the second version of the iPhone. Again the rumors were true – the second installement of the phone is more enterprise friendly, but most interesting – it’s got 3G, GPS and a price tag of only $199. For that price I don’t think you can get a phone with all these features, as well as the design and user experience that the iPhone brings.

The app store touted by Apple as the only way of getting 3rd party apps on your phone seems to become the primary revenue driver behind the new phone. By lowering the price while adding features, Apple seems to get into a ‘printer-like’ business: sell the printer cheap, but bill for the ink and other parts. So I’m guessing Apple wants to drive adoption, so it can thicken the revenue stream through the app store.

Some of the features Steve announced today will also be available on the current version of the iPhone, via a free software update near the end of july. Which means my jailbroken iPhone will get it a month or so later 🙂 still before the second version will be in my hands.