问题标签 [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.
ruby - 为什么升级到 Puppet4 后,自定义事实再也找不到 rb_sysopen 了?
以下自定义事实:
使用 puppet 工作3.6.2
,但由于升级到4.5.2
以下问题:
分析
- 似乎由于
rb_sysopen
某种原因再也找不到了(No such file or directory @ rb_sysopen
自从升级到 Puppet 4 以来 - Puppet4 似乎使用嵌入式 ruby 版本,而不是安装在主机上的版本(Puppet3):
Puppet 4,Facter 2.4 和 CFacter 0.4,最新的 Hiera 和 Mcollective,以及 Ruby 2.1.5、OpenSSL 1.0.0r 和我们的 gem 依赖项。
- Ruby 2.1.5 中不
rb_sysopen
存在?没有找到任何证据。 - 也许发生了与事实相关的变化,可能导致问题?在发行说明中没有发现任何相关内容。
问题
为什么rb_sysopen
升级到 Puppet4 后,自定义事实再也找不到了?
puppet - 如何检索事实并使用它将自定义值存储在 Puppet 的变量中?
我有一个脚本,我从机器中检索 IP 地址,然后执行一些逻辑操作来决定赋予变量什么值。然后,我使用这个值来对机器工作的环境做出一些决定。
我正在尝试将其翻译为 Puppet,但我不确定如何进行。我知道我可以使用事实检索 IP 地址,但我应该在清单还是模板中执行此操作?另外,我应该在哪里执行逻辑操作。请记住,我将进行字符串操作。
总而言之,这些是我需要的步骤。
从机器获取 IP 地址。
执行逻辑运算。
将带有结果的变量传递给 Puppet 清单。
要点是:如何将事实作为变量检索,我应该将代码放在哪里与该变量一起使用?
提前致谢。
vagrant - 仅在 vagrant puppet 中使用我的 module_path 中的某些模块
没有玩偶和流浪汉的经验。我们曾经在一个大型 puppet 存储库中拥有所有 puppet 设置,并且我们的 vagrant 实例运行良好。最近,为了让事情更好地隔离,以免意外推出,我们有一条从大 puppet 存储库分离到新 puppet 存储库的路径。但是我仍然需要旧的大仓库中的所有因素,而新仓库中的服务器特定设置。不幸的是,我不能只将大的旧存储库指定为模块路径,因为我的服务器特定设置将来自旧存储库中的旧目录,但如果我只是将新存储库指定为模块路径,那么我会错过所有事实。而且我一直在疯狂地谷歌搜索以找到一种方法来指定 vagrant 的事实路径是徒劳的:(
谁能给我一些提示?非常感谢
ruby - 如何为 Puppet 中的角色添加自定义或外部事实?
我正在为我的 puppet master 配置文件/角色使用 control-repo。
我正在使用 Hiera,我想在层次结构中添加角色
我的hiera.yaml看起来像:
网站.pp
例如,我应该为节点 xx01 和 xx03 添加角色事实。因此,将来为每个新节点添加事实是没有用的。所以我希望为每个新节点添加这个事实。
因此,最好的方法是添加代码以在控件存储库中添加角色的事实。不在模块中。
傀儡代理似乎本质上没有角色事实,所以我在中添加了角色事实/etc/puppetlabs/facter/facts.d
如果主机名反映了角色,我认为与主机名进行比较以添加角色的事实是没有用的。所以我可以使用带有主机名而不是角色的层次结构。
puppet - Puppet:根据主机名复制事实文件
是否有可能根据机器的主机名/IP 地址部署自定义事实。假设我有 2 个自定义事实文件,
machine1.rb #包含特定于 machine1 的事实
machine2.rb #包含特定于 machine2 的事实
现在我的要求是根据主机名或ip地址,将相应的自定义事实文件复制到相应的机器上。我尝试谷歌搜索但没有帮助。请告诉我。
powershell - 木偶中的多个控制条件验证
在运行其他清单文件之前,我需要验证内存、处理器和端口连接等代理。因此,我通过将全局事实与语句和执行资源保持一致,创建了如下清单。
if $::facts['memorysize'] >= '4.00 GiB'and $::facts['processorcount'] >= 2 and Exec['port_connectivity']
我的主题是 puppet 只有在此条件成功时才应执行。如果 exec 命令成功并且facter返回true,那么只有它应该执行,但是在清单之后单独执行而不检查该exec语句是否为true。我的主要目的是在运行 puppet manifest 之前验证端口。任何人都可以帮忙吗
shell - 在 shell 脚本中使用 Puppet 事实 (Facter)
我正在编写一个 shell 脚本来version.txt
从 AWS S3 存储桶下载文件。
在 shell 脚本中,我需要使用 Puppet Facter 值(例如env_name
和product_name
)。如何在我的 shell 脚本中获取这些 Facter 值?
puppet - Puppet:依赖链没有按顺序执行
我有一个问题,我试图设置外部事实,然后复制一个模板文件,该文件填充了 hiera yaml 文件中的值。模板文件依赖于外部事实文件设置的某些事实(例如模板文件的所有者和组)。下面是木偶代码。
然而,在执行过程中,我看到模板首先被复制到 puppet 代理机器,并且由于模板具有来自外部事实文件的一些值,它无法找到并且它抛出错误说“无效的所有者和组值”。
以下是外部事实文件的内容
为什么 puppet 似乎忽略了这里的依赖循环?
puppet - 无法在人偶清单中使用 $facts 作为哈希
这是失败的清单代码:
错误:
因子命令工作正常:
Puppet 版本是 Ubuntu 14.04 上的 3.8.7
puppet - 如何在 Puppet 的 Ruby 模板中使用 Facter 值
我试图弄清楚如何在使用 Puppet 配置的 Ruby 模板 erb 文件中使用 Facter 事实。
示例 Ruby 模板变量
Puppet 的预期配置文件输出
事实数据: