Backports PostgreSQL 9.1 ile debian sıkmak kullanıyorum. Kukla 2.7.14 sürümüne sahiptir. Ne yazık ki, init betiği durum için yanlış çıkış kodunu döndürür. Bu nedenle status
postgresql'in çalışıp çalışmadığını tespit etmek için özel bir komut yazdım .
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,
}
Komutum bir charme gibi çalışıyor, ancak kukla bir sorun var gibi görünüyor. Her zaman notice: /Stage[main]/Postgresql/Service[postgresql]/ensure: ensure changed 'stopped' to 'running'
zaten çalışıyor olmasına rağmen alıyorum .
Bu yüzden aşağıdakileri denedim:
service { 'postgresql':
ensure => running,
enable => true,
hasstatus => false,
hasrestart => true,
status => "exit 0",
provider => debian,
}
Bu özel status
komutu anladığım gibi , kukla her zaman postgresql'in çalıştığını düşünmelidir. Bununla birlikte, kukla postgresql'yi her zaman başlatmaya çalışır.
Hatam ne? Yoksa kuklada bir böcek mi?
status
ile kukla komutu beklendiği gibi çalışır!
provider => init
(veenable
parametreyi kaldırın ).