问题标签 [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 投票
0 回答
301 浏览

vagrant - Puppet - 无效的因素选项错误消息

我在我的机器上运行了一个本地 Vagrant 设置,构建了一个带有 LAMP 堆栈的 Ubuntu 14.04 盒子。Vagrant 启动了初始化盒子的过程,然后它启动了一个 puppet 脚本来构建和配置盒子以满足我的要求。

我已经多次破坏并重建了这个盒子,没有任何问题,但是从昨天开始,我开始收到一个错误(见下面的输出)抱怨无法获得事实事实。什么都没有改变,所以我不确定为什么会这样。我有其他同事可以检查相同的代码库并毫无问题地构建此框。希望能得到一些帮助或指导,以了解如何深入了解这一点。

更新:木偶踪迹

vagrant@rentpro-web:~$ sudo puppet apply -vv --debug --environment development --modulepath=/etc/puppet/modules/ /etc/puppet/manifests/site.pp --trace

0 投票
1 回答
66 浏览

macos - Puppet Factor MAC 确定模型

我正在尝试使用 if 语句和 Facter 设置 Puppet 模块。就像是:

我似乎无法找到 Facter 变量来执行此操作。

0 投票
1 回答
86 浏览

yaml - Puppet hiera 没有正确继承(Puppet 版本 4.3.2)

我的/etc/puppetlabs/code文件夹结构:

然后,对于我的 YAML 文件:

然而,当我运行 hiera 时,我得到以下信息:

hieradata/hostname/client.yaml应该覆盖common.yaml,导致hiera命令在提交时返回不同的东西::hostname=client

我究竟做错了什么?

0 投票
1 回答
569 浏览

windows - 如何在 Windows 中使用 puppet 创建具有自定义事实的文件夹名称?

我编写了一个自定义事实来在 Windows 中创建当前日期和时间。当我通知它时,该事实返回当前日期和时间。

例如:

上述代码的输出是'05-04-2016-194645'

但是当我尝试使用自定义事实创建文件夹时,我无法创建带有时间戳的文件夹。我的代码如下。

上面的代码使用“${windows_time}”创建了一个文件夹名称。

我创建日期和时间戳的事实如下:

任何帮助深表感谢。

0 投票
1 回答
6171 浏览

puppet - Puppet pass a fact into a double-quoted line of code in an ERB file

I'm sure the answer to this is straightforward, but I can't find out how to do this. I have a line in my erb template file that needs to write exactly as-is into a server's config file (for OpenVPN):

I need to change this so that the ip address gets looked up from the facter listing on the server, rather than having it hard-coded, as this conf file needs to be used on different servers now. The fact holding this ip address is "ipaddress_tun0". I've tried putting it into my line, thus:

.. but the fact doesn't get interpolated properly, presumably because of the double quotes. Unfortunately the double quotes are needed as a literal part of the line in the conf file, so they have to be there (single quotes don't work). Can anyone advise how I can get this line to look up and insert the value of ipaddress_tun0, please?

0 投票
2 回答
1066 浏览

rspec - 如何模拟事实来测试对事实进行十进制乘法的 Puppet 模板?

语境:

我有一个 puppet 模板,它在渲染时处理事实的count子组件。processors这个事实存在于我所有的客户身上。

该事实的用例是在对其执行十进制数学的模板行中,例如:MyConfigVar=<%= 0.9 * @processors['count'] %>在某个.erb文件中。

我想要:

  1. 将我的模板化代码部署到生产主机。
  2. 为我的模板编写健壮的单元测试,这样我就可以确定它会正确呈现,给定各种合理的事实值。

我试过的:

首先,我尝试使用印记:<%= 0.9 * @processors[:count] %>. 如果我用 rspec-puppet 模拟类似的东西facts = { :processors => { :count => 10 } },我的测试都通过了。清单应用程序不起作用;它有一个“不能相乘nil”的错误。Sigils显然已经出来了。

然后,我尝试使用字符串键:<%= 0.9 * @processors['count'] %>. 我使用 sigil ( facts = { :processors => { :count => 10 } }) 的测试没有被选中,但我的值被正确找到并乘以facts = { :processors => { 'count' => 10 } }. 然后所有的测试都通过了。但是,清单应用程序因失败而Can't coerce String into Int失败。

然后,我尝试了字符串值。模板仍然读取<%= 0.9 * @processors['count'].to_i %>,我测试了字符串和整数值,例如

测试都通过了,但清单应用程序呈现0.0了事实的价值。

问题:

两个主要问题:

  1. 我怎样才能可靠地使用这个(或任何)事实来获得内联十进制数学?
  2. 实际上,我如何才能可靠地rspec-puppet对生产代表类型进行单元测试、使用或类似的模拟值?
0 投票
1 回答
1133 浏览

hash - 木偶把事实串起来

我对 puppet 和 facter 有疑问。

puppet --version -> 3.8.6
因素 --version -> 2.4.6

我为 softwareinventory 写了一个事实,返回值是一个嵌套的哈希

像这样:

客户端和服务器上的 puppet.conf 包括: stringify_facts = false

如果我使用带有内容的本地清单 test.pp 在客户端上进行测试:
notify {$::packages['Notepad++']['Displayversion']

puppet apply test.pp
我得到正确的值 = 6.8.3

facter -p packages 返回预期的哈希值。

但使用 puppetrun:
puppet agent -t -d -v

如果我卷曲 puppetdb: curl -k http://puppetdbname:8080/v3/nodes/nodename/facts/packages

我只能看到一个字符串!

任何人都可以帮忙吗?有任何想法吗?

谢谢塔纳

0 投票
1 回答
163 浏览

c++ - 如何使用 C 从 FreeBSD 获取 kenv 设置

我正在尝试改进FreeBSD 上的Facter。以前这是 Ruby 代码,因此作为 Ruby 程序员很容易理解。自 Facter 的 3.X 版本以来,它主要转向 C/C++ 以提高性能。

在这种转变期间,它丢失了一些事实,例如在 FreebSD 上。我正在尝试将它们添加回来。但是,我不是 C++/C 程序员,所以我基本上只是在阅读其他人的 FreeBSD 的 C 代码并对其进行修改。

所以我认为我的方向是正确的:

facter/lib/inc/internal/facts/freebsd/dmi_resolver.hpp

facter/lib/src/facts/freebsd/dmi_resolver.cc

但是当我运行它时,我得到以下错误:

我该如何解决?

0 投票
1 回答
498 浏览

module - 仅将自定义事实部署到运行给定模块的客户端

我正在尝试为 linux 服务器编写一个自定义事实,它将为我提供某个文件夹下的所有文件夹。问题是我只需要将它部署在运行包含事实的模块的客户端上——它不能部署到连接到同一主机的其他客户端。

有没有办法做到这一点?

0 投票
0 回答
645 浏览

hash - puppetdb 字符串化结构化事实,如哈希

我对 puppetdb 和我的结构化事实(哈希)有疑问。

哈希将通过我的 puppetdb 进行字符串化。

在客户端和服务器上的 puppet.conf 中,我包括:

在我的 site.pp 我有以下条目:

如果在服务器上的我的 puppet.conf 中:

puppetdb 正在运行。

我在客户端 puppetrun 上收到以下消息:

如果我将我的 site.pp 更改为仅:

然后我收到消息->'os 是一个字符串'

如果我将服务器上的 puppet.conf 更改为:

那么一切都好。os fact 将被标识为哈希。

有人有想法吗?请帮助 :) 坦纳