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

Плагин Opscode Chef Ohai - как настроить автоматический запуск пользовательского плагина?

Документы Ohai неполные. Вот что мне удалось сделать до сих пор:

Однако Ohai не загружает его ни во время запуска Chef, ни при запуске Ohai вручную.

Приведенные здесь документы мало пригодны для ответа на этот вопрос. http://docs.opscode.com/ohai.html

Ваш вопрос подразумевает, что вы уже используете кулинарную книгу Ohai для распространения плагина, и что многое работает, то есть ваш пользовательский плагин в конечном итоге установлен в /etc/chef/ohai_plugins (в конфигурации по умолчанию). Если это так, он почти наверняка пытается загрузить плагин - и плагин не работает.

Охай не беспокоится о сбоях плагинов - он просто переходит к следующему.

При запуске вручную убедитесь, что вы говорите ohai поискать в дополнительном каталоге плагинов. Вот как это не удается (для настраиваемого плагина под названием 'aws'):

[zts@ip-172-31-39-167 ~]$ ohai aws
[2013-07-25T22:14:53+00:00] INFO: [inet6] no default interface, picking the first ipaddress
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/ohai-6.16.0/lib/ohai/system.rb:247:in `attributes_print': I cannot find an attribute named aws! (ArgumentError)
    from /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/ohai-6.16.0/lib/ohai/application.rb:101:in `block in run_application'
    from /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/ohai-6.16.0/lib/ohai/application.rb:100:in `each'
    from /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/ohai-6.16.0/lib/ohai/application.rb:100:in `run_application'
    from /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/ohai-6.16.0/lib/ohai/application.rb:75:in `run'
    from /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/ohai-6.16.0/bin/ohai:51:in `<top (required)>'
    from /usr/bin/ohai:23:in `load'
    from /usr/bin/ohai:23:in `<main>'

[zts@ip-172-31-39-167 ~]$ ohai aws -d /etc/chef/ohai_plugins
[2013-07-25T22:15:05+00:00] INFO: [inet6] no default interface, picking the first ipaddress
{
  "region": "eu-west-1",
  "rds": {
<--snip-->

Наконец, если вы не видите вывода (но без ошибок), включите ведение журнала отладки и выполните поиск в выводе, чтобы найти часть, связанную с вашим плагином:

[zts@ip-172-31-39-167 ~]$ ohai aws -d /etc/chef/ohai_plugins -l debug
[2013-07-25T22:17:24+00:00] DEBUG: Loading plugin os
[2013-07-25T22:17:24+00:00] DEBUG: Loading plugin kernel
[2013-07-25T22:17:24+00:00] DEBUG: Loading plugin ruby
[2013-07-25T22:17:24+00:00] DEBUG: Loading plugin languages
<-- huge amounts of logs removed -->
[2013-07-25T22:18:21+00:00] DEBUG: Loading plugin aws
<-- way more logs here -->

Вам необходимо убедиться, что у вас есть следующая строка в /etc/chef/client.rb. Если вы используете ножевой бутстрап, вам нужно будет указать шаблон.

Ohai::Config[:plugin_path] << "/etc/chef/ohai_plugins"