パペットのサービスにカスタムステータスコマンドを使用するにはどうすればよいですか?
私は、バックポートからPostgreSQL 9.1でdebian squeezeを使用しています。Puppetのバージョンは2.7.14です。残念ながら、initスクリプトはステータスに対して間違った終了コードを返します。したがって、statuspostgresqlが実行されているかどうかを検出するカスタムコマンドを作成しました。 service { 'postgresql': ensure => running, enable => true, hasstatus => false, hasrestart => true, status => "pg_lsclusters -h | awk 'BEGIN {rc=0} {if ($4 != \"online\") rc=3} END { exit rc }'", provider => debian, } 私のコマンドはチャームのように機能しますが、人形には問題があるようです。notice: /Stage[main]/Postgresql/Service[postgresql]/ensure: ensure changed 'stopped' to 'running'既に動いているのにいつもゲット。 したがって、次のことを試しました: service { …