问题标签 [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.
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
macos - Puppet Factor MAC 确定模型
我正在尝试使用 if 语句和 Facter 设置 Puppet 模块。就像是:
我似乎无法找到 Facter 变量来执行此操作。
yaml - Puppet hiera 没有正确继承(Puppet 版本 4.3.2)
我的/etc/puppetlabs/code
文件夹结构:
然后,对于我的 YAML 文件:
然而,当我运行 hiera 时,我得到以下信息:
我hieradata/hostname/client.yaml
应该覆盖common.yaml
,导致hiera
命令在提交时返回不同的东西::hostname=client
。
我究竟做错了什么?
windows - 如何在 Windows 中使用 puppet 创建具有自定义事实的文件夹名称?
我编写了一个自定义事实来在 Windows 中创建当前日期和时间。当我通知它时,该事实返回当前日期和时间。
例如:
上述代码的输出是'05-04-2016-194645'
但是当我尝试使用自定义事实创建文件夹时,我无法创建带有时间戳的文件夹。我的代码如下。
上面的代码使用“${windows_time}”创建了一个文件夹名称。
我创建日期和时间戳的事实如下:
任何帮助深表感谢。
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?
rspec - 如何模拟事实来测试对事实进行十进制乘法的 Puppet 模板?
语境:
我有一个 puppet 模板,它在渲染时处理事实的count
子组件。processors
这个事实存在于我所有的客户身上。
该事实的用例是在对其执行十进制数学的模板行中,例如:MyConfigVar=<%= 0.9 * @processors['count'] %>
在某个.erb
文件中。
我想要:
- 将我的模板化代码部署到生产主机。
- 为我的模板编写健壮的单元测试,这样我就可以确定它会正确呈现,给定各种合理的事实值。
我试过的:
首先,我尝试使用印记:<%= 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
了事实的价值。
问题:
两个主要问题:
- 我怎样才能可靠地使用这个(或任何)事实来获得内联十进制数学?
- 实际上,我如何才能可靠地
rspec-puppet
对生产代表类型进行单元测试、使用或类似的模拟值?
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
我只能看到一个字符串!
任何人都可以帮忙吗?有任何想法吗?
谢谢塔纳
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
但是当我运行它时,我得到以下错误:
我该如何解决?
module - 仅将自定义事实部署到运行给定模块的客户端
我正在尝试为 linux 服务器编写一个自定义事实,它将为我提供某个文件夹下的所有文件夹。问题是我只需要将它部署在运行包含事实的模块的客户端上——它不能部署到连接到同一主机的其他客户端。
有没有办法做到这一点?
hash - puppetdb 字符串化结构化事实,如哈希
我对 puppetdb 和我的结构化事实(哈希)有疑问。
哈希将通过我的 puppetdb 进行字符串化。
在客户端和服务器上的 puppet.conf 中,我包括:
在我的 site.pp 我有以下条目:
如果在服务器上的我的 puppet.conf 中:
puppetdb 正在运行。
我在客户端 puppetrun 上收到以下消息:
如果我将我的 site.pp 更改为仅:
然后我收到消息->'os 是一个字符串'
如果我将服务器上的 puppet.conf 更改为:
那么一切都好。os fact 将被标识为哈希。
有人有想法吗?请帮助 :) 坦纳