Archive for May, 2009

Pro Linux System Administration

May 28th, 2009

My new book, Pro Linux System Administration, is coming out on June 22nd, 2009. It’s written with my friends Pete and Den. Here’s a little bit of a blurb:

“We can all be Linux experts, provided we invest the time in learning the craft of Linux administration. Pro Linux System Administration makes it easy for small to medium-sized businesses to enter the world of zero-cost software running on Linux and covers all the distros you might want to use, including Red Hat, Ubuntu, Debian, and CentOS. Authors, and systems infrastructure experts James Turnbull, Peter Lieverdink, and Dennis Matotek take a layered, component-based approach to open source business systems, while training system administrators as the builders of business infrastructure.”

Configuration Management Panel at Open Source Bridge – Portland June 2009

May 20th, 2009

So, because I have so much copious spare time, I am running a panel on Configuration Management at OpenSourceBridge in Portland.  The panel is on June 18th and entails:

Configuration management tools are finally coming into their own. Powerful, automated infrastructure management is now available in a wide variety of open source tools. Tools written in different languages, using varying operational methodologies and embracing differing philosophies. Come meet some of the creators and maintainers of these cutting edge tools like cfengine, Puppet, AutomateIT, Chef, and bcfg2 and quiz them in the why and hows of their tools and the philosophies behind them.

The panel includes the following cool participants:

- Luke Kanies from Reductive Labs for Puppet
- Brendan Strejcek of Cfengine
- Adam Jacob from Opscode for Chef
- Narayan Desai of bcfg2
- Igal Koshevoy of AutomateIt

If you have any interest in CM or operations automation I strongly recommend you attend.

Found in translation

May 14th, 2009

I love writers festivals – never get to go to enough of them and certainly when I do I never get to attend all the sessions I want.  Day job and all that.

One of the ones I’ve heard quite a bit about (all good) in the last couple of years is PEN World Voices in New York.  There is a great article talking about the festival and its running in the new Sydney Ideas magazine.  Its current director, Caro Llewellyn, was the director of the Sydney Writer’s Festival (another festival I very much enjoyed whilst living in Sydney – excellent crime fiction representation) and has now moved on to this new challenge.


The Nagios fork – responses

May 14th, 2009

In a previous post I mentioned that the Nagios project had grown a fork.  I also mentioned that there might be dirty deeds linked to the rationale of the fork. Ethan Galstad, Nagios’ developer, has responded to events with a post on the Nagios blog.  It’s a bit of a mixed bag of a response and it left me a little underwhelmed and a little confused.

On one hand, Galstad welcomes the fork as a sign that the community is alive and well.  On the other hand, he then links it to some potential changes in the way Nagios is developed – basically more openness and communications.  I was left feeling a little like “well a fork shouldn’t have made you notice this – the communtity has been telling you this for years”.

He also posed the question, one I have seen quite a bit during the evolution of forks, “But… if you wanted to be different/new things/forks/change why didn’t you ask?”  To my mind they did ask – as did other members of the community – when they and others sought a more open and collaborative approach to Nagios development.  Perhaps, albeit a little presumptive, the answer to that question is  “they didn’t ask because they didn’t think they’d get an answer”.

The ICINGA project, however, hasn’t really launched yet – no code has been released.  So we”ll have to wait and see how the new project evolves from here and whether changes occur to the parent project as a result of the fork.

Lunch in Sydney

May 9th, 2009

I had lunch with Brent, Sue and baby Taj in Sydney. Excellent Vietnamese in Dulich Hill. Nice table on the street and great food – I had some great Pho and rice paper rolls.

And little Taj was most cute and for me – who doesn’t like most people’s kids that’s saying something.

Nagios project is forked… Hello ICINGA

May 7th, 2009

The Nagios project has been forked. This will probably come as a surprise to a lot of people but I wasn’t overly shocked. To be honest I am surprised it took this long to happen. Nagios has always been a one man show – Ethan Galstad tightly controls its development and lifecycle. Whilst licensed as open source the project (outside of the Nagios Plugins) was largely architected, coded and run by Ethan with only a small number of user-contributed patches being applied. In fact I am not even sure anyone other than Ethan has commit rights to the Nagios core.

I’ll be interested to see how the ICINGA (a Zulu word meaning ‘it looks for’, ‘it browses’, ‘it examines’) expands and grows and whether it does attract members of the Nagios community.

P.S. Apparently there is drama around the fork – j’accuse stuff around a commercial company that uses Nagios – so it may be that the fork isn’t altruistic. Time will tell.

Your Application is a Rotting Old Shack, Now What? (Phase 1)

May 5th, 2009

This great article - Last In – First Out: Your Application is a Rotting Old Shack, Now What? – tells some serious truths about how badly a lot of application development is conducted.  Though perhaps a better description of the failed processes would be “application management” or “application lifecycle”.

The Phase 1 of this “application lifecycle” generally works like this:

1.  Company identifies need for Application

2.  Company decides internal team can’t develop Application and they decide to buy off-the-shelf Application.

3.  Company goes to market

4.  Company discovered no off-the-shelf Application does what is required or requires significant modification to do what is required.

5.  Company either buys off-the-shelf Application with intent to modify it or decides to develop Application themselves.

6.  Company decides internal team can’t perform the required modifications to the off-the-shelf Application OR build the required Application.

7.  Company goes to market to find an Application development team

