Hello Silviu,
thank you for your fast answer. The problem is fixed now. The script was
starting with some comment and not "#!/bin/sh". On Red Hat this was no
problem but on Debian it did not work.

Regards,
Florian


> -----Original Message-----
> From: puppet-users@googlegroups.com
[mailto:puppet-us...@googlegroups.com]
> On Behalf Of Silviu Paragina
> Sent: Thursday, January 14, 2010 11:46 AM
> To: puppet-users@googlegroups.com
> Subject: Re: [Puppet Users] custom init script and status exit codes
> 
> I'm guessing you did
> /etc/init.d/btsh start; echo $?
> and it works fine. (also for stop and restart)
> 
> What you should do is add some debugging code. I think echo debug
stuff
>  >2 would be just enough, if not write in a separate file (for execs
is
> enough).
> The most likely cause for the script to work on command line and not
in
> puppet is environment, so you should start by checking the environment
> variable (especially path) and the current directory.
> 
> Other than there is a 99% chance that the script is at fault, and not
> puppet.
> 
> Silviu
> 
> florian.engelm...@bt.com wrote:
> > Hello,
> > we are running a custom ssh server on another port than the original
> > sshd on all of our hosts. We use puppet to roll out this
configuration.
> > It is just creating a symbolic link to the original sshd and does
copy
> > its custom config file and its own init script. This works on all
our
> > different operating systems (Solaris 8, 9, 10, Debian 4, 5 and Red
Hat
> > 4, 5).
> >
> > The problem is on Debian puppet is not able to handle the exit codes
of
> > this custom init script the right way. This is a part of my
manifest:
> >
> > service { btsh:
> >                         ensure => running,
> >                         enable => true,
> >                         hasrestart => true,
> >                         hasstatus => true,
> >                         #pattern => "/opt/BTsh/bin/btsh",
> >                         #restart => "/etc/init.d/btsh restart",
> >                         #stop => "/etc/init.d/btsh stop",
> >                         #start => "/etc/init.d/btsh start",
> >                         subscribe => File [
"/opt/BTsh/conf/btsh_config"
> > ],
> >                         require => Exec [ "/bin/ln -s /usr/sbin/sshd
> > /opt/BTsh/bin/btsh" ],
> >                         #require => Service [ "sshd" ],
> >                         require => $os ? {
> >                                 RedHat => Package ["openssh"],
> >                                 Debian => Package ["ssh"]
> >                         },
> > }
> >
> > The init script does exit with code 0 if the process is running and
with
> > exit code 3 if the process is not running.
> >
> > #> /etc/init.d/btsh status; echo $?
> > btsh is running.
> > 0
> >
> > But running puppetd -td shows me these lines:
> >
> > debug: Service[btsh](provider=debian): Executing 'ps -ef'
> > debug: Service[btsh](provider=debian): PID is 24079
> > debug: Puppet::Type::Service::ProviderDebian: Executing
> > '/usr/sbin/update-rc.d -n -f btsh remove'
> > notice: //Node[defr1glvnms31]/ssh/Service[btsh]: Triggering
'refresh'
> > from 4 dependencies
> > debug: Service[btsh](provider=debian): Executing 'ps -ef'
> > debug: Service[btsh](provider=debian): PID is 24079
> > debug: Service[btsh](provider=debian): Executing '/etc/init.d/btsh
> > restart'
> > err: //Node[defr1glvnms31]/ssh/Service[btsh]: Failed to call refresh
on
> > Service[btsh]: Could not restart Service[btsh]: Execution of
> > '/etc/init.d/btsh restart' returned 1:  at
> > /pkg/nagios/puppet/manifests/classes/ssh.pp:74
> >
> > If I enable hasstatus I get these messages:
> >
> > debug: Service[btsh](provider=debian): Executing '/etc/init.d/btsh
> > status'
> > debug: Puppet::Type::Service::ProviderDebian: Executing
> > '/usr/sbin/update-rc.d -n -f btsh remove'
> > debug: //Node[defr1glvnms31]/ssh/Service[btsh]: Changing ensure
> > debug: //Node[defr1glvnms31]/ssh/Service[btsh]: 1 change(s)
> > debug: Service[btsh](provider=debian): Executing '/etc/init.d/btsh
> > start'
> > Regards,err: //Node[defr1glvnms31]/ssh/Service[btsh]/ensure: change
from
> stopped
> > to running failed: Could not start Service[btsh]: Execution of
> > '/etc/init.d/btsh start' returned 1:  at
> > /pkg/nagios/puppet/manifests/classes/ssh.pp:74
> > notice: //Node[defr1glvnms31]/ssh/Service[btsh]: Triggering
'refresh'
> > from 4 dependencies
> > debug: Service[btsh](provider=debian): Executing '/etc/init.d/btsh
> > status'
> > debug: //Node[defr1glvnms31]/ssh/Service[btsh]: Skipping restart;
> > service is not running
> >
> >
> > Does naybody know what is wrong with my init script? The original
ssh
> > init script is working fine but I do not want to use this one
because it
> > is Debian specific and I want one script on all operating systems.
> >
> > Thank you for your help.
> >
> > Regards,
> > Flo
> >
> >

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To post to this group, send email to puppet-us...@googlegroups.com.
To unsubscribe from this group, send email to 
puppet-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.


Reply via email to