Thanks Henrik.  However, changing my code to do the following still shows 
that warning:

--
class foo (
$nodetype = lookup('nodetype')
){
..blah..
}

# puppet apply 
--hiera_config=/root/test/puppetlabs/code/environments/production/hiera.yaml 
--modulepath /root/test/puppetlabs/code/environments/production/modules 
/root/test/puppetlabs/code/environments/production/manifests/site.pp
Warning: The function 'hiera_include' is deprecated in favor of using 
'lookup'. See https://puppet.com/docs/puppet/6.9/deprecated_language.html
   (file & line not available)
Notice: Compiled catalog for node1.test.org in environment production in 
0.03 seconds
Notice: /Stage[main]/Foo/File[/tmp/hello]/ensure: defined content as 
'{md5}87e44021400167b9764b362083d182a1'
Notice: Applied catalog in 0.03 seconds
--

Am I missing something?  


On Thursday, October 3, 2019 at 2:47:25 AM UTC-7, Henrik Lindberg wrote:
>
> On 2019-10-02 23:21, Jagga Soorma wrote: 
> > Looks like I figured it out.  I was passing the hiera variable 
> > incorrectly.  Changed from 
> > 
> > passing in to class 
> > String $nodetype, 
> > to 
> > $nodetype=hiera('nodetype') 
> > 
>
> Note that all functions starting with "hiera" are deprecated. Use the 
> "lookup()" function instead. Google for the docs how to replace 
> "hiera_include" with a call to "lookup()" and an iteration. 
>
> It is much better to use Automatic Parameter Lookup (APL) instead of 
> doing explicit lookups. Your problem was that they key "nodetype" should 
> have been "foo::nodetype" - that would make the correct binding for APL 
> to work. 
>
> Best, 
> - henrik 
>
> > that seems to have done the trick. 
> > 
> > On Wed, Oct 2, 2019 at 1:39 PM Jagga Soorma <[email protected] 
> <javascript:>> wrote: 
> >> 
> >> Hello, 
> >> 
> >> I am testing out hiera and trying to pass some hiera values to a 
> >> module so that it can do specific tasks for a given node which does 
> >> not seem to be working.  Here is my setup: 
> >> 
> >> -- 
> >> # puppet lookup 
> >> 
> --hiera_config=/root/test/puppetlabs/code/environments/production/hiera.yaml 
>
> >> nodetype 
> >> --- mgmt 
> >> 
> >> # puppet apply 
> --hiera_config=/root/test/puppetlabs/code/environments/production/hiera.yaml 
>
> >> --modulepath /root/test/puppetlabs/code/environments/production/modules 
> >> /root/test/puppetlabs/code/environments/production/manifests/site.pp 
> >> Warning: The function 'hiera_include' is deprecated in favor of using 
> >> 'lookup'. See 
> https://puppet.com/docs/puppet/6.9/deprecated_language.html 
> >>     (file & line not available) 
> >> Error: Evaluation Error: Error while evaluating a Function Call, 
> >> Class[Foo]: expects a value for parameter 'nodetype' (file: 
> >> /root/test/puppetlabs/code/environments/production/manifests/site.pp, 
> >> line: 2, column: 3) on node node1.test.org 
> >> 
> >> # cat /root/test/puppetlabs/code/environments/production/hiera.yaml | 
> >> grep -v '#' 
> >> --- 
> >> version: 5 
> >> defaults: 
> >>    datadir: data 
> >>    data_hash: yaml_data 
> >> hierarchy: 
> >>      - name: "Yaml heirarchy" 
> >>        data_hash: yaml_data 
> >>        paths: 
> >>          - "nodes/%{facts.networking.fqdn}.yaml" 
> >>          - "roles/common.yaml" 
> >>          - 'common.yaml' 
> >> 
> >> # cat 
> /root/test/puppetlabs/code/environments/production/data/nodes/node1.test.org.yaml
>  
>
> >> --- 
> >> nodetype: 'mgmt' 
> >> classes: 
> >>   - foo 
> >> 
> >> # cat 
> /root/test/puppetlabs/code/environments/production/manifests/site.pp 
> >> node default { 
> >>    hiera_include('classes') 
> >> } 
> >> 
> >> # cat 
> /root/test/puppetlabs/code/environments/production/modules/foo/manifests/init.pp
>  
>
> >> class foo ( 
> >>    String $nodetype, 
> >> ){ 
> >>    if $nodetype == 'mgmt' { 
> >>      file { "/tmp/hello": 
> >>        ensure => file, 
> >>        source => 'puppet:///modules/foo/hello.mgmt', 
> >>      } 
> >>    } 
> >>    elsif $nodetype == 'login' { 
> >>      file { '/tmp/hello': 
> >>        ensure => file, 
> >>        source => 'puppet:///modules/foo/hello.login', 
> >>      } 
> >>    } 
> >> } 
> >> -- 
> >> 
> >> Not sure what I am missing here, but any guidance would be helpful. 
> >> Also, let me know if there is a better way to tackle this. 
> >> 
> >> Thanks, 
> >> -J 
> > 
>
>
> -- 
>
> Visit my Blog "Puppet on the Edge" 
> http://puppet-on-the-edge.blogspot.se/ 
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/526e2c20-b9bb-4031-8eb7-4fceeb01def3%40googlegroups.com.

Reply via email to