voxpupuli / puppet-zabbix

Puppet module for creating and maintaining zabbix components with puppet.

Home Page:https://forge.puppet.com/puppet/zabbix

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Drop deprecated hiera_hash()

XMol opened this issue · 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.

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.