2017-01-17 5 views
1

私は人形(v 3.8.7、マスター/エージェント設定)とprovided puppet scriptsを使ってWSO2製品を展開しようとしています。小さな詳細(定義されていないwso2 :: hosts_template変数、ensure_resourceの使用法など)を除いて、私のファクトテストは未定義のテンプレート変数でブロックされています。wso2-puppet可変スコープ

私の役割定義で私は新しい製品インスタンスを作成します。

class { 'wso2am': 

} 

と私はいくつかの事実設定:次のようにエラーメッセージがあるデフォルトの設定でwso2amをインストールする必要があり

product_name: wso2am 
product_version: 2.0.0 
product_profile: default 
platform: default 
vm_type: 

を:

私は信じ
undefined method `each' for nil:NilClass 
(erb):25:in `get_binding' 
/nix/store/xivrmfsyc7dc52m1zv1g52ziwjag5n4f-ruby-2.3.3/lib/ruby/2.3.0/erb.rb:864:in `eval' 
... 
in ./modules/wso2am/templates/2.0.0/repository/conf/datasources/am-datasources.xml.erb at # SourcePos {sourceName = "./modules/wso2base/manifests/push_templates.pp", sourceLine = Pos 26, sourceColumn = Pos 10} 

テンプレートパラメータam_datasourcesは未定義です。実際にはmodules/wso2base/manifest/init.ppのパラメータはhieradataからロードされていますが、テンプレートパラメータ(am_datasourcesは1つだけです)は呼び出された定義(wso2base :: push_templates)には直接渡されません。

スクリプトで環境設定やデータの可視性が向上していますか?

答えて

0

am_datasourcesdefault.yamllike thisで定義されているとうまくいくはずです。

+0

ありがとうございます。今問題は完全に別の場所にあることに気づいた。人形3.8。反復とループをサポートしていない使用中です。 ** am_datasources **はありませんが、**各**機能は私たちの環境では定義されていません。 – gusto2

+1

最後に、スコープと変数の可視性についてです。データは製品クラスにロードされ、共通基本とテンプレート定義が呼び出されます。どうやら、それは人形の特定の範囲のためにのみ動作します:( – gusto2

関連する問題