Brightbox
  • Home
  • Pricing & Sign up
  • Why Brightbox?
  • Products & Services
  • FAQs
  • About
  • Blog
  • Wiki
  • Forums
  • Contact

You are currently browsing the Brightbox Blog weblog archives for September, 2008

Blog RSS feed
twitter_banner

Flickr


more images...

Recent Posts

  • Ruby Enterprise 1.8.7-2010.02 Packages for Ubuntu Hardy & Lucid
  • Ubuntu 10.04 LTS "Lucid" now available
  • New: Automatically add SSH keys to new Brightboxes
  • Ruby Enterprise 1.8.7-2010.01 Packages for Ubuntu Hardy & Lucid
  • Ubuntu Lucid beta box offer

Archives

  • June 2010 (3)
  • May 2010 (1)
  • April 2010 (3)
  • March 2010 (2)
  • February 2010 (3)
  • January 2010 (6)
  • December 2009 (4)
  • November 2009 (6)
  • October 2009 (2)
  • September 2009 (3)
  • August 2009 (4)
  • July 2009 (3)
  • June 2009 (3)
  • May 2009 (5)
  • April 2009 (4)
  • March 2009 (4)
  • February 2009 (3)
  • January 2009 (6)
  • December 2008 (8)
  • November 2008 (7)
  • October 2008 (8)
  • September 2008 (3)
  • August 2008 (5)
  • July 2008 (1)
  • June 2008 (4)
  • May 2008 (4)
  • April 2008 (3)
  • March 2008 (3)
  • February 2008 (3)
  • January 2008 (4)
  • December 2007 (4)
  • November 2007 (3)
  • October 2007 (1)
  • August 2007 (7)
  • July 2007 (1)
  • June 2007 (3)

Popular tags

    • announcements
    • apache
    • beta
    • brightbox
    • deployment
    • hardy
    • packages
    • passenger
    • performance
    • phusion
    • rails
    • ruby
    • ruby on rails
    • security
    • ubuntu

Archive: posts from September 2008

“uninitialized constant REXML::VERSION” with Rails 2.1.1 and Rails 2.2 10 Sep 08

We’ve found a minor problem with Rails 2.1.1 (and Rails 2.2) on our Brightboxes.

Because we use Ubuntu Dapper, which ships with Ruby 1.8.4, it includes an earlier version of the REXML library (for XML processing). As you may know, there was a recent security vulnerability to do with the REXML library and these latest two versions of Rails include a fix for this.

Unfortunately, the library that ships with 1.8.4 is slightly incorrect. Ruby conventions state that a constant should be all capitals so, quite rightly, the Rails updates check for a constant called REXML::VERSION. However, in 1.8.4, the constant is actually called REXML::Version meaning that Rails falls over with an “uninitialized constant REXML::VERSION” error.

The quick fix is to manually edit /usr/lib/ruby/1.8/rexml/rexml.rb and add a new (correctly named constant). You will need to use sudo to edit the file, as it is owned by root; after editing the file should look something like:


module REXML
        Copyright = "Copyright © 2001, 2002, 2003, 2004 Sean Russell <ser@germane-software.com>"
        Date = "2005/224"
        Version = "3.1.3"
        VERSION = "3.1.3"
end

We are also looking at our options for a permanent fix for this issue.

Posted 10 September 2008 by Rahoul Baruah • 6 comments

bugs+ rails+ rails 2.1.1+ rails 2.2+ rexml

RailsConf Europe 2008 Round-up 9 Sep 08

The time: Tuesday the 2nd September 2008, 9am CET.
The place: The Maritim proArte Hotel, Friedrichstrasse, Berlin.
The plan: Brightbox set up their booth and then have a leisurely stroll around Berlin, taking in the sights, sounds and Bratwurst, before a good night’s kip and a fantastic exhibition at RailsConf Europe.

That was the plan. Unfortunately KLM conspired against us. A two and a half hour journey rapidly expanded into a twenty three hour marathon, involving unidentifiable hotel food, a detour via Paris, lost luggage, hysterical, smelly geeks, truffle cake and “luxury” mojitos. We were also without Neil, who bravely volunteered to stay in England installing a load of new hardware in our new racks.

RailsConf Europe is pretty much the biggest Ruby on Rails event on our continent. We were told there were about 800 attendees here (although RailsConf US in Portland, earlier in the year, had twice as many). With that in mind Brightbox stepped up to become gold sponsors of the event, providing us with a booth between ELC Technologies, a global agile development shop, and Five Runs, the Rails profiling tool, who we know quite well.

We didn’t get the chance to see many sessions, but there was a pre-conference Q&A session on Tuesday evening with David Heinemeier Hansson (DHH), Jeremy Kemper and Michael Koziarski. It was interesting to hear DHH praising 37signals’ Xen virtualisation setup (this being the platform we also currently use), later on I chatted with him and explained how we’re working hard to get a production-ready Rails stack included with Ubuntu; which will help when setting up your servers, even if you don’t choose Brightbox.

DHH also opened the conference proper on Wednesday morning with his Keynote on dealing with legacy code. This was interesting to me as, like most developers, I am often overwhelmed by the urge to rewrite code that I wrote a few months ago. This was followed, later in the day, by Jeremy Kemper talking about performance improvements – in particular the new features in Rails that make use of the facilities that HTTP provides.

