Puppet – Benutzerdefinierte Funktion – Anweisung – Fehler – „Muss der Wert einer Anweisung sein …“

Puppet – Benutzerdefinierte Funktion – Anweisung – Fehler – „Muss der Wert einer Anweisung sein …“

Scheint einfach genug zu sein ...

# /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) 
}

Aber ich erhalte immer wieder diesen Fehler:

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

Aber laut derPuppet-Dokumente, ich sollte in der Lage sein, den Anruf wie geschrieben zu tätigen.

Diese einfache Funktion write_line_to_file ist ein Beispiel für eine Anweisungsfunktion. Sie führt eine Aktion aus und gibt keinen Wert zurück.

Was vermisse ich?

CentOS: 6.7 Puppetmaster: 2.7.26

Antwort1

Nach einigem Kopfschütteln scheint es, dass Sie den Puppetmaster nach JEDER Änderung, die Sie an einer benutzerdefinierten Funktion vornehmen, neu starten müssen, obwohl die Änderungen nach JEDER Änderung an den Agenten gesendet werden.

Irreführendgelinde gesagt.

verwandte Informationen