8.  Company finds and engages highly-priced Consulting Company to perform Application development.

9.  Partner in highly-priced Consulting Company takes CIO + relevant line management to dinner/tennis/Maldives/strip club.  (order of Steps 8 and 9 vary)

10.  Consulting Company sets up shop at Company bringing highly-skilled and trained development team.  Team consists of one Director and 25 largely untrained grads.

11.  Application development.

12.  Application development completed.  Please select three or more options below:

a.  Cost overruns

b.  Functionality descoped (usually includes “security”, “reporting”, and “management” functions)

c.  Incorrect Functionality developed (requirements, we don’t need no stinkin’ requirements!)

d.  Inadequate documentation (comments, we don’t need no stinkin’ comments!)

e.  No handover to internal team (handover, we don’t need no stinkin’ handover…!)

f.  Abbreviated or no training of staff due to time/cost constraints

g.Insufficient or no test cases due to time/cost constraints

h. No development or test environments

i.  Infrastructure does not match or integrate into Company’s environment

11.  Project after-action report acknowledges minor issues with the project but generally roaring success.  Sixteen appendices containing feedback from internal teams mysteriously lost in fire in strip club in the Maldives.

12.  Partner at Consulting Company buys new Aston-Martin.

13.  Resentment and Alcohol intake in internal team sharply rises.

End Phase 1.

Puppet 0.25.0beta1 released!

May 4th, 2009

The beta1 release of Puppet 0.25.0 has been released!

This is a big woot!  This represents a mountain of work for Luke and a number of contributors to Puppet (including me! :P ).  It’s been about 18-24 months in the making since Luke first started tossing ideas around and cutting code.

We’re not fully there yet.  This is a beta release after all but it’s well on the way and with sufficient testing we should get a release candidate out within the month I hope.

For those of you who are interested the tarball is available here and here are some notes about it:

Puppet 0.25.0beta1

This is not production ready code – it is a beta release for testing. The beta is largely feature complete and the extent of testing and issues will determine how soon we move to a release candidate. So we would ask everyone to test and report issues with the beta.

Please log any issues found during testing here.

Please select the Affected Version as 0.25.0.

Please email any other specific questions, comments or feedback to the puppet-user list.

What’s Changed?

There are substantial changes in Puppet 0.25.0 and more changes to come in the future. Most of the changes in 0.25.0 are internal refactoring rather than behavioural. The 0.25.0 release should be fully backwards compatible behaviourally with the 0.24.x branch. This means a 0.25.0 master will be able to manage 0.24.x clients. You will need, however, to upgrade both your master and your clients to take advantage of all the new features and the substantial gains in performance offered by 0.25.0.

The principal change is the introduction of Indirected REST to replace XML-RPC as the underlying Puppet communications mechanism. This is a staged change with some functions migrated in this release and some in the next release. In the first stage of the Indirected REST implementation the following functions have been migrated:

- Certificates
- Catalogue
- Reports
- Files

In 0.26.0 (the next release) the following remaining functions will be migrated:

- Filebucket
- Resource handler
- Runner handler
- Status handler

The new REST implementation also comes with authorisation configuration in a similar style to the namespaceauth used for XML-RPC. This new authorisation is managed through the auth.conf file (there is an example file in the conf directory of the tarball). This does not yet fully replace the namespaceauth.conf file but will when the remaining handlers are migrated to REST. It works in a similar way to the namespaceauth.conf file and the example file contains additional documentation.

As a result of the introduction of REST and other changes you should see substantial performance improvements in this release. These particularly include improvements in:

- File serving
- The performance of large graphs with lots of edges
- Stored configuration (see also Puppet Queuing below)

Other new features include (this is not a complete list – please see the Roadmap for all tickets closed in this release):

Puppet Queuing

There is a new binary called puppetqd that supports queuing for stored configurations. You can read about how it works and how to implement it here.

Further documentation is in the README.queuing file in the tarball.

Application Controller

All the logic has been moved out of the binary commands and added to an Application Controller. You can see the controller code at lib/puppet/application.rb and the logic for each application at lib/puppet/application/binaryname.rb.

Binary Location Move

To bring Puppet more in line with general packaging standards the puppetd, puppetca, puppetrun, puppetmasterd, and puppetqd binaries now reside in the sbin directory rather than the bin directory when installed from the source package.

Version Compare function

There is a new function called versioncmp

Other features

You can find a full list of the tickets closed thus far for version 0.25.0 here.

Television

May 3rd, 2009

I actually don’t like very much television. Generally speaking the PVR tapes Law & Order (and variations), a handful of other crime shows, some ABC stuff – Spics and Specs and the Gruen Transfer. That’s my TV regime.

That’s not all the PVR tapes though. Oh no. It also tapes some other items. The 7.30 Report. Okay so far. But then rapidly downhill from there. There are shows about fat people, dancing and generally every other reality TV show that involves people being in a house and embarrassing and humiliating themselves. Now this isn’t my viewing. It belongs to Ruth. Ruth, who is remarkably bright, funny and educated, LOVES watching this utter crap. Loves it. I can’t work out what the attraction is. At least my crap has a plot and characters and you occasionally have to think about how dismember someone. It bewilders me.

P.S. Speaking of utter crap – she’s currently deeply engrossed in the Logies. She even just laughed at a Dave Hughes joke. I think I might go upstairs, kill some pixels and imagine they all look like Natalie Bassingthwaighte.