首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >木偶查找无法找到hiera键值

木偶查找无法找到hiera键值
EN

Stack Overflow用户
提问于 2019-01-16 11:59:24
回答 1查看 2.4K关注 0票数 2

在我的木偶查找调用(使用hiera的基本测试)中,我看到了这个错误:

代码语言:javascript
复制
puppet lookup --explain foo

Searching for "lookup_options"
  Global Data Provider (hiera configuration version 5)
    No such key: "lookup_options"
Searching for "foo"
  Global Data Provider (hiera configuration version 5)
    No such key: "foo"
Function lookup() did not find a value for the name 'foo'

尝试直接的hiera查找是有效的:

代码语言:javascript
复制
hiera -d foo
DEBUG: 2019-01-16 11:53:39 +0000: Hiera YAML backend starting
DEBUG: 2019-01-16 11:53:39 +0000: Looking up foo in YAML backend
DEBUG: 2019-01-16 11:53:39 +0000: Looking for data source common
DEBUG: 2019-01-16 11:53:39 +0000: Found foo in common
bar

我的hiera.yaml文件(位于/etc中):

代码语言:javascript
复制
---
version: 5
hierarchy:
  - name: Common
    path: common.yaml
defaults:
  data_hash: yaml_data
  datadir: data

我的common.yaml文件(位于/var/lib/hiera中):

代码语言:javascript
复制
---
foo: bar

有谁能解释我为什么会看到这个错误(对木偶来说很新).

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-16 14:10:13

这是一个文件位置问题。

我有:

代码语言:javascript
复制
▶ cat spec/fixtures/hiera/hiera.yaml 
---
version: 5
hierarchy:
  - name: Common
    path: common.yaml
defaults:
  data_hash: yaml_data
  datadir: data

结构:

代码语言:javascript
复制
▶ tree spec/fixtures/hiera
spec/fixtures/hiera
├── data
│   └── common.yaml
└── hiera.yaml

命令行:

代码语言:javascript
复制
▶ puppet lookup --hiera_config=spec/fixtures/hiera/hiera.yaml foo 
--- bar

注意,在hiera.yaml中引用的defaults.datadir目录必须相对于您的hiera.yaml所在的目录。参考

datadir -保存数据文件的目录;如果设置默认值,可以省略该目录。 这个路径相对于erra.yaml的目录:如果配置文件位于/etc/puppetlabs/code/environments/production/hiera.yaml,而datadir设置为data,则数据目录的完整路径为/etc/puppetlabs/code/environments/production/data. 在全局层中,可以选择将datadir设置为绝对路径;在其他层中,它必须始终是相对的。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54216626

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档