Подтвердить что ты не робот

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

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

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

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

puppet -t

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

4b9b3361

Ответ 1

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

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")

}

Script вывод (на марионеток 2.7): different log levels colors

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

Ответ 2

из функции 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}": }

чтобы получить некоторый результат для вашего кукольного клиента

Ответ 3

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

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

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

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

Ответ 4

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

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.

Ответ 5

Как альтернатива, вы можете рассмотреть использование 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

Первая строка, записываемая в журнал.

Ответ 6

Это делает для меня задачу. Я использую это для проверки варов и отображения уведомлений.

notify {"hello world $var1":}

Здесь также размещена документация на веб-сайте Puppet: http://docs.puppetlabs.com/learning/ordering.html#notify-and-subscribe

Ответ 7

Простой способ, используйте уведомление. например уведомление ( "foo.pp works" ) или уведомление ($ Foo)

Ответ 8

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