Nan

Cheers for the response. 

However as it took soo long for this post to get onto the Puppet Developers 
list, I dropped into #puppet-dev on IRC, and with some assistance from 
Dominic managed to resolve the issue... 

He identified that I was missing a couple of requires for Puppet::Provider 
and Puppet::Util::Network_device. Added those in, and it's now running as 
expected. 
The thought behind the intermittent issue was that I've also been testing 
the f5 network device support, which depending on device run order may load 
the required libs into memory ahead of the netapp device... However if the 
NetApp device runs first, it's missing the required libs. 

To answer your other question, NaServer is the NetApp Ruby library. 
Unfortunately it's not re-distributable, so cant include it in Git. However 
will include instructions on where to get it, and where to put it within 
the readme. 

Regards
Gavin 

On Monday, 12 November 2012 18:05:27 UTC, Nan Liu wrote:
>
> On Wed, Nov 7, 2012 at 8:43 AM, Gavin Williams <[email protected]<javascript:>
> > wrote:
>
>> Afternoon all 
>>
>> I've been posting about this subject in Puppet 
>> Users<https://groups.google.com/forum/?fromgroups=#!topic/puppet-users/SJjWbdLoBGU>,
>>  
>> but thought it might be worth me posting here as it doesn't look like many 
>> users are actually using the Network Device functionality yet... 
>>
>> Basically, I'm trying to add support for NetApp filers as a Puppet 
>> Network Device... 
>> I think I've made some pretty good progress, in that I've managed to 
>> successfully connect to our NetApp simulator, retrieve a load of facts 
>> which can be used down the line, and also today managed to successfully 
>> create/destroy volumes on the simulator using Puppet... 
>>
>> However following that brief period of success, I seem to have taken a 
>> step backwards :( 
>>
>> I've basically copied the type and provider for netapp_volume to create a 
>> netapp_qtree equivalent, tweaking as required. 
>> It seems that running either the netapp_volume or netapp_qtree against an 
>> individual node works most of the time. 
>> However when I try and combine the 2, I start seeing random errors such 
>> as:
>>
>> Error: Could not retrieve catalog from remote server: Error 400 on 
>>> SERVER: Could not autoload puppet/type/netapp_volume: Could not autoload 
>>> puppet/provider/netapp_volume/netapp_volume: uninitialized constant 
>>> Puppet::Util::NetworkDevice on node actint-star-nactl01
>>>
>>
>
> This might be related to: *http://projects.puppetlabs.com/issues/14073*
>
> You can see the work around here: 
>
> https://github.com/puppetlabs/puppetlabs-registry/blob/master/lib/puppet/provider/registry_value/registry.rb#L6-9
>
> You can try exporting rubylib and if the problem is resolved before 
> updating your code:
>
> export RUBYLIB=path/to/netapp/lib
> puppet device ... 
>
> You have a line:
> require 'puppet/util/network_device/netapp/NaServer'
>  
> Where's NaServer?
>
>
>  My node config looks like:
>>
>>>  
>>> node 'actint-star-nactl01' {
>>>
>>>         # Testing qtree creation
>>>         netapp_qtree { 'q_puppet_test1':
>>>                 ensure => present,
>>>                 volume => 'v_puppet_test',
>>>                 require => Netapp_volume['v_puppet_test1']
>>>         }
>>>
>>>         netapp_volume { 'v_puppet_test1':
>>>                 ensure => present,
>>>                 initsize => "1t",
>>>                 aggregate => "aggr01",
>>>                 spaceres => "none",
>>>         }
>>> }
>>>
>>
>> The other challenge I seem to be hitting is that despite dropping 
>> resources from the manifest, they're still being queried as part of the 
>> puppet device run... I guess this could be due to the fact that Puppet is 
>> failing to download a catalogue at runtime, so is falling back to a cached 
>> version?
>>
>
> Puppet option --test is suppose to enable --no-usecacheonfailure. I would 
> suggest to make things easier, comment out apply_to_device in 
> the resource type, and start with puppet apply with a hard coded device 
> connectivity and skip the puppet device -> puppet master part until you 
> have completed most of the development.
>
> 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/-/gu-k2p51ikoJ.
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