puppet-zabbix icon indicating copy to clipboard operation
puppet-zabbix copied to clipboard

Drop deprecated hiera_hash()

Open XMol opened this issue 3 years ago • 2 comments

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.

XMol avatar Jul 26 '21 08:07 XMol

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.

alexjfisher avatar Jul 26 '21 09:07 alexjfisher

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.

XMol avatar Jul 26 '21 09:07 XMol