You can't put a file{} resource inside an exec{} resource.

On Thu, Apr 12, 2012 at 7:53 AM, Munna S <[email protected]> wrote:

> Hi Brian,
>
> below is my updated init.pp file. but i am getting the error as
>
> Apr 12 14:49:51 pil-vm-pup-01 puppet-master[14586]:
> (//vm-jeeva2.aircell.prod/Puppet) Could not retrieve catalog from remote
> server: Error 400 on SERVER: Could not find class dev_jboss_jeeva for
> vm-jeeva2.aircell.prod at /etc/puppet/manifests/nodes/jeeva_base.pp:2 on
> node vm-jeeva2.aircell.prod
> Apr 12 14:49:51 pil-vm-pup-01 puppet-master[14586]:
> (//vm-jeeva2.aircell.prod/Puppet) Using cached catalog
> Apr 12 14:49:51 pil-vm-pup-01 puppet-master[14586]:
> (//vm-jeeva2.aircell.prod/Puppet) Could not retrieve catalog; skipping run
> my init.pp file
>
> class dev_jboss_jeeva {
> exec {
>         onlyif => "test -d /opt/xyz"
>
> file { "/opt/xyz/file.txt":
> owner => "jboss",
> group => "jboss",
> source => "puppet://$puppetserver/modules/module_name/opt/xyz/file.txt",
> }
> }
> }
>
> Thanks,
> Jeeva
> On Thu, Apr 12, 2012 at 9:24 AM, Brian Gallew <[email protected]> wrote:
>
>> Another alternative is to unconditionally copy the file to a staging
>> director (e.g. /var/staging) and then have
>>
>> exec {
>>   "conditional copy to path1":
>>     onlyif => "test -d /opt/path1"
>>     command => "rsync -a /var/staging/file.txt /opt/path1";
>>   "conditional copy to path2":
>>     onlyif => "test -d /opt/path2"
>>     command => "rsync -a /var/staging/file.txt /opt/path2";
>>   "conditional copy to path3":
>>     onlyif => "test -d /opt/path3"
>>     command => "rsync -a /var/staging/file.txt /opt/path3";
>> }
>>
>> For neatness' sake, you could turn that into a define{}
>>
>> On Thu, Apr 12, 2012 at 7:18 AM, Munna S <[email protected]> wrote:
>>
>>> Hi  Gary,
>>>
>>> I created a custom fact path_to_check.rb and placed it under
>>> .../module_name/lib/facter
>>>
>>> below is my init.pp file
>>>
>>> class class_name
>>> if $path_to_check == present{
>>>                 file { "/opt/xyz/file.txt":
>>>                 owner => "jboss",
>>>                 group => "jboss",
>>>                 source =>
>>> "puppet://$puppetserver/modules/module_name/opt/xyz/file.txt",
>>>                      }
>>>                 }
>>> }
>>> But  i dont see files are getting pushed
>>> On Sun, Apr 1, 2012 at 11:08 PM, Munna S <[email protected]> wrote:
>>>
>>>> Thank you so much Gary. I will try this
>>>>
>>>> Thanks,
>>>> Jeeva
>>>>
>>>> On Sun, Apr 1, 2012 at 11:05 PM, Gary Larizza <[email protected]>wrote:
>>>>
>>>>> Jeeva,
>>>>>
>>>>> Your custom fact would do something like:
>>>>>  File.directory?('/path/to/check')  that returns true or false depending 
>>>>> on
>>>>> whether the directory existed.  Your fact would return a true or false
>>>>> value (so if the custom fact were named 'path_to_x' you would do something
>>>>> like this in your init.pp
>>>>>
>>>>>     if $path_to_x == 'true' {
>>>>>       # Do something here
>>>>>     } else {
>>>>>       # Do something else here
>>>>>     }
>>>>>
>>>>> Do this for every custom fact (corresponding to the paths you want to
>>>>> check) in your manifest, or combine them into one giant if statement like:
>>>>>
>>>>>     if ($path_to_x == 'true') or ($path_to_y == 'true') {
>>>>>       # Do something
>>>>>     }
>>>>>
>>>>> Does this make sense?
>>>>>
>>>>>
>>>>> On Sun, Apr 1, 2012 at 8:48 PM, Munna S <[email protected]> wrote:
>>>>>
>>>>>> Hi Gary,
>>>>>>
>>>>>> How i can put this in my init.pp file. Actually i am checking for the
>>>>>> path. if path found then copy the file else dont create any file/folder. 
>>>>>> So
>>>>>> here i need to check for 3 different path on each server. if any of the
>>>>>> below path exist then copy the file.
>>>>>>
>>>>>> Thanks,
>>>>>> Jeeva
>>>>>>
>>>>>> On Sun, Apr 1, 2012 at 10:41 PM, Gary Larizza <[email protected]>wrote:
>>>>>>
>>>>>>> Jeeva,
>>>>>>>
>>>>>>>
>>>>>>> I would make a custom fact (
>>>>>>> http://docs.puppetlabs.com/guides/custom_facts.html) that checks
>>>>>>> for the presence of these files.  Your Puppet manifest would check the
>>>>>>> condition of this fact to ensure the file absent or present (i.e. if
>>>>>>> $custom_fact { file { '/path/to/file': ensure => file } } ).
>>>>>>>
>>>>>>>
>>>>>>> Does that make sense?
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Sun, Apr 1, 2012 at 8:37 PM, Munna S <[email protected]> wrote:
>>>>>>>
>>>>>>>> Team,
>>>>>>>>
>>>>>>>> Any help
>>>>>>>>
>>>>>>>> Thanks,
>>>>>>>> Jeeva
>>>>>>>>
>>>>>>>> On Fri, Mar 30, 2012 at 12:51 PM, Munna S <[email protected]>wrote:
>>>>>>>>
>>>>>>>>> Team,
>>>>>>>>>
>>>>>>>>> I need a puppet module to copy a file to different location based
>>>>>>>>> on condition check . Below is my requirement
>>>>>>>>>
>>>>>>>>> if /opt/path1 found on the server  then copy file1
>>>>>>>>> if /opt/path2 found on the server then copy file1
>>>>>>>>> if /opt/path3 found on the server then copy file1
>>>>>>>>>
>>>>>>>>> if none of the above path found then dont copy file1
>>>>>>>>>
>>>>>>>>> Thanks,
>>>>>>>>> Jeeva
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>  --
>>>>>>>> You received this message because you are subscribed to the Google
>>>>>>>> Groups "Puppet Users" group.
>>>>>>>> To post to this group, send email to [email protected].
>>>>>>>> To unsubscribe from this group, send email to
>>>>>>>> [email protected].
>>>>>>>> For more options, visit this group at
>>>>>>>> http://groups.google.com/group/puppet-users?hl=en.
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>>
>>>>>>> Gary Larizza
>>>>>>> Professional Services Engineer
>>>>>>> Puppet Labs
>>>>>>>
>>>>>>>  --
>>>>>>> You received this message because you are subscribed to the Google
>>>>>>> Groups "Puppet Users" group.
>>>>>>> To post to this group, send email to [email protected].
>>>>>>> To unsubscribe from this group, send email to
>>>>>>> [email protected].
>>>>>>> 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 [email protected].
>>>>>> To unsubscribe from this group, send email to
>>>>>> [email protected].
>>>>>> For more options, visit this group at
>>>>>> http://groups.google.com/group/puppet-users?hl=en.
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>>
>>>>> Gary Larizza
>>>>> Professional Services Engineer
>>>>> Puppet Labs
>>>>>
>>>>>  --
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "Puppet Users" group.
>>>>> To post to this group, send email to [email protected].
>>>>> To unsubscribe from this group, send email to
>>>>> [email protected].
>>>>> 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 [email protected].
>>> To unsubscribe from this group, send email to
>>> [email protected].
>>> 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 [email protected].
>> To unsubscribe from this group, send email to
>> [email protected].
>> 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 [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> 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 [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.

Reply via email to