【发布时间】:2017-02-17 10:20:34
【问题描述】:
我创建了如下的 mCollective 库存脚本,
def formatting(users_ids)
YAML.load(File.open(users_ids))
end
inventory do
format "%s\t%s\t"
fields { [facts["hostname"], formatting(facts["users_ids"]) ] }
end
这里 users_ids 因子是服务器上的 yaml 格式。所以当我为这个因素做清单时,我需要解析那个 yaml 格式来散列。但是当我运行这个脚本时遇到错误,
[root@mco-server]#
The inventory application failed to run, use -v for full error backtrace details: (eval):2:in `initialize': No such file or directory - ---
root: 0
test1: 503
testuser: 2033
[root@mco-server]#
不确定是否遗漏了一些东西来解析输出。奇怪的是它也没有打印主机名。
facter 输出在服务器上的以下来自facts.yaml
users_ids: |-
---
root: 0
test1: 503
testuser: 2033
任何帮助将不胜感激。
【问题讨论】:
-
已经有一个用于 mcollective 库存的 rpc 插件。您如何尝试使用 mcollective 执行此脚本?
-
这里是命令
mco inventory --script <inventory-script-name> -I <servername> -
好的,它是库存 rpc 插件的一个插件。明白了。
-
您应该编辑帖子,删除非必要的无关内容,如“任何帮助将不胜感激”,并包含一个关于编程的疑问句(“有人可以帮忙吗?”将是一个关于人的能力,而不是编程。大多数可以用是/否来回答的问题都是不合适的。)。
标签: ruby yaml puppet mcollective