Marioneta - Función personalizada - Declaración - Error - "Debe ser el valor de una declaración..."

Marioneta - Función personalizada - Declaración - Error - "Debe ser el valor de una declaración..."

Parece bastante simple...

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

Pero sigo recibiendo este error:

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

Pero según eldocumentos de marionetas, debería poder hacer esa llamada tal como está escrita.

Esta función simple write_line_to_file es un ejemplo de una función de declaración. Realiza una acción y no devuelve un valor.

¿Qué me estoy perdiendo?

CentOS: 6.7 Titiritero: 2.7.26

Respuesta1

Después de un poco de facepalm, parece que tienes que reiniciar el titiritero después de CADA cambio que realizas en una función personalizada, aunque los cambios se envían al agente, después de CADA cambio.

Engañosopor decir lo menos.

información relacionada