Marionette nicht einen Dienst starten (Lack), wenn puppet apply ausgeführt wird
Habe ich in einem puppet-manifest, die besagt, dass der Dienst "Lack" laufen sollte, ist es aber nicht.
Habe ich einen anderen Dienst definiert, apache2, die gut funktioniert, und loslegen Wann immer ich laufen puppet apply.
vagrant@lucid32:~$ sudo netstat -tunelp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State User Inode PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 0 3749 605/sshd
tcp 0 0 127.0.0.1:6010 0.0.0.0:* LISTEN 1000 5169 1110/0
tcp 0 0 0.0.0.0:48828 0.0.0.0:* LISTEN 0 3445 552/rpc.statd
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 0 3228 484/portmap
tcp6 0 0 :::22 :::* LISTEN 0 3751 605/sshd
tcp6 0 0 ::1:6010 :::* LISTEN 1000 5168 1110/0
udp 0 0 0.0.0.0:68 0.0.0.0:* 0 4179 917/dhclient
udp 0 0 0.0.0.0:68 0.0.0.0:* 0 3277 558/dhclient3
udp 0 0 0.0.0.0:728 0.0.0.0:* 0 3430 552/rpc.statd
udp 0 0 0.0.0.0:111 0.0.0.0:* 0 3227 484/portmap
udp 0 0 0.0.0.0:54265 0.0.0.0:* 0 3442 552/rpc.statd
udp 0 0 10.0.2.15:123 0.0.0.0:* 102 4259 904/ntpd
udp 0 0 127.0.0.1:123 0.0.0.0:* 0 4208 904/ntpd
udp 0 0 0.0.0.0:123 0.0.0.0:* 0 4203 904/ntpd
udp6 0 0 fe80::a00:27ff:feb5:123 :::* 0 4210 904/ntpd
udp6 0 0 ::1:123 :::* 0 4209 904/ntpd
udp6 0 0 :::123 :::* 0 4204 904/ntpd
vagrant@lucid32:~$
Gelten Puppe:
vagrant@lucid32:~$ sudo puppet apply --verbose /vagrant/manifests/default.pp
info: Applying configuration version '1359558916'
notice: /Stage[main]/Apachevarnish/Service[apache2]/ensure: ensure changed 'stopped' to 'running'
notice: Finished catalog run in 0.15 seconds
Aber Lack nicht starten.
Dies ist die manifest-Datei:
class apachevarnish {
Package { ensure => "installed" }
package { "apache2": }
package { "varnish": }
file { '/etc/hosts':
ensure => link,
target => "/vagrant/hosts",
force => true
}
file { '/var/www':
ensure => link,
target => "/vagrant",
notify => Service['apache2'],
force => true
}
file { '/etc/varnish':
ensure => link,
target => "/vagrant/etc/varnish",
# notify => Service['varnish'],
force => true
}
service { "varnish":
ensure => running,
require => Package["varnish"],
}
service { "apache2":
ensure => running,
require => Package["apache2"],
}
}
Dank!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Beantwortung meiner eigenen Frage:
Laut dieser: https://projects.puppetlabs.com/issues/12773 liegt das problem in Ubuntu init-Skripte, oder der "service" Befehl nicht wieder eine richtige exit-code.
Die Lösung ist ein benutzerdefinierter status überprüfen mit grep und service.
Die docs sagen, dass puppet erwartet das initscript von der service eine "status" - Befehl, der gibt 0 zurück, wenn der Dienst ausgeführt wird und einen Wert ungleich null andernfalls. Dies ist das Standardverhalten von puppet. Versuchen zu tun, ein
Falls Ihr Initskript nicht geben Ihnen gewünschte Rückkehr Typen set "hasstatus => false," innerhalb des service directive-block und geben Sie es ein versuchen.
Dies gut funktioniert: