问题标签 [ohai-gem]

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 投票
1 回答
43 浏览

ssh - Ohai:无法通过 ssh 获取网络属性

我有几台运行 centOS 6 和 centOS 7 的服务器。我在库存系统中工作,为此我正在使用 ohai,它安装在所有机器上。

当我这样做时ssh myuser@myserver.com ohai,它会返回一个 json 对象,其中包含所有信息,但网络部分为空。但是,如果我 ssh 进入服务器并运行,ohai我将获得正确的网络属性。

有人知道会发生什么吗?谢谢!

0 投票
1 回答
537 浏览

ruby - Ohai 认为我的插件是第 6 版。为什么?

我正在尝试为 ohai 编写一个插件。这似乎是一个非常简单的任务:

对我来说,这看起来像是 Opscode、O'Reilly 和其他人提供的在线示例。但是当我尝试测试它时会发生以下情况:

这就是乐趣开始的地方。我一遍又一遍地得到这个输出:

(我第二行的文字被我的屏幕剪掉了,但你明白了)

我试过在有和没有'depends'行的情况下运行这段代码。结果相同。

我试过在有和没有 Mash 行的情况下运行这段代码,用 'uname uname -a' 代替分配行。结果相同。

我试过在有和没有传递“:linux”作为collect_data的参数的情况下运行。唯一的区别是我收到一个关于 collect_data(:linux) 已经被定义而不是 :default 的警告。

我尝试将插件重命名为一个随机的 8 个字符标识符,以防万一它被称为:Uname。结果相同。

我尝试将“uname”(大写和小写)作为参数传递给 o.all_plugins。结果相同。

所以我的问题是:

  1. 为什么 ohai(8.3,在 Ruby 2.2.1 下运行)认为这是 6 版插件?我看不到任何让它看起来不是版本 7 的东西。

  2. 我怎样才能得到这个工作?

谢谢

0 投票
2 回答
248 浏览

ruby - 如何让独立的 ohai 识别自定义 plugin_path?

我已将厨师配置为将“/etc/chef/ohai_plugins”添加到 Ohai::Config[:plugin_path]。但是,厨师文档说:

那么,我怎样才能获得 ohai 的独立运行来加载和使用该自定义路径中的插件?

(背景:我有一个自定义插件,它报告我们为一组服务器跟踪的一些信息,例如服务器是否已针对 heartbleed 或 shellshock 进行修补。我希望能够运行“ssh somehost ohai”,解析JSON 被发回,并提取我需要的信息。)

谢谢。

0 投票
1 回答
758 浏览

loops - 遍历 Chef 数组并在 Ohai 查找中使用键

我正在遍历一个数组,并希望使用该键作为逻辑的一部分来查找 Ohai 值。source在我的特殊情况下,如果从以前的资源触发,我会尝试每个定义的用户的 .bashrc。

欧海结构:

"etc": { "passwd": { "root": { "dir": "/root", "gid": 0, "uid": 0, "shell": "/bin/bash", "gecos": "root" }, ... "foo": { "dir": "/home/foo", "gid": 501, "uid": 501, "shell": "/bin/bash", "gecos": "" }, ...

因此,当我遍历时,我正在尝试执行以下操作:

node['my_cookbook']['managed_users'].each do |usr| bash 'reload_shell' do code "source #{node['etc']['passwd'][usr]['dir']}/.bashrc" action :nothing end end

我也尝试过使用['usr'],[#{usr}]["usr"]符号,以及转义引号。

0 投票
1 回答
1564 浏览

chef-infra - 在厨师中如何在变量中捕获执行资源的命令输出?

我想稍后在我的 Chef 食谱中使用私有 IP 地址,我怎样才能在变量中捕获它。我的代码看起来像......

我想在变量中捕获 curl 命令的输出,例如..

然后在配置文件中使用该值,或者有什么方法可以获取 aws 实例的私有 IP 地址,因为 ohai 不支持该privateip属性。任何帮助将不胜感激。

0 投票
2 回答
1187 浏览

plugins - 厨师食谱没有找到 ohai 插件定义的资源

我想向 Ohai 添加额外的资源“已安装的 openssh 版本”,以便在我的 openssh 维护配方中使用它。

在 RHEL 5.11 Chef 12.4.1 Ohai 8.5.0 测试工作站上,我创建并测试了 Ohai 插件

$ cat cookbooks/test/files/default/plugins/openssh.rb

irb 中 ohai 插件的本地测试工作正常。现在我正在尝试检查 Chef 食谱中的资源可见性

$ cat test/recipes/default.rb

通过运行本地厨师客户端

$ chef-client -z -m test/recipes/default.rb

为了使额外的插件可见行被添加到配置文件中

(我知道这太明确了)

尽管使用打印 node['kernel'] 运行正常,但 openssh 版本未运行调试日志,显示:

问题:

  1. 如何正确地为本地和远程执行提供额外的插件?如何检查它是否已煮好并准备好?

  2. 如何正确通知厨师客户端执行 ohai 附加插件以用于本地单一配方运行和远程运行?

欢迎任何解释和建议。

亚历克斯

0 投票
1 回答
238 浏览

chef-infra - Enable softlayer ohai plugin

I wanted to enable the softlayer ohai plugin so that the softlayer metadata will be collected.

I have included the ohai recipe in the chef node's run list. I can see it when I run

The softlayer.rb file seems to be missing on the chef node at /opt/chef/embedded/apps/ohai/lib/ohai/plugins. Lots of plugins are missing at that location. What might be wrong? What do I need to do to collect the softlayer metadata ?

0 投票
1 回答
850 浏览

chef-infra - 包含 Chef 服务器 URL 的节点属性?

Chef 服务器 URL 可以作为节点的属性访问吗?我想根据节点连接到的服务器 ID (URL) 更改自定义配方行为。

https://docs.chef.io/ohai.html未列出提供的服务器 (URL)。

谢谢

0 投票
1 回答
923 浏览

chef-infra - 如何使用 OHAI 获取 TestKitchen 中指定的 ipaddress 的值?

ipaddress在我的kitchen.yml

当我尝试检索ipaddressusing的值时

我得到10.0.2.15而不是193.169.33.84.

我怎样才能得到193.169.33.84

0 投票
1 回答
983 浏览

chef-infra - Ohai 没有获取正确的 IP 地址

不知何故,ohai 在特定主机上获取了我的一个 LXC 容器的 IP 地址,而不是与 eth0 接口关联的 IP 地址。

当我重新主厨时,再次运行 ohai,但它仍然获取不正确的 IP 地址。

但是,如果我将 ohai 作为独立执行(即不在 chef-run 中)运行,它会选择正确的 eth0 地址。

这根本不符合逻辑。为什么你认为它没有改变地址?

另外,无论如何我可以使用刀(即不使用配方)更改IP地址吗?

提前致谢