web-dev-qa-db-ja.com

Puppet-カスタム関数-ステートメント-エラー-「ステートメントの値である必要があります...」

簡単そうです...

# /path/to/puppet/modules/custom/lib/puppet/parser/functions
module Puppet::Parser::Functions

    newfunction(:release_check) do |args|
        raise(Puppet::ParseError, "Testing!")
    end
end

# /path/to/puppet/modules/mysql/manifests/install.pp
class mysql::install {

     # Doesn't work
     release_check(1)

     # Does work, but I don't want anything returned making the assignment superfluous
     $whocares = release_check(1) 
}

しかし、私はこのエラーを受け取り続けます:

err: Could not retrieve catalog from remote server: Error 400 on SERVER: Function 'release_check' must be the value of a statement at /etc/puppet/modules/mysql/manifests/install.pp:4 on node service-a-3

しかし、 puppet docs によると、私は書かれたとおりにその呼び出しを行うことができるはずです。

この単純なwrite_line_to_file関数は、ステートメント関数の例です。アクションを実行し、値を返しません。

何が足りないのですか?

CentOS:6.7 Puppetmaster:2.7.26

1
Mike Purcell

いくつかのフェイスパルミングの後、カスタム関数に変更を加えるたびにpuppetmasterを再起動する必要があるようですが、変更はすべて変更後にエージェントに送信されます。

誤解を招く控えめに言っても。

2
Mike Purcell