Am 17.06.2020 um 13:10 schrieb Helmut Schneider:
helmut@puppet:~$ sudo puppet lookup --node mynode roles
helmut@puppet:~$
Good because does not exist.
class common inherits config {
include $classes
if ($roles) {
keys($roles).each |String $role| { <== line9
[...]
Error: Could not retrieve catalog from remote server: Error 500 on
SERVER: Server Error: Evaluation Error: Error while evaluating a
Function Call, 'keys' parameter 'hsh' expects a Hash value, got Array
(file: /etc/puppetlabs/code/modules/common/manifests/init.pp, line: 9,
column: 5) on node mynode
Why? $roles does not exists so why is keys($roles).each |String $role| {
executed?
I forgot:
$roles = lookup({
"name" => "roles",
"merge" => {
"strategy" => "deep",
"knockout_prefix" => "--",
# "sort_merged_arrays" => true,
},
# "default_value" => [],
"default_value" => undef,
})
I had "default_value" => [] active. Anyway, I thought that if
($variable) is an empty array it also results in 'false'. Can I check if
an array has elements?
--
You received this message because you are subscribed to the Google Groups "Puppet
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/puppet-users/rccv9s%241ugk%241%40ciao.gmane.io.