问题标签 [pdk]

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 回答
52 浏览

puppet - 如何在不同操作系统上进行本地测试期间覆盖 facter 的 os 事实?

环境

我目前在带有 PDK 2.3.0 的 Ruby 2.7.4 上使用 Puppet 6.21.1(主要用于 linting 并将 Puppet 控制台作为 REPL 启动)。操作系统是 macOS 货币。如果重要的话,我在 RVM 1.29.12-next 下运行 Ruby,并带有一个特定于模块的 gemset。

客观的

我正在尝试在 macOS 机器上的模块中测试一些 Hiera 查找,并尝试按事实覆盖开发框中返回的kernelos和事实。osfamily

[请参阅帖子底部有关 X/Y 问题的注释。]

我试过的

我尝试过使用FACTERLIB环境变量、各种单独设置的FACTER_环境变量以及带有facter --custom-dir标志的自定义事实目录。虽然我使用单独的前缀环境变量设置顶级变量的成功有限FACTER_,但我似乎无法为facter os我从 Debian 或 Ubuntu 主机复制的返回定义的哈希,这是我目前正在尝试的出于我在下面提到的原因。

我当前的事实覆盖看起来像这样:

不幸的是,facter --custom-dir=".myfacts" facter os从模块的顶级目录中调用会导致 macOS Monterey 的标准事实(给予或获取顶级因素元素,在不运行覆盖时不会出现在输出中):

我的 X/Y 问题中的 X 和 Y

我怎样才能让 facter 将自己报告为 Debian 系列 Ubuntu 系统,以便我可以在我的非 Puppetized Darwin 开发系统上正确测试我的 Hiera v5${module_respository?}/data/os/Debian.yaml查找PDK console