В чем причина этой ошибки ОШИБКА: неопределенный метод mysql_service для #<Chef:: Recipe: 0x00000003ca0870>?

По сути, я хочу создать кулинарную книгу, которая устанавливает MySQL 5.7, поэтому я решил использовать mysql из супермаркета.

Я начал с создания свежей кулинарной книги, используя chef generate cookbook MYSQL Потом добавил depends 'mysql', '~> 8.0' и запустить berks install который успешно работает и устанавливает поваренную книгу mysql.

Вот мой default.rb

mysql_service 'default' do
 version '5.7'
 bind_address '0.0.0.0'
 port '3306'
 data_dir '/data'
 initial_root_password 'vagrant'
 action [:create, :start]
end

Я запускаю эту команду, чтобы запустить поваренную книгу - sudo chef-client --local recipes/default.rb что дает мне следующий вывод

[2017-08-23T18:54:31+00:00] INFO: Started chef-zero at chefzero://localhost:1 with repository at /home/vagrant
One version per cookbook
[2017-08-23T18:54:31+00:00] INFO: Forking chef instance to converge...
Starting Chef Client, version 13.2.20
[2017-08-23T18:54:31+00:00] INFO: *** Chef 13.2.20 ***
[2017-08-23T18:54:31+00:00] INFO: Platform: x86_64-linux
[2017-08-23T18:54:31+00:00] INFO: Chef-client pid: 26421
[2017-08-23T18:54:31+00:00] INFO: The plugin path /etc/chef/ohai/plugins does not exist. Skipping...
[2017-08-23T18:54:33+00:00] INFO: Run List is []
[2017-08-23T18:54:33+00:00] INFO: Run List expands to []
[2017-08-23T18:54:33+00:00] INFO: Starting Chef Run for ardent-admin
[2017-08-23T18:54:33+00:00] INFO: Running start handlers
[2017-08-23T18:54:33+00:00] INFO: Start handlers complete.
resolving cookbooks for run list: []
[2017-08-23T18:54:33+00:00] INFO: Loading cookbooks []
Synchronizing Cookbooks:
Installing Cookbook Gems:
Compiling Cookbooks...

Running handlers:
[2017-08-23T18:54:33+00:00] ERROR: Running exception handlers
Running handlers complete
[2017-08-23T18:54:33+00:00] ERROR: Exception handlers complete
Chef Client failed. 0 resources updated in 02 seconds
[2017-08-23T18:54:33+00:00] FATAL: Stacktrace dumped to 
/home/vagrant/.chef/local-mode-cache/cache/chef-stacktrace.out
[2017-08-23T18:54:33+00:00] FATAL: Please provide the contents of the 
stacktrace.out file if you file a bug report
[2017-08-23T18:54:33+00:00] ERROR: undefined method `mysql_service' for #<Chef::Recipe:0x00000004e58a68>
[2017-08-23T18:54:33+00:00] FATAL: 
Chef::Exceptions::ChildConvergeError: Chef run process exited 
unsuccessfully (exit code 1)

1 ответ

Я на 99% уверен, что вы опубликовали это где-то еще, и я тоже ответил на него, но на всякий случай: запуск одного подобного рецепта не обрабатывает зависимости. Вам нужно использовать обычный режим chef-solo (или локальный режим chef-client, но, возможно, сольный). К сожалению, вы не даете достаточно информации, чтобы знать, как это будет выглядеть. Индивидуальные рабочие процессы всегда являются более сложными, потому что вы находитесь вне обычного проторенного пути. Мы рекомендуем вам как можно больше придерживаться стандартных рабочих процессов, пока вы не будете достаточно знакомы с Chef, чтобы составить свой собственный маршрут.

Другие вопросы по тегам