Skip to content

[Deprecation] Legacy Parser Hiera Functions (hiera*) #331

Description

@silug

Summary

Legacy parser functions hiera, hiera_array, hiera_hash, and hiera_include are already hard-failing shims and still carry stale deprecation text targeting Puppet 6.0.0 removal.

Evidence

  • lib/puppet/parser/functions/hiera.rb:82 says removed in 6.0.0; implementation calls Error.is4x('hiera').
  • lib/puppet/parser/functions/hiera_array.rb:70 says removed in 6.0.0; implementation calls Error.is4x('hiera_array').
  • lib/puppet/parser/functions/hiera_hash.rb:80 says removed in 6.0.0; implementation calls Error.is4x('hiera_hash').
  • lib/puppet/parser/functions/hiera_include.rb:81 says removed in Puppet 6.0.0; implementation calls Error.is4x('hiera_include').

Proposed OpenVox 9 Change

  • Remove these parser function files and related loader registrations.
  • Keep migration guidance in docs/changelog only (lookup and include(lookup(...))).

Compatibility / Risk

  • Potential break for consumers depending on specific legacy error text.
  • Functional behavior is already failure; removal should have minimal semantic impact.

Implementation Notes

  • Validate no runtime requires still reference these files.
  • Update tests to stop asserting legacy “removed in 6.0.0” strings.
  • Update docs to remove stale references and keep modern lookup guidance.

Acceptance Criteria

  • No lib/puppet/parser/functions/hiera*.rb compatibility stubs remain.
  • Help/docs no longer include stale “removed in 6.0.0” messaging.
  • Test suite passes with updated expected errors.

Suggested Tests

  • Parser function load attempts confirm absent symbols or modern error path.
  • Docs/reference generation does not emit legacy hiera* parser docs.

Metadata

Metadata

Assignees

No one assigned

    Labels

    deprecationThis issue pertains to an item/topic which has been deprecated.

    Type

    No type
    No fields configured for issues without a type.

    Projects

    Status
    In progress

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions