Blogs about Free and Open Source Software

extlookup - a puppet extension you can't live without

I've been using puppet for a while now, and have had to, grudgingly, add an if $hostname == "somehostname" several places in modules and in my general templates.pp.

Until now I could find no other option to properly control things, without having to have a subclass for each special case - which is too much in some situations.

I was recently informed about extlookup (from Volcane (ircname) - the author) - a one-stop solution to removing all those annoying dependencies on specific hostnames.

do you use sh or bash for scripts?

I've often heard people say that you should use #!/bin/sh in your shell scripts to ensure they run everywhere.

I always use /bin/bash - because I like the bash-specific features and wouldn't like to live without, and I don't have a list in hand that shows me which "features" I can't use if using /bin/sh - so I can't be sure my script actually works on generic /bin/sh - without testing.

Why I enjoy puppet

Having to configure 17 servers that have to be absolute alike and other such details, made me setup puppet to do the job. I've used cfengine before, so I was looking forward to using puppet for a larger project and see if it made me as happy as I'd hoped (compared to using cfengine which can be a bit tedious :)

The general goal is that everything is setup up by puppet, so that the restore plan is as simple as possible:

Nagios: checking for .lock files age

I wanted to check for age of certain .lock files from scripts, so I can catch if a certain script has been running for too long (or has died without removing the .lock file). In this instance it was a script that runs drupal cronjobs and to be sure that it doesn't run multiple times, the script throws a lock file while it is running.

It turns out that check_file_age in standard nagios-plugins worked beautifully, except for one little annoying detail - it returns CRITICAL if the file does not exist :(

san multipath on Ubuntu 8.04 - just don't

I have been working with a client on setting up multipath for some Linux database hosts, with a NetApp FC Backend. They wanted to use Ubuntu 8.04 and after mucking a bit with the official config from NetApp (had to change path_checker to directio as readsector0 does not work on Ubuntu, and disable priority check as this doesn't work either :( )

Ubuntu then saw the 4 paths, but as we soon discovered, it returned IO errors if just 1 path failed, which made the kernel remount read-only :(

1 way to do proper log monitoring

I am working on setting up a proper handling of logs from many hosts.

I want unexpected log entries from any host, to be noticed immediately (via an alert in Nagios) and I want the alert to go away, as soon as the log entry has been handled as needed (added to ignore filter, issue fixed, task assigned for later fixing etc.).

Converting ogv to flv - high quality and small files?

I've been working on how best to convert our instructional videos for (CMS homepages) from the original ogv format to flv (flash) videoes to put on the site.

After having used ffmpeg, as many examples prescribe, I finally found an example, using mencoder which works a whole lot better than the ffmpeg versions I have tested.

I(or my wife) record using gtk-recordmydesktop in a 1024x768 resolution - as the website needs to be fully visible and most designs are optimized for that screen size.

Want a fully free video display solution for your Drupal 6 site?

I already have a fully free (as in GPL) video display solution for my Drupal 5 site - using flowplayer

I wanted to create a drupal 6 version, but until now the modules I use have not been ready for Drupal 6.

Samsung brændere - nej tak!

Pga. et indslag i DR's pengemagasin, blev jeg nødt til at opprioritere effektiviseringen af linuxpusher's produktionsapparat :)

Jeg valgte at købe 4 stk. Samsung Super Drivemaster brændere (model navn: SH-S223F).

Desværre har jeg måtte konstatere at de ikke brænder (især CD'ere) særlig godt :(

Jeg har nu fundet en anmeldelse som siger præcis det samme :(