On Wed, Nov 7, 2012 at 8:43 AM, Gavin Williams <[email protected]> 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 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