ipmitool for OSX

Tuesday, 29. 09. 2009  –  Category: sw

Nothing searchable in MacPorts, but found this.

Update: Turns out this build is missing isol mode serial-on-LAN for IPMI 1.5 hosts1, and building the ipmitool distribution wasn’t so hard after all. Packaging systems have made me lazy!

  1. Dell R200 uses IPMI 1.5, Dell R410 uses 2.0. Both do SOL and remote power management well enough []

vxargs – visual parallel xargs

Friday, 18. 09. 2009  –  Category: sw

Flag for vxargs, an xargs-a-like that runs its multiple command invocations in parallel and provides a (ncurses) histogram of the progress. Its companion program pattern provides an easy way to generate IP / hostnames based on a logical sequence. Together the make a reasonble way to run a command on a bunch of hosts and collate the stdout, stderr and exit status of each.

As a same-same-but-different alternative to

  • pssh
  • That xterm multiplexer I can never remember the name of
  • screen(1) and Terminal.app‘s send-to-many option
  • Quick and dirty shell scripts iterating over a host list
  • Capistrano‘s shell (even on hosts that don’t run any other Ruby!)

… it’s proving pretty solid.

Example:

[admin@manage3 tmp]$ pattern.py foo[1-8] | vxargs -y -o ~/tmp ssh {} varnishadm -Tlocalhost:6082 ping

Terminal clears, and shows progress:

8/8:ssh -l root foo8 varnishadm -Tlocalhost:6082 ping
Done
Done
Done
Done
Done
( 10s) 6: foo7
Done

and exits

exit code 0: 7 job(s)
exit code 1: 1 job(s)
total number of jobs: 8

Now you can inspect the output from each host, exit status and an overall failure list

[admin@manage3 tmp]$ cat ~/tmp/abnormal_list
foo5
[admin@manage3 tmp]$ cat ~/tmp/foo5.err
Warning: Permanently added 'foo5,10.221.11.0' (RSA) to the list of known hosts.
connect(): Connection refused
An error occured in receiving status.

Via Trivium

Apache 1.3 patch for ProxyPreserveHost

Thursday, 17. 09. 2009  –  Category: vague

Patch against Apache 1.3.411 to backport the ProxyPreserveHost feature. I can’t remember where I found it now, but I’ve tweaked it through a few Apache revisions.

Useful for migrating sites from one host to another before or during DNS propagation.

That said, I’m using Varnish and HAProxy an increasing amount for such plumbing.

  1. Yep, still running 1.3 around the place []