How to set classes in common.yaml in puppet 5.1?

asked 2017-09-11 20:45:23 -0500

cloudexceller gravatar image

Hello, I'm converting from puppet 2.7 to 5.1 and have some problems.

I love hiera and I'm using it for whatever I can but I can't seem to figure it out how to use new lookup function.

In the old site.pp I had:

hiera_include('classes')

and I converted that to:

lookup('classes', {merge => unique}).include

and my old common.yaml looks like:

 --
 classes:
  - puppet

However this doesn't work in puppet 5.1 anymore.

root@ip-111-22-33-44:~# /opt/puppetlabs/bin/puppet apply /etc/puppetlabs/code/environments/development/manifests/site.pp --environment=development --verbose --noop
Notice: Compiled catalog for ip-111-22-33-44..localdomain.com in environment development in 0.03 seconds
Info: Applying configuration version '1505179781'
Notice: Applied catalog in 0.02 seconds

I tried to find out what's going on with puppet lookup command but it complains about missing 'classes' key (which is defined):

# /opt/puppetlabs/bin/puppet lookup classes --merge unique --explain 
Searching for "classes"
  Global Data Provider (hiera configuration version 5)
    No such key: "classes"
Function lookup() did not find a value for the name 'classes'

# /opt/puppetlabs/bin/puppet lookup classes --merge unique --environment=development --explain 
Searching for "classes"
  Global Data Provider (hiera configuration version 5)
    No such key: "classes"
Function lookup() did not find a value for the name 'classes'

What am I doing wrong here?

Any advice really appreciated, Thank you

edit retag flag offensive close merge delete