Ohai plugin_path не загружается в Windows 10 - PullRequest
0 голосов
/ 22 марта 2019

Следуя руководству Рона Кауи в своей книге «Настройка шеф-повара (O'Reilly)» по созданию простого плагина Ohai, создается впечатление, что Ohai plugins_path не загружается на мой ноутбук с Windows 10.

Шаги следующие:

  1. Создать файл плагина Example1.rb. Я сделал это в C: \ dev \ opscode \ ohai \ plugins \ example1.rb
Ohai.plugin(:Example1) do 1
  provides "awesome_level" 2

  collect_data do 3
    awesome_level 100 4
  end
end
  1. Запустите irb и введите следующее:
PS C:\WINDOWS\system32> irb
irb(main):001:0> require 'ohai'
=> true
irb(main):002:0> Ohai::Config[:plugin_path] = 'C:/Dev/opscode/ohai/plugins'
=> "C:/Dev/opscode/ohai/plugins"
irb(main):003:0> o = Ohai::System.new
=> #<Ohai::System:0x0000000003c339a0 @cli=nil, @plugin_path="", @config={},...

Мне кажется, что @plugin_path пуст и поэтому после запуска o.all_plugins и затем o.attributes_print ("awesome_level")

> Results in error: irb(main):019:0> puts
> o.attributes_print("awesome_level") Traceback (most recent call last):
>         3: from C:/opscode/chef-workstation/embedded/bin/irb.cmd:19:in `<main>'
>         2: from (irb):19
>         1: from C:/opscode/chef-workstation/embedded/lib/ruby/gems/2.5.0/gems/ohai-14.8.10/lib/ohai/system.rb:178:in
> `attributes_print' ArgumentError (I cannot find an attribute named
> awesome_level!)

Это синтаксис для установки plugins_path в Windows. Я пробовал двойные кавычки. Обратные косые.

Ответы [ 2 ]

0 голосов
/ 23 марта 2019

мне кажется, что вы страдаете от проблем с версиями - чтобы разрешить любые проблемы с путями и версиями, используйте bundler и заблокируйте rubygems версий в a Gemfile.

вот пример:

$ bundle init
Writing new Gemfile to /private/var/folders/_2/rg7rz1h56sb2ln5f75gjr7558b1wz3/T/tmp.PPIvZRXi/Gemfile
$ echo "gem 'ohai'" >> Gemfile
$ bundle install --path vendor/gems --jobs 4
...

Вы упомянули, что используете chef . если вы используете ohai во время запуска chef-client, то плагин должен быть установлен на узле, которым управляет chef, и до того, как ohai будет загружен в ваш рецепт.

0 голосов
/ 22 марта 2019

Установка My Chef не является стандартной, и папка C: \ chef \ ohai \ plugins по умолчанию не существует.Если я использовал строку cmd для добавления каталога в путь к плагину, он работал:

ohai -d 'C: \ dev \ opscode \ ohai \ plugins'

Это отображаетсявсе атрибуты всех плагинов с правым концом в конце моего пользовательского плагина

}, "awesome_level": 100

...