Afternoon all
I've been posting about this subject in Puppet Users, 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
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?