Func: Fedora Unified Network Controller を使ってみた(2)
まずはFedora11 2台にfuncをインストールしてみた。
https://fedorahosted.org/func/wiki/InstallAndSetupGuide
# yum install func
ここで、マスターノードでは、 certmaster, それ以外のノードでは funcd を起動しておく。 funcd 起動時には、 /etc/certmaster/minion.conf で certmasterのホスト名を正しく指定しないと上手く動かないらしい。
# certmaster-ca --list # certmaster-ca --sign hostname
でSSL証明書を発行した後(この辺はPuppetと同じ)、マスターノードで
# func "fedora-virt3*" call command run /bin/ls
を実行すると、(マスターノードがfedora-virt2.jp.example.org, funcdノードが、 fedora-virt3.jp.example.org )
('fedora-virt3.jp.example.org', [0, 'bin\nboot\ndev\netc\nhome\nlib\nlib64\nlost+found\nmedia\nmnt\nopt\nproc\nroot\nsbin\nselinux\nsrv\nsys\ntmp\nusr\nvar\n', ''])
と表示された。 結果は、(ホスト名, [返り値, 出力, ?? ]) となるらしい。後、Pythonを使う場合には、同種の内容を、
import func.overlord.client as fc client = fc.Client("fedora-vir3*.jp.example.org") rc=client.command.run("/bin/ls")
で実施できる。次は、ジョブスケジュールを意識して、返り値を確認しながらジョブを実行してみたいと思う。