Hudson swarmプラグイン

職場のHudsonクラスタには予算がついていないので、性能の良い計算機を集めるのがなかなか大変です。これは、Hudsonクラスタを作る人たちには共通の悩みではないかと思います。いきおい、同僚の古いコンピューターをリサイクルすることになるのですが、ここに罠があります。


というのも、新しいコンピュータを買った人のところに行って「古くなったコンピュータ、使ってないみたいだからちょうだい」といっても、中々首を縦にふってもらえないのですね。皆さんも経験あると思うのですが、古くなったコンピュータでも、ひょっとしたらまた使うかもしれないし、とか、もしかしたらデータのコピー忘れがあるかもしれないし、と心配になってしまうわけです。あげてしまったコンピュータがフォーマットされてしまう以上、これはもっともな心配です。


そこで、新しい作戦として、コンピュータを貰い受けるのではなくて、単に仮想マシンを走らせてもらう、という作戦が有効なのではないか、と思っています。こうすれば、コンピュータを新しいところに設置しなおしたりする必要もありません。また、仮想マシンなら、ホストマシンの環境を壊さないということは保証されていますから、古い計算機だけでなく、新しい計算機で走らせてもらうことも現実的です。VirtualBox Python APIをちょっと使えば、誰もログインしていない時やスクリーンがロックされている間だけ、ホストマシンのディスクとメモリを使って走らせる、ということも簡単にできます。


今日リリースしたHudson Swarm Pluginはこうした用途に最適のプラグインです。このプラグインは小さなCLIプログラムが付属していて、UDPブロードキャスト経由で近傍のHudsonマスターを発見し、自動的にスレーブとして参加します。管理者がスレーブを手動で追加したりする必要はありません。また、簡単なリピータを使えば、異なるサブネット上のHudsonに接続させることもできます。


これで、ネットワーク上のどこからでも、仮想マシンを起動してもらうだけで、自動的にクラスタが拡大する、というモデルが出来上がります。この作戦の最初の標的は僕の隣の席の同僚Maheshの予定です。奴はクラスタリング関係の仕事をしているので、テスト環境だといって4コアのCore 2 Quad Extreme Editionのシステムを3つも持っているのですが、ほとんど使われていないです。そこで、仮想マシンなら...。