オープンソースなシステム自動管理ツール Puppet

第11回 Puppet 関連ツールの紹介(PRM)

この記事を読むのに必要な時間:およそ 3 分

レシピのダウンロード

レシピのサンプルとして,fedora-yumhttpd-selinux-userdirがあります。レシピをダウンロードするには,prm getでリポジトリURLを指定します。

$ sudo prm get http://hg.et.redhat.com/hg/emd/recipes/fedora-yum

/var/lib/puppet/recipes/fedora-yumにレシピが保存され,/etc/puppet/manifests/prm/fedora-yum にマニフェストのコピー,/var/lib/puppet/config/fedora-yum にレシピ全体のコピーが置かれます。

レシピのアップデート

リモートリポジトリ上のアップデートをローカルに反映させるためには,以下のようにprm updateを実行します。

$ sudo prm update fedora-yum

レシピのコミット

ローカルにあるレシピを修正して,ローカルリポジトリにコミットすることにより,ローカルでレシピのバージョン管理を行うことができます。

ローカルでレシピを修正する場合には,マニフェストは/etc/puppet/manifest/prm以下にあるものを,それ以外のファイルは/var/lib/puppet/configにあるものを修正します(/var/lib/puppet/recipes以下にあるファイルを修正してはいけません⁠⁠。

修正したレシピをコミットするには,以下のようにprm commitを実行します。

$ sudo prm commit fedora-yum

レシピのタグづけ

レシピにタグづけするためには,prm tagを実行します。

$ sudo prm tag -r REL-20080204 fedora-yum

レシピの一覧

ローカルにあるレシピの一覧を表示するには,prm listを実行します。

$ prm list
Standard yum repo configurations for Fedora machines


Enable httpd userdirs on machines running SELinux enforcing

prm listではrecipe.xml(後述)のlabelで指定されたものが表示されます。

PRMレシピの作成

PRMレシピを作成して配布する場合には,以下のような構成でファイルを作成して,Mercurialリポジトリに追加します。

files/     (Puppetクライアントへの配布用ファイル)
manifests/ (マニフェスト)
README     (レシピの説明)
recipe.xml

recipe.xmlの内容は以下のようになります。

<recipe xmlns="http://redhat.com/prm/1.0" name="URL" version="1.0">
  <label>short human-readable freeform label</label>
  <description>freeform text explaining what this recipe does</description>
  <dependencies>
    <require recipe="URL1"/>
    <require recipe="URL2"/>
  </dependencies>
</recipe>

labelでレシピの名前を指定し,descriptionでレシピの概要を記述します。dependenciesのrequireには,このレシピが依存する他のレシピのリポジトリURLを指定します。

PRMは一年以上アップデートされていないようですし,ドキュメントもほとんどなく,今後開発が継続されるかわかりませんが,Puppet本の発売によってPuppet利用者の裾野が広がれば,PRMのようなツールの必要性が見直されるかもしれません。

次回はCftというPuppet関連ツールをご紹介します。

著者プロフィール

宮下剛輔(みやしたごうすけ)

(株)paperboy&co.技術責任者。 社内ではサーバ周りからアプリケーション開発まで幅広く関わる一方,個人的にはPerlプログラミングを趣味として,サーバ管理用ユニットテストスイート Assurer(アシュラ)をオープンソースで公開したり,CPAN AuthorPlaggerコミッタとして活動している。また,YAPC::Asia 2007 Tokyo等の技術系カンファレンスでスピーカを務めるのも最近の楽しみのひとつ。共著書に『MASHUP++』がある。

URLhttp://mizzy.org/