Saya menggunakan debian squeeze dengan PostgreSQL 9.1 dari backports. Wayang memiliki versi 2.7.14. Sayangnya skrip init mengembalikan kode keluar yang salah untuk status. Karena itu saya menulis status
perintah khusus untuk mendeteksi apakah postgresql berjalan atau tidak.
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,
}
Perintah saya bekerja seperti mantra, tetapi wayang tampaknya memiliki masalah. Saya selalu mendapatkan notice: /Stage[main]/Postgresql/Service[postgresql]/ensure: ensure changed 'stopped' to 'running'
meskipun sudah berjalan.
Jadi coba yang berikut ini:
service { 'postgresql':
ensure => running,
enable => true,
hasstatus => false,
hasrestart => true,
status => "exit 0",
provider => debian,
}
Seperti yang saya pahami status
perintah khusus ini , boneka harus selalu berpikir bahwa postgresql sedang berjalan. Namun demikian wayang mencoba memulai postgresql - setiap saat.
Apa kesalahanku? Atau itu bug di boneka?
status
perintah wayang bekerja seperti yang diharapkan!
provider => init
(dan menghapusenable
parameter).