Overall, however, the consensus seemed to be that the talks were solid but uninspiring (apart from our very own Rob Lee with a talk on semantic markup, dressed in a Brightbox t-shirt).

At the booth things were mental – especially in the first break. All the free Brightbox t-shirts vanished in less than ten minutes, as did the “I love Ruby” stickers. However, our giveaway was nowhere near as good as ELCs – they had free beer!

We did meet some of our existing customers (a few for the first time in real life) and a lot of prospects. Interestingly, at least from our point of view, we saw a lot of interest in our Managed Cluster services (where we build and maintain a high availability cluster of boxes for you).

An evening out with a load of our friends from Yorkshire (the aforementioned Rob and Deb, Louisa, Paul and Charmagne) ended my involvement with RailsConf (I had to fly back early because my babby was starting school) but John and Jeremy stayed on till the very end.

Overall, the travel was horrible, the food was great (I had the best burger I’ve ever eaten at a hotel just off Friedrichstrasse) and the conference was good. Berlin is a magnificent city and we had a fantastic time with some old friends and made some new great new ones. So that’s our story – how was it for you?

Posted 9 September 2008 by Rahoul Baruah • 2 comments

2008+ events+ networking+ railsconf+ railsconf europe+ railsconfeurope08

HowTo do Ethernet Bonding on Ubuntu – Properly 8 Sep 08

It’s amazing how quickly guides on the Internet go out of date. I suppose this one will be no exception. However as I’ve been looking around there doesn’t appear to be a good guide as to how to get bonded ethernet to work in Ubuntu using the network helper scripts. So I thought I’d scribble down what I know.

This guide is designed for the Intrepid Ibex version of Ubuntu (8.10) with a small addendum covering Hardy Heron (8.04.1).

The Debian/Ubuntu networking system is a bit opaque. It works via a default script in /etc/network/interfaces and is described in interfaces(5). (run man interfaces to read it).

This gives you all the standard entries, but it also points out that other packages can install scripts that extend the options the interfaces file understands. And that is how you configure Ethernet bonding.

Configure your switch

Almost certainly you will have to activate LACP on the relevant ports on your switch to get automatic bonding to work. How you do this depends on your switch. (On my test HP 1800-8G switch I just use the web interface and check a couple of boxes).

For Intrepid and Hardy

  1. Install the bonding enslave programs and network scripts:
    apt-get install ifenslave
  2. Shutdown any active network interfaces you intend to use with bonding
    sudo -s
    ifdown eth0
    ifdown eth1
    etc, etc...
  3. Comment out the ethernet configurations from /etc/network/interfaces
    #auto eth0
    #iface eth0 inet dhcp
  4. Add in the bonding configuration into /etc/network/interfaces
    auto bond0
    iface bond0 inet dhcp
      slaves all
      bond-mode 4
      bond-miimon 100
  5. Bring up the interface with:
    sudo ifup bond0

This brings up a bonded interface using the 802.3ad Link Aggregation Control Protocol (LACP) which is by far the easiest way of configuring a resilient trunk if your switch supports it (and even quite small switches do these days).

There are other modes and options available in the bonding driver all of which can now be specified in the interfaces file. Full gory details in the bonding.txt.gz file in the current linux-doc package.

Similarly you can specify which network interfaces you want to use as the slaves to the bonding driver e.g. slaves eth0 eth1. Look at the documentation in /usr/share/doc/ifenslave-2.6/README.Debian for more details.

Extra Work for Hardy

Hardy’s ifenslave scripts are a little more primitive than Intrepid. It doesn’t auto-load the bonding module the first time you try to use it and it doesn’t set the options automatically. You have to do that the old fashioned way.

  1. Create a file called bonding in /etc/modprobe.d with the following config in it.
    alias bond0 bonding
    options bond0 mode=4 miimon=100
  2. Load the module into the kernel
    sudo modprobe bond0
  3. Clear out any failed bond interface by running ifdown
    sudo ifdown bond0
  4. Bring the bond interface up.
    sudo ifup bond0
  5. Once you done this once, the system will ensure that the module is loaded automatically on subsequent reboots and the network brought up.

Posted 8 September 2008 by Neil Wilson • 10 comments

howtos+ linux+ networking+ tech+ ubuntu


Recent blog posts

  • Ruby Enterprise 1.8.7-2010.02 Packages for Ubuntu Hardy & Lucid
    about 1 month ago
  • Ubuntu 10.04 LTS “Lucid” now available
    about 1 month ago
  • New: Automatically add SSH keys to new Brightboxes
    about 1 month ago
  • Ruby Enterprise 1.8.7-2010.01 Packages for Ubuntu Hardy & Lucid
    2 months ago
  • Ubuntu Lucid beta box offer
    3 months ago
  • Load Balancing with Stomp and ActiveMessaging
    3 months ago

Join our email list

Flickr (more...)

RSS feeds

Blog feed

Flickr feed

Recent Wiki updates

System Status feed




Brightbox Partners and Vendors

Wiki | Forums | Terms & Conditions | Privacy | Site Map

Copyright © 2010 Brightbox Systems Ltd. All rights reserved