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")

で実施できる。次は、ジョブスケジュールを意識して、返り値を確認しながらジョブを実行してみたいと思う。