(sorry for the repost…had to remove my domain name from my post)…
Hi,
I've got a smart class parameter called "instances" of type yaml. It looks
like this for a specific host:
instances:
- port: 5487
device: "nfs02:/vol/pg007"
Here are my classes:
class postgres::server($instances) {
create_resources('postgres::server_instance', $instances)
}
class postgres::server_instance($instance) {
$port = $instance['port']
$device = $instance['device']
notify{ $port:}
notify{ $device:}
}
When running on the agent, I get:
Error: Could not retrieve catalog from remote server: Error 400 on SERVER:
can't convert nil into Hash at
/etc/puppet/modules/postgres/manifests/server.pp:23 on
node mhost.example.com
As a check, I tried notify{$instances:} and that spits out a string version
of the above yaml that looks like: devicenfs02/vol/pg007port5487. So it
gets passed, but create_resources doesn't like what it sees I suppose. Do
I need to convert the smart class value to a hash first?
Puppet master and foreman details:
CentOS 6.4
Foreman 1.2.2
Puppet 3.1.1
PuppetDB 1.5.2
The client/agent has puppet 3.3.1 and ruby 1.9.3.