I have written a simple service class which looks like the following::
class nginx_generic::nginx_ssl {
service { 'nginxssl':
start => "service nginx start",
stop => "service nginx stop",
status => "service nginx status",
}
}
Which appears to work differently on Debian and Ubuntu.
On a debian server (wheezy, puppet 3.7.3-1puppetlabs1 ) the status of of nginx is correctly evaluated with the given command i.e.:
Debug: Executing 'service nginx status
However, on an ubuntu system (ubuntu 14.04, puppet 3.7.3-1puppetlabs1 ) the custom status command is ignored and the default attempted i.e.
Debug: Service[nginxssl](provider=upstart): Could not find nginxssl.conf in /etc/init
Debug: Service[nginxssl](provider=upstart): Could not find nginxssl.conf in /etc/init.d
Debug: Service[nginxssl](provider=upstart): Could not find nginxssl in /etc/init
Debug: Service[nginxssl](provider=upstart): Could not find nginxssl in /etc/init.d
Debug: Service[nginxssl](provider=upstart): Could not find nginxssl.sh in /etc/init
Debug: Service[nginxssl](provider=upstart): Could not find nginxssl.sh in /etc/init.d
Error: /Stage[main]/Memset_ssl_generic::Nginx_ssl/Service[nginxssl]: Could not evaluate: Could not find init script or upstart conf file for 'nginxssl'
I am not able to find out why the puppet client behaves differently ubuntu and debian nor how I can get the ubuntu puppet client to use the configured status command.
Any help would be much appreciated!
↧