puppet-zabbix
puppet-zabbix copied to clipboard
Drop deprecated hiera_hash()
Affected Puppet, Ruby, OS and module versions/distributions
- Puppet: 5.5+
- Ruby: any
- Distribution: any
- Module version: 7.0.0+
How to reproduce (e.g Puppet code you use)
include zabbix::userparameter
What are you seeing
A warning logged by the Puppet master:
Warning: The function 'hiera_hash' is deprecated in favor of using 'lookup'. See https://puppet.com/docs/puppet/5.5/deprecated_language.html\n (file & line not available)
What behaviour did you expect instead
No warning.
Any additional information you'd like to impart
Since this module already demands Puppet to be of version 5.5+ since release '7.0.0', the hiera_hash()
in line 34 of userparameter.pp should be replaced by lookup()
. E.g. like this:
$_data = lookup('zabbix::userparameter::data', Hash[String[1], Hash[String[1], Scalar]], undef, {})
create_resources('zabbix::userparameters', $_data)
Whether you want to apply any merge behaviour here might be debatable. But in any case, sysadmins may override that in Hiera if needed.
It looks as if hiera_hash
was used specifically to get merge behaviour. Since this can now be set in module hiera data lookup_options
, I don't think we need to have an explicit call to lookup
.
True, lookup()
isn't strictly necessary. Though that would be the easiest fix. So far there is no hiera.yaml
yet, thus this would be the first use case for it and pre-defined lookup behaviour for this module.