我在 FreeBSD 13.1 上运行服务器。 配置由 puppet 管理。 上次pkg upgrade将puppet6替换为puppet7 ,这不适用于我们基于 Puppet 6(约 60 个服务器)的设置。 所以我决定从源代码构建 Ruby 2.7,并将puppet安装为 Ruby Gem,效果 ...
我在 FreeBSD 13.1 上运行服务器。 配置由 puppet 管理。 上次pkg upgrade将puppet6替换为puppet7 ,这不适用于我们基于 Puppet 6(约 60 个服务器)的设置。 所以我决定从源代码构建 Ruby 2.7,并将puppet安装为 Ruby Gem,效果 ...
如何在自定义事实(即lib/facter/my_custom_fact.rb )的上下文中访问 puppet 节点的名称(即清单中的$trusted['certname'] )。 我读了这个问题/答案,这让我充满了希望,但是唉,在可通过Facter.value(:sym)访问的可用事实列表中,我 ...
我写了一些 ruby 代码,它将在 linux 服务器上运行并返回有关服务器的详细信息作为事实。 它通过连接到 amazon 并检索一些 json 来实现这一点(它运行两个单独的命令,一个是检索磁盘列表 - 例如 /dev/sda1、/dev/xvdb,然后它通过另一个查询将其映射到 volumeI ...
我正在尝试创建一个简单的模块,该模块将使用代理中的事实将相关的 output 推送到文件中。 我已经设法在一个模块中做到这一点,但由于未知原因,它没有按预期工作。 这就是我所做的 在第一个 file_line 文件中的 output 是"name=" 。 在第二个文件行中,它没有翻译${::full ...
环境我目前在 Ruby 2.7.4 上使用 Puppet 6.21.1 和 PDK 2.3.0(主要用于检查和启动 Puppet 控制台作为 REPL)。 操作系统是 macOS M.netery。 如果重要的话,我将在 RVM 1.29.12-next 下运行 Ruby,并使用特定于模块的 ge ...
这是关于 GCP 计算实例。 我的 GCP 实例无法从元数据服务器获取 GCE 元数据,因此当我通过 CentOS 映像上的 packstack 在谷歌云(GCP)上安装 Openstack 时,我收到此错误。 虚拟机实例是没有防火墙规则的默认网络的一部分。 我也可以从外部登录节点,这证明网络没问题 ...
我有以下文件结构: 我想在我正在编写并在users.rb中定义的另一个自定义事实中使用在system_load.rb中找到的自定义事实值(我们称之为:system_me fact)。 像这样: 但是,我担心如果在客户端尝试运行sogood之前system_me事实值还不存在会发生什么。 所以我的问 ...
我创建了一个具有因子命令的 bash 脚本这个因子命令的结果存储在一个变量中。 当我从 ansible playbook 执行此脚本时,出现此错误: 我在目标主机和运行 ansible 的盒子中安装了 factor。 如果我在本地执行这个脚本,我会得到因子信息。 ...
我在 ruby 中有一个自定义事实,它使用Facter::Core::Execution.execute执行系统命令,并根据执行命令的 output 将事实设置为 true 或 false。 有没有办法可以模拟执行命令的 output 来测试它? ...
我需要根据主机名在许多机器(100+)上插入多个事实。 所有机器都部署了一个应用程序,但应用程序配置不同,并且机器构成不同集群的一部分。 我正在尝试找到正确的方法来实现这一点。 我在How can I create a custom:host_role fact from the hostname? ...
我正在使用 ruby 脚本到 output 一些与 AD 相关的详细信息创建一个木偶自定义事实。 我了解到 ServerManager 是一个必备模块,因为它还没有自动添加到 Windows 2008 R2 构建中。 我已经在我的一台 2008 R2 服务器中手动运行了 powershell 命令 ...
我在hiera.yaml中添加了这样的层次结构 对于节点,我知道hiera通过节点资源查找它们。 但是它如何适用于地点或团体? 我需要创建自定义事实吗? 如果是的话,我该如何分配这个事实。 我可以在site.pp的节点定义中这样做吗? ...
我有可用的Ruby代码来查询DNS详细信息并创建Puppet自定义事实(Puppet 5,Facter 3.11.6),但是我试图对其进行修改,以便从查询所获得的键/值对中创建嵌套的事实。 可以使用键名设置单个事实的代码是: 这样就创建了个人事实: 到目前为止,我在“ DN ...
我正在尝试检查目录是否存在。 我在我的模块目录中创建了 subdir 'lib/facter' 并将文件 'mycheck.rb' 放入其中。 即使目录 'mydir1' 和 'mydir2' 都存在,我总是得到 'default' 值。 我究竟做错了什么? ...
我必须解决以下任务。 首先,我正在使用pyscard(与智能卡交互的python模块)来查询连接到主机的smartcardreader。 这工作得很好,并提供了我所连接的读者的列表。 为了使该列表可以通过Facter供人偶使用,我需要以key:value形式使用的列表,然后可以通过js ...
在人偶类中,应该如何测试是否已在节点中设置了变量? 我使用一个VM名称(例如server1)和一个域名(例如example.org),使用户可以访问该页面。 “ example.org”不会通过事实来传达,因此我需要通过一个类参数来传递它。 我想出了一种在节点块中定义变量并将其用于测试类的 ...
我是红宝石的初学者,对此我一直感到震惊:我需要“将ethtool输出拆分为不同的变量, 这是我所做的: 这是输出(仅用于一个接口): 我只需要驱动程序和固件软件信息,我已经尝试将带有“或”的grep添加到命令执行中,如下所示: 但它不起作用,它会打印一个空行。 ...
在我正在处理的模块中,我需要检查计算机上是否存在特定用户。 这个想法是创建一个包含所有用户数组的自定义事实。 在模块中,它应该遍历数组,并检查特定用户是否是数组的一部分。 我的自定义事实: 事实的输出是这样的字符串:[“ user1”,“ user2”,“ user3”] ...
我已经成功创建了一个.rb自定义事实,该自定义事实分析了内置事实以创建新值,但是我现在正尝试将其用作Puppet的嵌套自定义事实。 我要创建的层次结构类似于内置事实,例如运行Facter(或Facter -p)将显示: 人偶清单中的用法是: 到目前为止,我已经尝试了领先的语 ...