How do you know it didn't work? What's your shell script expected to do? If you run it by hand in a root shell, does it work then? If so, there might be an environment problem when running from Puppet, like $PATH or something. Try set the parameter "logoutput => true" in the exec resource.
On Jun 17, 3:18 pm, Annie Rana <annier...@gmail.com> wrote: > Thanks but it couldn't work though i got the message that shell script is > successfully executed. > > On Fri, Jun 17, 2011 at 2:44 PM, Luke Bigum <luke.bi...@lmax.com> wrote: > > Annie, > > >http://docs.puppetlabs.com/references/stable/type.html#exec > > > By default the expected return code is probably zero, your script is > > returning 1. Whether this is correct or not I don't know, but you can > > tell puppet to expect a different return code: > > > exec { '/etc/shell_file': > > require => File['/etc/shell_file'], > > returns => 1, > > } > > > On Jun 17, 2:36 pm, Annie Rana <annier...@gmail.com> wrote: > > > I apologize for posting wrong log messages, here is the correct log: > > > > notice: Starting catalog run > > > notice: //File[/tmp/QoS/QoS.sh]/ensure: created > > > err: //Exec[/tmp/QoS/QoS.sh]/returns: change from notrun to 0 failed: > > > /tmp/QoS/QoS.sh returned 1 instead of 0 at > > /etc/puppet/manifests/site.pp:10 > > > notice: Finished catalog run in 0.46 seconds > > > > Any help please? > > > > On Fri, Jun 17, 2011 at 2:09 PM, Annie Rana <annier...@gmail.com> wrote: > > > > Hi Peter, thanks for your reply. I managed to copy the shell file > > puppet > > > > client using the file resource recipe you specified but exec is > > throwing an > > > > error, which is as follows: > > > > > info: No classes to store > > > > info: Caching catalog at /var/lib/puppet/state/localconfig.yaml > > > > notice: Starting catalog run > > > > err: //File[/tmp/QoS/QoS.sh]/ensure: change from absent to file failed: > > > > Could not set file on ensure: No such file or directory - > > > > /tmp/QoS/QoS.sh.puppettmp at /etc/puppet/manifests/site.pp:7 > > > > notice: //Exec[/tmp/QoS/QoS.sh]: Dependency file[/tmp/QoS/QoS.sh] has 1 > > > > failures > > > > warning: //Exec[/tmp/QoS/QoS.sh]: Skipping because of failed > > dependencies > > > > notice: Finished catalog run in 0.38 seconds > > > > > When I tried running the shell script manually using the following > > command > > > > > '/tmp/QoS/QoS.sh; echo $?' > > > > > , it worked fine printing 0 at the end. Any help what is wrong with > > exec > > > > resource recipe? > > > > > Thanks in advance for your time. > > > > > Regards, > > > > > A. > > > > > On Thu, Jun 16, 2011 at 8:42 PM, Peter Bukowinski <pmb...@gmail.com > > >wrote: > > > > >> It sounds like you haven't set up the puppet fileserver yet. Choose a > > > >> directory that will hold files you want to copy to clients. I use > > > >> /opt/files, so that's what is in my example. Create fileserver.conf in > > the > > > >> same directory as puppet.conf and add these lines: > > > > >> [files] > > > >> path /opt/files > > > >> allow *.client.domain > > > > >> Put your shell file in the path you specified. Now you just need to > > set up > > > >> a file and exec resource. Note the source item in the file resource > > and the > > > >> require item in exec. > > > > >> file { '/etc/shell_file': > > > >> ensure => present, > > > >> owner => 'root', > > > >> group => 'root', > > > >> mode => '0755', > > > >> source => 'puppet://puppet/files/shell_file', > > > >> } > > > > >> exec { '/etc/shell_file': require => File['/etc/shell_file'] } > > > > >> -- > > > >> Peter M. Bukowinski > > > >> Systems Engineer > > > >> Janelia Farm Research Campus, HHMI > > > > >> On Thursday, June 16, 2011 at 3:17 PM, annierana wrote: > > > > >> > Hi all, I am new to puppet. I need a sample recipe to write/copy a > > > >> > shell file on puppet client. The shell file exists on puppet server. > > > >> > Once the file is written, I also want to execute it. I have tried > > > >> > using file resource with ensure command to copy at /etc but > > permission > > > >> > was denied and moreover with a different directory path (\tmp) it > > just > > > >> > created an empty file. Can anyone please help? > > > > >> > Regards, > > > > >> > A. > > > > >> > -- > > > >> > You received this message because you are subscribed to the Google > > > >> Groups "Puppet Users" group. > > > >> > To post to this group, send email to puppet-users@googlegroups.com > > (mailto: > > > >> puppet-users@googlegroups.com). > > > >> > To unsubscribe from this group, send email to > > > >> puppet-users+unsubscr...@googlegroups.com (mailto: > > > >> puppet-users+unsubscr...@googlegroups.com). > > > >> > For more options, visit this group at > > > >>http://groups.google.com/group/puppet-users?hl=en. > > > > >> -- > > > >> You received this message because you are subscribed to the Google > > Groups > > > >> "Puppet Users" group. > > > >> To post to this group, send email to puppet-users@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. > > > -- > > You received this message because you are subscribed to the Google Groups > > "Puppet Users" group. > > To post to this group, send email to puppet-users@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. > > -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@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.