问题标签 [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.

0 投票
2 回答
229 浏览

ruby - greping 或过滤 ruby​​ 中的 linux 输出以获取自定义事实

我是 ruby​​ 的初学者,我一直在为此大吃一惊:我需要“将 ethtool 输出拆分为不同的变量,

这就是我所做的:

这是输出(仅用于一个接口):

我只需要驱动程序和固件信息,我尝试将带有“或”的 grep 添加到命令执行中,如下所示:

但它不起作用,它打印一个空行。

最后,我想做的是:

你能给我一个关于如何继续的提示吗?

在此先感谢您的帮助!

0 投票
0 回答
606 浏览

ruby - 在没有互联网的 cent OS 7.5 上安装 Puppet 代理 3.8 时出错

我在 cent OS 7.5 上安装 puppet agent 3.8.7。操作系统安装在新 VM 上,但未连接到 Internet。我创建了一个指向纸浆存储库的 yum 存储库。以下是我的 puppet yum repo 的内容 -

当我运行“yum install puppet”时,出现以下错误。我安装了 ruby​​ 2.0,但 puppet 包需要 ruby​​ 1.8。当我查看 puppetlabs 网站时,他们提到 puppet 支持 ruby​​ 2.0。那么,鉴于我的服务器位于内部域且未连接到 Internet,我现在该如何进行。以下是我在执行 'yum install puppet' 时遇到的错误 -

0 投票
1 回答
2714 浏览

variables - 在 Puppet 中,如何在 if 子句中使用定义的节点变量

在木偶类中,我应该如何测试节点中是否设置了变量?我使用用户可以访问该页面的 VM 名称(如 server1)和域名(如 example.org)。“example.org”不会通过事实传达,所以我需要通过类参数传递它。我想出了这种方法来在节点块中定义变量并在我的测试类中使用它来进行设置。

[...]

[...]

但是现在我想添加一个条件,如果$domainname没有设置,那么$hostname应该使用事实来代替它。

但现在我每次都会收到这样的错误:

错误:无法从远程服务器检索目录:服务器上的错误 500:服务器错误:“域名”处的语法错误

我应该怎么做?

0 投票
2 回答
79 浏览

python - 如何从 python 列表中生成具有给定值的键:值列表

我必须解决以下任务。首先,我使用 pyscard(与智能卡交互的 python 模块)来查询连接到主机的智能卡读卡器。这很好用,并为我提供了已连接读者的列表。

为了使这个列表可以通过facter 提供给puppet,我需要key:value 形式的列表,我可以使用json.dumps(list) 进行转换并通过自定义事实使用它。

实际问题是:如何将键(0..8)添加到 pyscard 列表中的给定值。

最后,输出应该类似于 Reader 0: REINER SCT cyberJack ecom_a (0856136421) 00 00

提前致谢

0 投票
0 回答
95 浏览

ruby - 通知模块从 puppet 运行中重建事实

假设我在 puppet 中有一个创建自定义事实的模块。但要做到这一点,它需要package_a安装一个包。根据这个包是否存在,它将决定生成事实。

此软件包作为配置文件中 puppet 运行的一部分安装。因此,最初不会从模块生成事实。

一旦安装了用于生成自定义事实的包,有没有办法通知 puppet 收集这些事实,以便可以在以下配置文件中使用它?

添加自定义事实的模块:

0 投票
1 回答
214 浏览

puppet - 使用 Puppet 配置远程规则集

我正在尝试自动化 Prometheusnode_exporter和我的 Prometheus 服务器。对于node_exporter我已经编写了一个模块来安装所有需要的包,设置$::ipaddress基于facter等等。

现在我想确保从应用节点收集的信息($hostname, $job_name, [...])被导出到相应的远程 Prometheus 配置文件中,但我希望这一步异步完成,例如使用木偶代理随后在 Prometheus 服务器上运行。

我试图将类定向到puppetlabs/logrotate模块,这基本上是在执行以下操作:

日志旋转/init.pp

logrotate/rules.pp

logrotate/rule.pp

缩短了我的ni_trending(node_exporter)和ni_prometheus模块目前看起来非常相似logrotate

ni_trending/init.pp

ni_trending/prometheus.pp

ni_prometheus/nodeexporterrules.pp

ni_prometheus/nodeexporterrule.pp

但是,当我在 Prometheus Master 上本地应用时,这只会起作用node_exporter- 而不是在外部机器包含ni_trending::prometheus该类的情况下,这对我来说很有意义 - 因为它显然感觉缺少了一些东西。:-) 我怎样才能让它工作?

谢谢!

0 投票
1 回答
728 浏览

puppet - 因素 - 如何检查目录是否存在

我正在尝试检查目录是否存在。我在我的模块目录中创建了子目录“lib/facter”并将文件“mycheck.rb”放入其中。

即使目录“mydir1”和“mydir2”都存在,我总是得到“默认”值。我究竟做错了什么?

0 投票
1 回答
354 浏览

ruby - 通过迭代 gem 查询输出来创建嵌套的 Puppet fact (Ruby)

我有工作 Ruby 代码来查询 DNS 详细信息并创建 Puppet 自定义事实(puppet 5,Facter 3.11.6)但是我正在尝试修改它以从查询获得的键/值对创建嵌套事实。

用于使用键名设置单个事实的代码是:

从而创造了个人事实:

到目前为止,我在“DNS”的父事实下创建嵌套事实的失败尝试是:

这给出了一个有限的结果:

我尝试过的其他代码似乎将数组输出放入字符串中,并且多个 IP 在方括号内被引用超过 2 行,而不是按照页面顶部的第一个代码块输出。

我试图实现的事实结构(通过修改页面顶部的代码)是:

提前感谢您的任何帮助。

0 投票
1 回答
208 浏览

puppet - 将节点分配给特定的层次结构

我在 hiera.yaml 中添加了这样的层次结构

对于我知道的节点,hiera 通过节点资源查找它们。但它如何适用于地点或团体?我需要创建自定义事实吗?如果是的话,我怎样才能给节点分配这个事实。我可以在 site.pp 的节点定义中这样做吗:

0 投票
0 回答
17 浏览

php - 当通过 Jenkins 启动 phpunit 时,Facter 命令变慢

我遇到的问题是shell_exec,当通过 Jenkins 启动时,与命令结合起来facter非常慢。facter(like )以外的其他命令whoami很快。

该代码在最近从 14.x 升级到 18.04.1 LTS 的 Ubuntu VM 上运行。在 Ubuntu 14.x 上我没有遇到这个问题。Facter 当前版本为 3.11.3。

我通过使用以下代码将速度问题归结为shell_exec结合:facter

通过 CLI 手动启动时,输出为:

在 Jenkins 上启动时,输出为:

有人知道为什么在 Jenkins 上启动它会很慢(慢约 8 倍)吗?

先感谢您。

额外信息:在 Bamboo 上快速尝试一下,其行为与 Jenkins 上的相同。