1

カスタム関数とそれが使用されるテンプレートを定義する icinga2 の puppet モジュールを使用しようとしています。次の(削除された)hiera構成を使用しています:

icinga2::object::host:
  host.com:
    target_file_name: host.conf
    display_name: host.com
    ipv4_address: XXX
    vars:
      os: Linux

レンダリングなしのテンプレートvarsは完全に正常にレンダリングされますが、テンプレートが含まれている場合、パペットはテンプレート内の関数呼び出しの評価に失敗します。

Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Evaluation Error: Error while evaluating a Function Call, Failed to parse template icinga2/object_host.conf.erb:
  Filepath: org/jruby/RubyKernel.java
  Line: 1072
  Detail: Could not autoload puppet/parser/functions/icinga2_config_value: no such file to load -- puppet/icinga2/utils
 at /etc/puppetlabs/code/environments/production/modules/icinga2/manifests/object/host.pp:71:18 on node XXX

また、インラインテンプレートで直接呼び出された場合、puppet はコマンドを見つけて実行します。

root@puppetmaster:~# /opt/puppetlabs/bin/puppet apply -e "notice(inline_template(\"<%= scope.function_icinga2_config_value([[1,2]]) %>\"))"
Notice: Scope(Class[main]): [
    "1",
    "2",
  ]

同様の方向に進むいくつかのバグ ( 12 ) も見つけましたが、それらは数年前に修正され、提案された回避策も機能しません。4.2.1 のごく最近のバージョンを使用しています。

この問題をさらにデバッグする方法、または icinga2 モジュールで修正する方法はありますか?

4

0 に答える 0