问题标签 [hiera]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
yaml - 用 hiera 解释嵌套的 yaml?
我看到了很多与此相关的问题,但与我的要求不完全一致,所以请帮助我解决这个问题。在我的 yaml 文件中,我有一个层次结构,例如
然后在应用程序参数中
问号是我用来运行到下一个层次结构的任何东西,我不确定我的分隔符应该是什么?我在我们的代码中看到了这一点,但找不到如何将它加载/调用到 hiera 的示例
我会用$application = hiera('application::params::api::app1::id')
吗?
yaml - Puppet 是否在评估我的 YAML 数据中的变量?
我在 hiera 数据的 yaml 文件中有这个:
我尝试wsgi-keystone.conf
在我的木偶清单中创建一个我的文件,如下所示:
但这会导致文件看起来像这样......
上述文件有语法错误,httpd 不会重新启动。我应该如何将数据放入我的 YAML 文件中?我需要逃避%
's吗?
yaml - 需要访问 hiera.yaml 中的值
我需要帮助来访问 hiera.yaml 文件中的 hiera 变量值。假设我有一个包含以下内容的 hiera.yaml 文件:
我的意思是我想访问/替换 hiera 本身的 variable1 值。我们怎么能做到这一点?
谢谢, 桑吉夫
puppet - 加密的 Hiera eyaml 变量在主节点上解密,但不在节点上
我刚刚在我的 Puppet 3.8 开源环境中设置了 hiera-eyaml。
如果我正在跑步:
我可以看到我的模板配置文件正在正确生成:
但是当我在实际节点(funky_hostname.mydomain.com)上运行它时,我得到了原始的加密字符串:
Hiera解密不是在人偶大师那边发生吗?
hash - 如何过滤木偶清单中的哈希?
请你帮助我好吗。我在 puppet manifest 中从 hiera 获取 dict,然后尝试过滤它们并将 python 脚本作为 args 传递。但不知道该怎么做。
我的希拉:
我的木偶清单(我从 hiera 中的值获取哈希):
结果我有:
然后我想从这个列表中只选择值:
我正在尝试使用地图功能来做到这一点:
并得到错误:
我怎么解决这个问题?我还需要转移到另一个变量 'testname2' 'testhost2' 'test@url.com2' 并将其传递给 exec 命令资源。
谢谢!
puppet - 从 Puppet 自定义类型访问层次范围
我正在构建一个自定义类型,但无法从defaultto块访问hiera范围
但我明白了
我实际上正在使用 Puppet 3.8 和未来的解析器
作为一种解决方法,我们使用
这很好用,但是my_type
对象应该在目录中的任何地方实例化,并且myparam
在所有实例中都应该是相同的。所以不需要多个默认值声明。
另一种方法是放置
在节点清单中。这也可以解决问题,但是我们正在开发一个模块,而主要清单超出了我们的范围
puppet - Hiera:无法将 String 转换为 Hash,可能是什么原因?
我编写了一个模块,用于rpm -e $package_name --nodeps
删除没有依赖关系的单个 RPM。
我正在使用 Hiera,我已经hiera_include("classes", [])
在 Puppet 服务器的site.pp
文件中设置了。
该模块包括两个配置文件,第一个是init.pp
:
并且remove_rpm.pp
:
相关的 hiera 文件如下所示:
我也试过:
当我puppet agent -t
在受影响的客户端上运行时,我收到以下错误:
我究竟做错了什么?
puppet - 木偶从哈希中获取键的特定值
我的 hiera 条目 -
我想在我的 puppet 模块中获取 datadir 的值。请让我知道我需要使用什么语法来获取此值。我尝试了以下方法,但它不起作用。
提前致谢
couchdb - 应用空类的 Puppet 客户端(使用默认参数)
问题: 在我的环境中运行 puppet 代理的服务器正在接收空的 [classes](没有参数),而不是存储在其 Hiera 文档中的预期参数。这会导致 puppet 模块使用空参数运行,进而导致它们使用默认值而不是实际的预期值成功运行(这显然是不希望的和破坏性的行为)。
是什么导致问题触发? 我们的 Hiera 基于 CouchDB 文档数据库(稍后我将进一步扩展)。当 CouchDB 服务关闭时,puppet 代理(在向 puppet-masters 询问新目录时)收到空的 [classes](不带参数),而不是存储在其 Hiera 文档中的预期参数。
我的环境架构:
- NetworkLoadBalancer (Cisco Ace) 下的 4 个 Puppet 主服务器
- 1个傀儡CA服务器
- NetworkLoadBalancer (Cisco Ace) 后面的 2 个 Hiera 服务器 (couchDB 1.6.0)
- 所有服务器操作系统都是 RedHat 6.3
- 木偶版 3.7.4
- Puppet master 使用Http_Backend v1.0.1与 hiera 服务器通信
- 使用 puppetDB 和 postgress sql 来保存服务器库存
我们如何模拟这个问题?
通过停止 Hiera 服务器上的 CouchDB 服务 - hiera01(只是两者之一),我们能够触发问题。
puppet-masters 日志显示已对 hiera01 服务器打开超过 20 分钟的会话的“连接被拒绝...”错误
停止 couchdb 服务时会话未关闭。
新请求被路由到 hiera02。
客户端服务器,他们的会话通过 hiera01 从 master 获取目录 - 获得了他们的类的默认参数!
Puppet master的主配置文件
Hiera.yaml(主服务器)
笔记
- 环境是产品,更新版本几乎是不可能的。
- hieradata 目录为空(不使用 yaml 后端)
谢谢 !
PS:由于我们运行的是一个与互联网断开连接的机密环境,因此上传日志文件是一个非常复杂的过程。
yaml - Puppet hiera 没有正确继承(Puppet 版本 4.3.2)
我的/etc/puppetlabs/code
文件夹结构:
然后,对于我的 YAML 文件:
然而,当我运行 hiera 时,我得到以下信息:
我hieradata/hostname/client.yaml
应该覆盖common.yaml
,导致hiera
命令在提交时返回不同的东西::hostname=client
。
我究竟做错了什么?