Назад | Перейти на главную страницу

Марионетка - Пользовательская функция - Оператор - Ошибка - «Должно быть значением оператора…»

Вроде достаточно просто ...

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

Но согласно кукольные документы, Я смогу позвонить, как написано.

Эта простая функция write_line_to_file является примером функции оператора. Он выполняет действие и не возвращает значение.

Что мне не хватает?

CentOS: 6.7 Puppetmaster: 2.7.26

После некоторого фейспалминга кажется, что вам нужно перезапустить puppetmaster после КАЖДОГО изменения, которое вы вносите в пользовательскую функцию, даже если изменения отправляются агенту после КАЖДОГО изменения.

Вводящий в заблуждение мягко говоря.