web-dev-qa-db-ja.com

ファクト-カスタムファクト、Puppetエージェントによって呼び出されたときに空のデータセットを返します

this puppet labsの記事によると、シェルスクリプトからカスタムファクトを作成できます。

単一のファクトを返すbashスクリプトを作成しました。これは、modulesfacts.dディレクトリにパッケージ化されています。モジュールは、ENCクラスを介してターゲットシステムに含まれています。ターゲットでパペットエージェントによって呼び出されると、空のセットが返されます。エージェントで手動で実行されると、ファクトが正しく返されます。スクリプトにはマスターに対する実行権限がありますが、エージェントに対する実行権限はありません。

アクセス許可とファイルタイプに関連するバグレポートを見ましたが、それはWindowsであり、puppetバージョン3で修正されるはずでした。

私は何が間違っているのですか?

ENCの定義:

_--- classes: facttest:_

シェルスクリプト:

#!/bin/bash echo "test_fact1=$(hostname)"

権限:

_master: -rwxr-xr-x 1 root root ... modules/facttest/facts.d/testfact.sh_ _agent: -rw-r--r-- 1 root root ... /var/lib/puppet/facts.d/testfact.sh_

エージェントメッセージ:

_Fact file /var/lib/puppet/facts.d/testfact.sh was parsed but returned an empty data set_

バージョン情報:Puppet master: 3.5.1 (Debian) Facter master: 2.0.1 Puppet agent: 3.6.1 (OpenSUSE) Facter agent: 2.0.1

2
user3684494

これは実際には bug in Puppet 3.6、どうやら。

余談ですが、マスターよりも新しいエージェントの使用は一般的にサポートされていないことに注意してください。

3
Felix Frank