问题标签 [facter]
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.
puppet - 我想执行我在 facter 中实现的自定义事实
我想执行它,当我给facter --puppet
. 此信息不会出现在事实日志中。告诉我如何从事实中获取信息
puppet - Puppet 将 Consul 令牌作为事实传递给 Hiera
我正在将我的一个无主模块转换为使用 Consul。如何使用外部事实传入 Consul 主机和 Consul 令牌?这些在每个环境中都会发生变化,并且不受 Puppet 管理。我正在使用 Puppet 模块“lynxman-hiera_consul”、“0.1.2”。请注意,我必须将 hiera.yaml 降级到版本 3 才能与此模块一起使用。
在我的 Puppet masterless 运行之前,我导出了一些事实
export FACTER_CONSULHOST=consul-randomid..us-west-2.elb.amazonaws.com
导出 FACTER_MYTOKEN=一些令牌
我可以测试这是否适用
事实mytoken;傀儡事实--debug|grep mytoken
facter consulhost;puppet 事实 --debug|grep consulhost
我的 hiera.yaml 看起来像这样Hiera.yaml Gist。如果我用字符串替换事实插值,这很好用。
基本问题是第 15 行的事实插值
:token: "%{facts.mytoken}"
yaml - Puppet facter,如何从 yaml 文件中设置自定义事实?
我希望能够为 puppet 设置许多不同的自定义事实。看起来有一种方法可以在 yaml 文件中列出所有这些,然后将它们加载进去,但是文档没有确切的命令来做到这一点。
如何从 yml 文件中设置自定义事实?如果我不能这样做,是否有任何其他方法可以设置事实而无需构建所有通过Facter.add
函数运行的自定义 ruby 脚本?
puppet - 在所有 puppet 节点上执行命令
我想在我的所有节点中执行下面的简单命令,该命令返回我是否可以使用 puppet factor 使用符号链接。
'ls -l | grep lrw | grep 数据'
如何运行此命令并从一个客户端收集结果?
我没有 puppet master,只在我的所有客户端机器上安装了 puppet 节点。
scripting - 未能将论据传递给木偶适用于事实
我正在尝试将 facter 参数传递给puppet apply
. 这是我尝试过的:
在我的代码中,我有:
...
我收到此消息错误:
有人对此有任何想法吗?
更新
我得到这个错误
puppet - 将配置应用于 puppet + hiera 中的服务器组
需要一些帮助思考。
我有 200 台服务器,必须将特定配置应用于 100 台。
它们唯一的共同点是名称前缀:它们都以zmb-
hiera.yaml
我应该改变:hierarchy:
什么?
木偶版:4.10.10
我们在这里需要更多信息,以了解您要发送到 100 个节点的数据是什么,以及为什么您认为这是一个数据问题,即需要在 Hiera 而不是 Puppet 清单中解决的问题。-亚历克斯哈维
一个非常简单的例子来让事情顺利进行:
直到昨天所有节点都拥有相同的 NTP 服务器,10.1.1.1
这是由类设置的ntp
,它从common
common.yaml
ntp/init.pp
现在,今天,我想将 IP 更改10.1.1.99
为 100 台服务器,它们的主机名都以zmb-
我的问题是:如何?
rspec - 测试事实事实时出现 rspec/mocha 错误
我写了一个非常简单的事实。它看起来像这样:
我现在想测试这个事实,所以我为它写了一个规范测试
当我运行测试时,我得到一个非常奇怪的错误:
我在这里做错了什么?
顺便说一句,此代码在这里:https ://github.com/jaxxstorm/puppet-kubeadm/blob/version_facts/spec/unit/facter/kubectl_spec.rb
puppet - 将因子注入文件内容 - 没有将哈希隐式转换为字符串
我想从facter <prop>
文件内容中注入一些值。
它适用于$fqdn
因为facter fqdn
返回字符串。
但是,它不适用于哈希对象 ( facter os
):
并在运行时收到此错误消息puppet agent -t
:
错误:无法应用目录:文件[/tmp/README.md]上的参数内容失败:值{“architecture”=>“x86_64”,“family”=>“RedHat”,“hardware”=>”的Munging失败x86_64", "name"=>"CentOS", "release"=>{"full"=>"7.4.1708", "major"=>"7", "minor"=>"4"}, "selinux "=>{"config_mode"=>"enforcing", "config_policy"=>"targeted", "current_mode"=>"enforcing", "enabled"=>true, "enforced"=>true, "policy_version"=>类内容中的“28”}}:没有将哈希隐式转换为字符串(文件:/etc/puppetlabs/code/environments/production/manifests/site.pp,行:2)
如何将哈希转换为pp
文件内的字符串?
ruby - Puppet - 创建嵌套的自定义事实
我已经成功创建了一个 .rb 自定义事实,它解析一个内置事实以创建一个新值,但是我现在正尝试将它用作Puppet 的嵌套自定义事实。
我要创建的层次结构类似于内置事实,例如运行 Facter(或 Facter -p)将显示:
木偶清单中的用法是:
到目前为止,我已经尝试过领先的语法,例如:
...然而,许多其他变体无法创建嵌套的自定义事实数组。我已经用谷歌搜索了一段时间,如果有人知道是否有可能,我将不胜感激。
我确实发现可以使用 /etc/puppetlabs/facter/facts.d/ 目录中的 .yaml 文件中的数组来创建嵌套事实,如下所示,但是这会设置 FIXED 值并且不会处理我在自定义中需要的逻辑事实。
提前致谢。
ruby - 将字符串数组从 Facter 获取到 Puppet
在我正在处理的模块中,我需要检查机器上是否存在特定用户。这个想法是创建一个包含所有用户数组的自定义事实。在模块中,它应该遍历数组并检查特定用户是否是数组的一部分。
我的自定义事实:
事实的输出是这样的字符串: ["user1", "user2", "user3"]
因为它只是一个字符串而不是数组,所以我无法在我的 puppet 模块中遍历它。
然后我尝试了
但是现在,每个用户的用户名后面都包含一个逗号。
您有一个可行且更好的解决方案的想法吗?