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.
