klavs's blog

expect: send many commands to routers and such

A neat script I pieced together - to send many commands (f.ex. deletion of objects etc.) to a box (using ssh) - input from a file (remember to atleast use a proper random name for the file etc. :)

Grave PHP bug segfaults drupal sites

I just hit a grave bug, while performance testing a customers drupal site - the apache segfaulted each and every time, after a few 100 requests at the most. The setup had long been plagued by random segmentation faults / complaints about canary problems from suhosin, which wasn't reproducible (or we hadn't spent the time to try), but this time it died consistently.

New linuxpusher.com site

Ever since I redid Linuxpusher.dk (as it were - not it's .com) in oscommerce, I've sorely missed some CMS functionality and I only switched because the shop part of the CMS systems I had found were sorely lacking in this, primary part.

I finally found a system that, while not perfect, was good enough to be a considerable improvement to the functionality of the linuxpusher.com site, and also I finally found the time to do it.

Among the new features are:

Designing proper taxes support in a webshop

I've been working on creating a new website for my webshop www.linuxpusher.com, using Drupal 6, Ubercart D2 and 100+ modules (the drupal way :)

I've fixed several bugs in modules along the way (and ofcourse sent fixes upstream - even got to be co-maintainer of a module, so that I could release a new version with  my fixes, and have added other fixes as I needed them :) and especially working with uc_discounts_alt have exposed me to an issue the current taxes support cannot handle.

EU VAT and Drupal+Ubercart 2

I finally got some time to start working on a new homepage for linuxpusher.com and choose to use Drupal and Ubercart (among two shop-modules for drupal) for this job.

I need to be able to sell items without VAT to none-EU citizens, and the builtin taxes support didn't handle this, and the uc_vat module that improves upon the built-in support, didn't do the job either.

I have just fixed the code, with some tips from the author of uc_vat (longwave) so we were sure as how it should be done, so I hope he'll accept my code as an improvement for uc_vat.

Mythtv recording problems - a workaround

Since the arrival og dvb-t in Denmark, I've been playing with mythtv - with mythbackend on my qnap ts-119 (1200mhz, 512mb ram - installed debian on it), inspired by Andreas Back Aaen running mythbackend on a 400mhz Buffalo linkstation.

Unfortunately I decided to go with v0.22 (the latest), and it seems it has several issues with the dvb-t signals in this region :(

Check HP proliant IML logs

I found a check on monitoringexchange which checked for log entries in the IML (with the insight manager installed and snmp enabled), but it didn't check for the actual state of the log entry - so you got warnings on everything - even lines which had been marked as repaired or which were only informational - and it only went in to CRITICAL - if the text contained the text "Error".

I found this rather defective so I rewrote the script, after I found the correct oid's to look in.

Dell Open Manage (omsa) - auto setup via puppet

Dell's OpenManage is a pain to install manually. Luckily someone provides deb files,  but even when using them, there's a lot of "details" - also some depending on if you're using 64bit arch or not.

I decided to write a module to automaticly install of the the OMSA software on Debian Lenny (should work on Ubuntu - and could easily be extended to CentOS and others). I choose to include a few pam-files from 32bit Lenny - as there's no 32bit package for 64bit arch's and omsa needs them to auth you against pam.

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.


Backup up your brocade switch config

I wanted to backup a brocade san switch configuration, and tried SaveSimplyYourSan - but it wouldn't do ssh - and using telnet, uploading config to ftp - is too unsecure for my taste.

I ended up writing a small expect script that looks like this: