Uploaded image for project: 'Puppet'
  1. Puppet
  2. PUP-7229

Backward-incompatible change from 4.8 and 4.9: deep merged hiera hashes and arrays

    XMLWordPrintable

Details

    • Bug
    • Status: Closed
    • Normal
    • Resolution: Duplicate
    • PUP 4.9.1
    • None
    • None
    • None
    • Needs Assessment

    Description

      Basically, `hiera_hash` and `hiera_array` with deep merge (using a global hiera.yaml FWIW) stopped working correctly on our puppetserver when the puppet-agent package was upgraded. I know we're using some deprecated patterns, but the breakage in the minor version update was unexpected.

      Please see https://gist.github.com/kpaulisse/b8a8f854988032eceae3e53f242d6309 for simple steps to reproduce. This also manifests itself in a number of other odd ways, such as `hiera_include` taking several seconds on the newer version.

      {{-------------
      WORKING
      -------------
      #ii  puppet-agent                     1.8.3-1jessie                amd64        The Puppet Agent package contains all of the elements needed to run puppet, including ruby, facter, hiera and mcollective.
      #ii  puppetserver                     2.7.2-1puppetlabs1           all          Puppet Labs puppetserver
       
      Notice: /Stage[main]/Main/Node[default]/Notify[{
        "middle": {
          "groups": {
            "foo": {
              "gid": 500
            }
          },
          "users": {
            "kevin": {
              "uid": 500
            }
          }
        }
      }]/message: current_value absent, should be {
        "middle": {
          "groups": {
            "foo": {
              "gid": 500
            }
          },
          "users": {
            "kevin": {
              "uid": 500
            }
          }
        }
      } (noop)
      

      -------------
      NOT WORKING
      -------------
      #ii  puppet-agent                     1.9.1-1jessie                amd64        The Puppet Agent package contains all of the elements needed to run puppet, including ruby, facter, hiera and mcollective.
      #ii  puppetserver                     2.7.2-1puppetlabs1           all          Puppet Labs puppetserver
       
      Notice: /Stage[main]/Main/Node[default]/Notify[{
        "middle": {
          "users": {
            "kevin": {
              "uid": 500
            }
          }
        }
      }]/message: current_value absent, should be {
        "middle": {
          "users": {
            "kevin": {
              "uid": 500
            }
          }
        }
      } (noop)
      }}
      

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              kpaulisse Kevin Paulisse
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Zendesk Support