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

puppet 4.9.0 breaks hiera-eyaml

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: PUP 4.9.0, PUP 4.9.1
    • Fix Version/s: PUP 4.9.2
    • Component/s: None
    • Labels:
      None
    • Environment:

      PC1 - latest puppet (Puppet: 4.9.0, Hiera: 3.3.0, OS: Centos7)

    • Template:
    • Team:
      Puppet Developer Experience
    • Story Points:
      1
    • Sprint:
      PDE 2017-02-08
    • Release Notes:
      Bug Fix
    • Release Notes Summary:
      Hide
      A regression in the handling of hiera 3 custom backends led to error "Unrecognized value for request 'merge' parameter: 'unconstrained_deep'" for some users when using the eyaml hiera 3 backend. The 'unconstrained_deep' is a backend internal concern that ended up missing in the hiera 5 implementation. This is now fixed.
      Show
      A regression in the handling of hiera 3 custom backends led to error "Unrecognized value for request 'merge' parameter: 'unconstrained_deep'" for some users when using the eyaml hiera 3 backend. The 'unconstrained_deep' is a backend internal concern that ended up missing in the hiera 5 implementation. This is now fixed.
    • QA Risk Assessment:
      No Action
    • QA Risk Assessment Reason:
      covered by unit tests

      Description

      Hello,
      when having hiera-eyaml installed and enabled (encrypted datastore), puppet 4.8.1 works like a charm on puppet 4.9.0 I get this error:

      Error message:

      Error: Evaluation Error: Error while evaluating a Resource Statement, Lookup of key 'puppetserver::version' failed: Unrecognized value for request 'merge' parameter: 'unconstrained_deep' at /tmp/muh.pp:1:1 on node SERVER
      

      Note: alreay opened a bug in HIERA https://tickets.puppetlabs.com/browse/HI-552

      Environment:

      [root@server]# puppet -V
      4.9.0
      [root@server]# hiera -v
      3.3.0
      

      Hiera config:

      ---
      :backends:
        - eyaml
        - yaml
       
      :hierarchy:
        - "certname/%{::clientcert}"
        - "cluster/%{::cluster}"
        - "role/%{::role}"
        - "topic/%{::topic}"
        - "location/%{::location}"
        - "common"
       
      :yaml:
        :datadir: /opt/provision/hiera
       
      :eyaml:
        :datadir: /opt/provision/hiera
        :pkcs7_private_key: /opt/provision/hiera_keys/private_key.pkcs7.pem
        :pkcs7_public_key: /opt/provision/hiera_keys/public_key.pkcs7.pem
        :extension: 'yaml'
       
      # options are native, deep, deeper
      :merge_behavior: deeper
      :deep_merge_options:
        :knockout_prefix: '--'
      

      Gems:

      [root@SERVER]# /opt/puppetlabs/puppet/bin/gem list
       
      *** LOCAL GEMS ***
       
      bigdecimal (1.2.4)
      deep_merge (1.0.1)
      facter (3.6.0)
      fast_gettext (1.1.0)
      gettext (3.2.2)
      gettext-setup (0.10)
      hiera (3.3.0)
      hiera-eyaml (2.1.0)
      highline (1.6.21)
      hocon (1.1.3)
      io-console (0.4.3)
      json (1.8.1)
      locale (2.1.2)
      minitest (4.7.5)
      net-ssh (2.9.2)
      psych (2.0.5)
      puppet (4.9.0)
      rake (10.1.0)
      rdoc (4.1.0)
      semantic_puppet (0.1.2)
      stomp (1.3.3)
      test-unit (2.1.9.0)
      text (1.3.1)
      trollop (2.1.2)
      

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                elconas Robert Heinzmann
              • Votes:
                2 Vote for this issue
                Watchers:
                10 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Zendesk Support