Как напечатать что-то при запуске Puppet-клиента?



puppet vs ansible (7)

Я хочу распечатать сообщения и переменные при запуске Puppet. Я видел, что есть две функции, которые могут помочь, но не могут их использовать. Мой файл site.pp :

info "running site.pp info"
debug "running site.pp debug"

Когда я запускаю клиент:

puppet -t

Я не получаю эти отпечатки.

https://ffff65535.com


Вот кукольный скрипт со всеми доступными функциями кукольного журнала.

log_levels.pp

node default {
  notice("try to run this script with -v and -d to see difference between log levels")
  notice("function documentation is available here: http://docs.puppetlabs.com/references/latest/function.html")
  notice("--------------------------------------------------------------------------")

  debug("this is debug. visible only with -d or --debug")
  info("this is info. visible only with -v or --verbose or -d or --debug")
  alert("this is alert. always visible")
  crit("this is crit. always visible")
  emerg("this is emerg. always visible")
  err("this is err. always visible")
  warning("and this is warning. always visible")
  notice("this is notice. always visible")
  #fail will break execution
  fail("this is fail. always visible. fail will break execution process")

}

Вывод скрипта (на марионетке 2.7):

NB: кукольные цвета 3.x могут измениться (все ошибки будут напечатаны красным цветом)!


Вы можете запустить клиент следующим образом ...

puppet agent --test --debug --noop

с этой командой вы получаете весь вывод, который вы можете получить.

помощь марионетки
* --test:
  Enable the most common options used for testing. These are 'onetime',
  'verbose', 'ignorecache', 'no-daemonize', 'no-usecacheonfailure',
  'detailed-exitcodes', 'no-splay', and 'show_diff'.

ПРИМЕЧАНИЕ. Не нужно включать --verbose когда вы используете --test|-t , он также подразумевает --verbose .


Вы пробовали то, что находится на образце. Я новичок в этом, но вот команда: puppet --test --trace --debug. Надеюсь, это поможет.


Если вы хотите уведомить пользователя с различными типами сообщений, такими как информация, отладка, ошибка, предупреждение, предупреждения, критические и аварийные сообщения, используйте метапараметром «loglevel» в марионеточных ресурсах.

С помощью loglevel вы можете использовать одни и те же ресурсы для сообщений об ошибках различных типов.

например, для создания отладочных сообщений, которые вы можете использовать,

 notify {"debug message":
      loglevel => debug,
    }

Как альтернатива, вы можете рассмотреть возможность использования execs ... (я бы не рекомендовал это, хотя)

exec { 'this will output stuff':
  path      => '/bin',
  command   => 'echo Hello World!',
  logoutput => true,
}

Поэтому, когда вы запускаете марионетку, вы должны найти какой-то результат:

notice: /Stage[main]//Exec[this will output stuff]/returns: Hello World!
notice: /Stage[main]//Exec[this will output stuff]/returns: executed successfully
notice: Finished catalog run in 0.08 seconds

Первая строка записывается в выходной файл.


Легче, используйте уведомление. например, уведомление («foo.pp works») или уведомление ($ foo)


из documentation функции Puppet

info: Log a message on the server at level info.
debug: Log a message on the server at level debug.

Вы должны найти свой файл журнала puppetmaster, чтобы найти свои сообщения об ошибках / отладки.

Вы можете использовать

notify{"The value is: ${yourvar}": }

для получения некоторой отдачи вашему марионеточному клиенту