よかろうもん!

アプリからインフラまで幅広くこなすいまどきのクラウドエンジニアが記す技術ブログ

puppetでtemplates関数を利用する際の注意点

オープンソースのシステム自動管理ツールpuppetを使っていろいろと試してます。
なぜこのツールを試してみようかと思ったかというと、
検証環境を構築する際に、毎回同じことをするのが面倒だと思い始めたから。
構築になれていないうちは設定方法等を覚えるという意味ではよかったが、
今となっては少し面倒くさいと思うようになってきますた。

というわけで、このツールを試しています。

インストール方法は至って簡単。

$ apt-get update
$ sudo apt-get install ruby
$ sudo apt-get install rubygems
$ sudo apt-get install puppet puppetmaster

これだけ。
ubuntu 7.1 serverで検証しているけど、puppetのバージョンが0.22.4なのでちと古い。
最新版で同じconfファイルを利用する際には、多少変更が必要みたいなので、
その点は要注意なのだ。


前置きはこのくらいにしておいて、一点だけメモしておきたいことを書いておく。

puppetにはファイルサーバ機能があり、puppetmasterと呼ばれるサーバから
クライアントはファイルを取得することができる(mountしてるらしい)んだけど、
その機能がうまく働かない場合があった。

その点を具体的に書いておくと、
/var/puppet/templatesからの相対パス絶対パスを指定すればよいはずなのだが、
以下のように相対パスで指定するとエラーとなってしまう。

templates('etc/ntp.conf')

エラー内容はこちら。

err: Could not find template etc/ntp.conf at /etc/puppet/manifests/site.pp:36

絶対パスで指定した場合はうまくいく。

templates('/var/puppet/templates/etc/ntp.conf')

もしかしたら最新バージョンではfixされているかもしれないので確認が必要だなぁ。


ここからはどうでも良いことだけど、puppetではシステムに関する情報を利用できる(factor変数)んだけど、そのfactorをfacterと間違ってて、苦戦してしまった・・・。
皆さんはお間違えのないように。