It’s just data

Provisioning a New Machine

A failure on a five year old, and now rarely used, machine caused me to invest in an inexpensive replacement.  I chose that machine due to the low-wattage requirements, ability to easily add another 4-gig of RAM, and a second hard drive, allowing me to run Ubuntu and virtual machines while leaving the original Vista install intact for the purposes of dual boot.

This set in motion a number of migrations of applications I have written over the years from one machine (and configuration) to another.  And that led me to create VMs ("because I can") to test out new configurations before deploying them in production.  And that lead to me repeatedly trying to get the same configurations on multiple (often virtual) machines.

One such task was trying to get my Rails testing onto a machine which has Hardy Heron LTS on it; which means the test has to work on Ruby 1.8.6; which is what lead me to look into nokogiri.  By looking at the variables one by one (e.g. nokogiri on 1.8.7 before nokogiri on 1.8.6), I could make rapid progress.

The first step in getting a fresh installation ready is to

At this point I can provision the given machine with a set of software and configuration data.  Ultimately, my goal is to be able to clone a hot backup of a live machine with a minimal but essential set of software pre-installed and configured.  And to see if this can be refactored in a way to make use of Capistrano.


You might be interested in Moonshine - I developed it for this exact purpose at RailsMachine, and we use it for provisioning all new virtual servers. Once there’s a sudo user on the server, deploying a new rails app to it is a simple as cap deploy:setup && cap deploy.

Posted by Jesse Newland at

I just switched my host OS from windows to ubuntu.  Using VirtualBox you can provision either Windows or Linux guests on demand.  Much more flexible than a dual-boot setup, IMHO.

Posted by andy at

Moonshine does very much look along the lines of where I think I was headed; with one small difference in focus.  My primary focus isn’t to exclusively to deploy a rails app (the example above isn’t a Rails app, for example), though deploying one or more Rails apps is clearly something I clearly want to support.

If I get a new machine, I can rsync /home/rubys and /var/www and have 80% of what I need to be up and running.  Things like thunderbird can be installed via a simple apt-get.  Things like the apache2 and feedvalidator and rails often require some additional configuration.

Posted by Sam Ruby at

I’m working on extracting the Capistrano + usable Puppet DSL goodness from Moonshine into a gem that will generate a Capfile and a ‘manifest’ that you can use to manage the configuration of one or more servers in the same way as Moonshine. Once that’s all done, I’ll be sure to let you know - it seems that’d be a perfect fit.

Posted by Jesse Newland at

Whenever

Ryan Bates:  In all of my re-provisioning activities, updating cron was the one piece that I didn’t automate.  Whenever does fill this need quite nicely.  In converting over existing applications, the only issue I encountered... [more]

Trackback from Sam Ruby

at

I bought exactly the same box as a replacement of the memojo.com server. At about the same price (~200€). It works great, and the first thing I noticed is that the sound level in the room went noticeably down.

The second I expect to notice is in my utility bill. Each machine that is full time on is a power sink, and this one consumes way less than the one I was using. I expect to pay it off in 1-2 years, just by the savings in power.

Posted by Santiago Gala at

[from jonas] Sam Ruby: Provisioning a New Machine

[link]...

Excerpt from Delicious/network/dionidium at

Add your comment