以下のように 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]#
出力を解析するために何かが欠けているかどうかはわかりません。奇妙なことは、ホスト名も印刷されないことです。
ファクトの出力は、サーバー上の fact.yaml から以下のとおりです。
users_ids: |-
---
root: 0
test1: 503
testuser: 2033
どんな助けでも大歓迎です。