On Aug 8, 2012, at 5:40 AM, duckegg01 wrote:

> Hi 
> 
> I have wriiten a class to deploy a tra file and extract on a remote puppet 
> client. The tar file gets copied across fine and it seems to puppet the thet 
> tar extraction suceeds, but when I check the client I dont see the extracted 
> files
> 
> exec { "Deploy Code":
>                 command => "/bin/tar -xvf /var/tmp/deploy.tar",
>                 onlyif => [
>                                 "/usr/bin/test -d /var/tmp/test/"    #just 
> testing this
>                           ]
>         }

I see two possible issues. First, you either need to give the exec resource a 
working directory via the 'cwd' parameter, or you need to use tar's -C option 
to specify where to extract the files. Without either of these, files will 
extract into the home of whichever user is running puppet. So either add this 
parameter:

    cwd => '/var/tmp/,

or use this as your tar command ( -- # note that I skipped the verbose switch 
since it's not interactive):

    /bin/tar -xf /var/tmp/deploy.tar -C /var/tmp

Another possible issue: If you want /var/tmp/deploy.tar to extract to 
/var/tmp/test, then you need to leave off the 'onlyif' parameter. Currently, 
the exec will only run if /var/tmp/test already exists.

One last thing. If you haven't done so already, set up a dependency between the 
file resource that copies the tar file to the node and the exec resource that 
extracts it -- either via a notify parameter in the file resource or a require 
parameter in the exec resource. 

--
Peter Bukowinski

-- 
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.

Reply via email to