Quick update from me... 

Have updated my defined resource to have some variables where appropriate, 
and have also used the 'create_resources' option within my node to handle 
the creation of multiple defined instances... 

FYI, my defined type now looks like:
define act::util::netapp::database (
        $ensure,
        $size
        ) {

        #$filername = hiera('filer_name')
        #netapp_notify {"name":
        #       message => "Filer name = ${filername}"
        #}
        #->
        netapp_notify {"volume_define_${name}":
                message => "Got to volume define. Creating ${name}",
                #require => Exec['relink_libodm11.so'],
                #before  => Notify['configured_sysctl']
        }
        ->
        netapp_volume { "v_${name}":
                ensure => $ensure,
                initsize => $size,
                aggregate => "aggr01",
                spaceres => "none",
                snapreserve => 0,
                autoincrement => false,
                options => {'convert_ucode' => 'on', 'no_atime_update' => 
'on', 'try_first' => 'volume_grow'}
        }
        ->
        netapp_qtree { "q_${name}":
                ensure => $ensure,
                volume => "v_${name}",
                #require => Netapp_volume['v_puppet_test20122012']
        }
        ->
        netapp_export { "/vol/v_${name}/q_${name}":
                ensure => $ensure,
                persistent => true,
                #require => Netapp_qtree['q_puppet_test20122012']
        }

}

And the node has got: 
create_resources( act::util::netapp::database, hiera('volumes') )

Hiera data looks like:
---
filer_name: 'actint-star-nactl01'
volumes:
 puppet_db01_data:
  ensure: present
  size: "100g"
 puppet_db01_ctrl:
  ensure: present
  size: "50m"
 puppet_db01_redo:
  ensure: present
  size: "50g"

And hey presto, a puppet device run results in 3 new NetApp volumes created 
:D 

Lets just say I'm well chuffed :D

Cheers
Gavin 

On Friday, 21 December 2012 08:55:24 UTC, Gavin Williams wrote:
>
> Ok, ignore my last... 
>
> Dropped the notify out of the define, and the device resources ran through 
> without any issues... 
>
> Now to start putting variables in all the right places... ;) 
>
> Cheers
> Gav
>
> On Thursday, 20 December 2012 18:08:12 UTC, Nan Liu wrote:
>>
>> On Thu, Dec 20, 2012 at 9:28 AM, Gavin Williams <[email protected]>wrote:
>>
>>> Afternoon all
>>>
>>> I'm trying to use a defined resource with a puppet network device, so 
>>> that I can group a whole load of network device resources into one define. 
>>>
>>> However when running puppet against the device, I see the following:
>>>
>>> ESC[0;36mDebugESC[0m: catalog supports formats: b64_zlib_yaml dot pson 
>>> raw yaml; using pson
>>> ESC[0;36mDebugESC[0m: Using cached catalog for actint-star-nactl01
>>> Using cached catalog
>>> ESC[0;36mDebugESC[0m: Creating default schedules
>>> ESC[0;36mDebugESC[0m: Loaded state in 0.01 seconds
>>> ESC[0;32mInfoESC[0m: Applying configuration version '1356022271'
>>> ESC[0;36mDebugESC[0m: Stage[main]: Skipping host resources because 
>>> running on a device
>>> ESC[0;36mDebugESC[0m: Class[Main]: Skipping host resources because 
>>> running on a device
>>> ESC[0;36mDebugESC[0m: Node[actint-star-nactl01]: Skipping host resources 
>>> because running on a device
>>> ESC[0;36mDebugESC[0m: Class[Settings]: Skipping host resources because 
>>> running on a device
>>> ESC[0;36mDebugESC[0m: Class[Settings]: Skipping host resources because 
>>> running on a device
>>> ESC[0;36mDebugESC[0m: /Filebucket[puppet]: Skipping host resources 
>>> because running on a device
>>> ESC[0;36mDebugESC[0m: Act::Util::Netapp::Database[volumes]: Skipping 
>>> host resources because running on a device
>>> ESC[0;36mDebugESC[0m: 
>>> /Stage[main]//Node[actint-star-nactl01]/Act::Util::Netapp::Database[volumes]/Notify[volume_defin]:
>>>  
>>> Skipping host resources because running on a device
>>> ESC[0;36mDebugESC[0m: 
>>> /Stage[main]//Node[actint-star-nactl01]/Notify[name]: Skipping host 
>>> resources because running on a device
>>> ESC[0;36mDebugESC[0m: Act::Util::Netapp::Database[volumes]: Skipping 
>>> host resources because running on a device
>>> ESC[0;36mDebugESC[0m: Node[actint-star-nactl01]: Skipping host resources 
>>> because running on a device
>>> ESC[0;36mDebugESC[0m: /Stage[main]//Notify[environment]: Skipping host 
>>> resources because running on a device
>>> ESC[0;36mDebugESC[0m: Class[Main]: Skipping host resources because 
>>> running on a device
>>> ESC[0;36mDebugESC[0m: Stage[main]: Skipping host resources because 
>>> running on a device
>>> ESC[0;36mDebugESC[0m: Finishing transaction 69870015100020
>>> ESC[0;36mDebugESC[0m: Storing state
>>> ESC[0;36mDebugESC[0m: Stored state in 0.03 seconds
>>> Finished catalog run in 0.25 seconds
>>>
>>> My defined type looks like:
>>> define act::util::netapp::database (
>>>         $volumes
>>>         ) {
>>>
>>>   notify {'volume_defin':
>>>     message => "Got to volume define.",
>>>     #require => Exec['relink_libodm11.so'],
>>>     #before  => Notify['configured_sysctl']
>>>   }
>>>
>>>         netapp_volume { 'v_puppet_test20122012':
>>>                 ensure => present,
>>>                 initsize => "10g",
>>>                 aggregate => "aggr01",
>>>                 spaceres => "none",
>>>                 snapreserve => 0,
>>>                 autoincrement => false,
>>>                 options => {'convert_ucode' => 'on', 'no_atime_update' 
>>> => 'on', 'try_first' => 'volume_grow'}
>>>         }
>>>
>>>          netapp_qtree { 'q_puppet_test20122012':
>>>                 ensure => present,
>>>                 volume => 'v_puppet_test20122012',
>>>                 require => Netapp_volume['v_puppet_test20122012']
>>>         }
>>>
>>>          # Testing export path munge.
>>>         netapp_export { 
>>> '/vol/v_puppet_test20122012/q_puppet_test20122012':
>>>                 ensure => present,
>>>                 persistent => true,
>>>                 require => Netapp_qtree['q_puppet_test20122012']
>>>         }
>>>
>>> }
>>>
>>> Currently, am just using a hard coded set to test, but once got it 
>>> working once, will start putting variables in appropriate places. 
>>>
>>> Did a quick google of the above errors, and found Issue 
>>> #11799<http://projects.puppetlabs.com/issues/11799>, 
>>> however it unfortunately doesn't have much information in it... 
>>>
>>> Any ideas on how I could get the above working???
>>>
>>
>> You can't use notify resource with puppet devices =/. When working with 
>> F5, I simply duplicated notify and changed it f5_notify and updated 
>> f5_notify to apply_to_device. The network resources in the define resource 
>> should still work correctly.
>>
>> Thanks,
>>
>> Nan
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Developers" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/puppet-dev/-/E9_hvviIw_EJ.
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-dev?hl=en.

Reply via email to