私は人形(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)には直接渡されません。
スクリプトで環境設定やデータの可視性が向上していますか?
ありがとうございます。今問題は完全に別の場所にあることに気づいた。人形3.8。反復とループをサポートしていない使用中です。 ** am_datasources **はありませんが、**各**機能は私たちの環境では定義されていません。 – gusto2
最後に、スコープと変数の可視性についてです。データは製品クラスにロードされ、共通基本とテンプレート定義が呼び出されます。どうやら、それは人形の特定の範囲のためにのみ動作します:( – gusto2