Thank you, Eric. I am using Puppet version 4.9.4 on all nodes and this 
issue persists.

Best,

Jianwen

在 2017年3月15日星期三 UTC+8上午12:33:09,Eric Thompson写道:
>
>
>
> On Monday, March 13, 2017 at 11:26:41 AM UTC-7, Wei Jianwen wrote:
>>
>> Hi,
>>
>> After upgrading openproductionource Puppet to version 4.9, I followed the 
>> Hiera guide 
>> https://docs.puppet.com/puppet/4.9/hiera_hierarchy.html#most-hierarchies-interpolate-variables
>>  to 
>> feed some data to it. I found that for some node, 'puppet lookup' failed to 
>> interpolate variables in yaml setting, which lead to incorrect lookup 
>> results.
>>
>
> Hi Jianwen, 
>
> what version of puppet are you using?  This is a known issue in puppet 
> 4.9.0.  have you tried upgrading to puppet 4.9.3?
>  
>
>> Any suggestion is welcome.
>>
>>
>> Best,
>>
>> Jianwen
>>
>>
>> Steps to reproduce this issue
>>
>> 1. Install Puppet server on puppet. <http://puppet.sjtu.edu.cn>
>> pi.sjtu.edu.cn .
>> 2. Install Puppet agents on puppet.pi.sjtu.edu.cn, slurm1.pi.sjtu.edu.cn and 
>> mu05.pi.sjtu.edu.cn. Sign certificates for them.
>> 3. Delete global hiera setting `/etc/puppetlabs/code/hiera.yaml`.
>>
>> # rm -f /etc/puppetlabs/code/hiera.yaml
>> 4. Create an environment named `production`. 
>>
>> # mkdir 
>> -p /etc/puppetlabs/code/environments/production/{hieradata,maifests,modules}
>>
>> 5. Create the Hiera conf file for the production environment in 
>> `/etc/puppetlabs/code/environments/production/hiera.yaml`
>>
>> *---*
>> *version: 5*
>> *defaults:*
>> *  datadir: hieradata*
>> *  data_hash: yaml_data*
>>
>> *hierarchy:*
>> *  - name: "Per-node data"*
>> *    path: "nodes/%{trusted.certname}.yaml"*
>>
>> *  - name: "common"*
>> *    path: "common.yaml"*
>>
>> 6. Add common data in 
>> `/etc/puppetlabs/code/environments/production/hieradata/common.yaml`:
>>
>> ---
>> group: Compute Nodes
>>
>>
>> 7a. Add per-node hiera data for slurm1.pi.sjtu.edu.cn in 
>> `/etc/puppetlabs/code/environments/production/hieradata/nodes/slurm1.pi.sjtu.edu.cn.yaml`:
>>
>> ---
>>
>> group: SLURM
>>
>>
>> 7b. Add per-node hiera data for puppet.pi.sjtu.edu.cn in 
>> `/etc/puppetlabs/code/environments/production/hieradata/nodes/puppet.pi.sjtu.edu.cn.yaml`:
>>
>>
>> ---
>>
>> group: Puppet Server
>>
>>
>> 8a. Lookup group for puppet.pi.sjtu.edu.cn and successfully get "Puppet 
>> Server" stored in `puppet.pi.sjtu.edu.cn.yaml`.
>>
>> *# puppet lookup group --node puppet.pi.sjtu.edu.cn 
>> <http://puppet.pi.sjtu.edu.cn> --explain*
>>
>> *Searching for "lookup_options"*
>>
>> *  Global Data Provider (hiera configuration version 5)*
>>
>> *    No such key: "lookup_options"*
>>
>> *  Environment Data Provider (hiera configuration version 5)*
>>
>> *    Using configuration 
>> "/etc/puppetlabs/code/environments/production/hiera.yaml"*
>>
>> *    Merge strategy hash*
>>
>> *      Hierarchy entry "Per-node data"*
>>
>> *        Path 
>> "/etc/puppetlabs/code/environments/production/hieradata/nodes/puppet.pi.sjtu.edu.cn.yaml"*
>>
>> *          Original path: "nodes/%{trusted.certname}.yaml"*
>>
>> *          No such key: "lookup_options"*
>>
>> *      Hierarchy entry "common"*
>>
>> *        Path 
>> "/etc/puppetlabs/code/environments/production/hieradata/common.yaml"*
>>
>> *          Original path: "common.yaml"*
>>
>> *          No such key: "lookup_options"*
>>
>> *Searching for "group"*
>>
>> *  Global Data Provider (hiera configuration version 5)*
>>
>> *    No such key: "group"*
>>
>> *  Environment Data Provider (hiera configuration version 5)*
>>
>> *    Using configuration 
>> "/etc/puppetlabs/code/environments/production/hiera.yaml"*
>>
>> *    Hierarchy entry "Per-node data"*
>>
>> *      Path 
>> "/etc/puppetlabs/code/environments/production/hieradata/nodes/puppet.pi.sjtu.edu.cn.yaml"*
>>
>> *        Original path: "nodes/%{trusted.certname}.yaml"*
>>
>> *        Found key: "group" value: "Puppet Server"*
>>
>> 8b. Lookup group for puppet.pi.sjtu.edu.cn and successfully get "Compute 
>> Nodes" stored in `common.yaml`.
>>
>> *# puppet lookup group --node mu05.pi.sjtu.edu.cn 
>> <http://mu05.pi.sjtu.edu.cn> --explain*
>>
>> *Searching for "lookup_options"*
>>
>> *  Global Data Provider (hiera configuration version 5)*
>>
>> *    No such key: "lookup_options"*
>>
>> *  Environment Data Provider (hiera configuration version 5)*
>>
>> *    Using configuration 
>> "/etc/puppetlabs/code/environments/production/hiera.yaml"*
>>
>> *    Merge strategy hash*
>>
>> *      Hierarchy entry "Per-node data"*
>>
>> *        Path 
>> "/etc/puppetlabs/code/environments/production/hieradata/nodes/mu05.pi.sjtu.edu.cn.yaml"*
>>
>> *          Original path: "nodes/%{trusted.certname}.yaml"*
>>
>> *          Path not found*
>>
>> *      Hierarchy entry "common"*
>>
>> *        Path 
>> "/etc/puppetlabs/code/environments/production/hieradata/common.yaml"*
>>
>> *          Original path: "common.yaml"*
>>
>> *          No such key: "lookup_options"*
>>
>> *Searching for "group"*
>>
>> *  Global Data Provider (hiera configuration version 5)*
>>
>> *    No such key: "group"*
>>
>> *  Environment Data Provider (hiera configuration version 5)*
>>
>> *    Using configuration 
>> "/etc/puppetlabs/code/environments/production/hiera.yaml"*
>>
>> *    Hierarchy entry "Per-node data"*
>>
>> *      Path 
>> "/etc/puppetlabs/code/environments/production/hieradata/nodes/mu05.pi.sjtu.edu.cn.yaml"*
>>
>> *        Original path: "nodes/%{trusted.certname}.yaml"*
>>
>> *        Path not found*
>>
>> *    Hierarchy entry "common"*
>>
>> *      Path 
>> "/etc/puppetlabs/code/environments/production/hieradata/common.yaml"*
>>
>> *        Original path: "common.yaml"*
>>
>> *        Found key: "group" value: "Compute Nodes"*
>>
>>
>> 8c. Lookup group for puppet.pi.sjtu.edu.cn and fail to interpolate 
>> %{trusted.certname} which results in incorrect lookup fallback to 
>> `common.yaml`. It is expected to use `slurm1.pi.sjtu.edu.cn.yaml` 
>> instead thus the correct result should be "SLURM", not "Compute Nodes".
>>
>> *# puppet lookup group --node slurm1.pi.sjtu.edu.cn 
>> <http://slurm1.pi.sjtu.edu.cn> --explain*
>>
>> *Searching for "lookup_options"*
>>
>> *  Global Data Provider (hiera configuration version 5)*
>>
>> *    No such key: "lookup_options"*
>>
>> *  Environment Data Provider (hiera configuration version 5)*
>>
>> *    Using configuration 
>> "/etc/puppetlabs/code/environments/production/hiera.yaml"*
>>
>> *    Merge strategy hash*
>>
>> *      Hierarchy entry "Per-node data"*
>>
>> *        Path 
>> "/etc/puppetlabs/code/environments/production/hieradata/nodes/.yaml"*
>>
>> *          Original path: "nodes/%{trusted.certname}.yaml"*
>>
>> *          Path not found*
>>
>> *      Hierarchy entry "common"*
>>
>> *        Path 
>> "/etc/puppetlabs/code/environments/production/hieradata/common.yaml"*
>>
>> *          Original path: "common.yaml"*
>>
>> *          No such key: "lookup_options"*
>>
>> *Searching for "group"*
>>
>> *  Global Data Provider (hiera configuration version 5)*
>>
>> *    No such key: "group"*
>>
>> *  Environment Data Provider (hiera configuration version 5)*
>>
>> *    Using configuration 
>> "/etc/puppetlabs/code/environments/production/hiera.yaml"*
>>
>> *    Hierarchy entry "Per-node data"*
>>
>> *      Path 
>> "/etc/puppetlabs/code/environments/production/hieradata/nodes/.yaml"*
>>
>> *        Original path: "nodes/%{trusted.certname}.yaml"*
>>
>> *        Path not found*
>>
>> *    Hierarchy entry "common"*
>>
>> *      Path 
>> "/etc/puppetlabs/code/environments/production/hieradata/common.yaml"*
>>
>> *        Original path: "common.yaml"*
>>
>> *        Found key: "group" value: "Compute Nodes"*
>>
>>
>>

-- 
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/53687fb0-7bb3-4eac-be99-84b4b5357c1c%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to