Чтобы протестировать запуск Chef-Client, нам нужно настроить Chef-Client на использование размещенного Chef или собственного размещенного сервера.
Запуск Chef-Client в режиме отладки
vipin@server:~$ sudo chef-client -l debug …TRUNCATED OUTPUT… Hashed Path:A+WOcvvGu160cBO7IFKLYPhh9fI= X-Ops-Content-Hash:2jmj7l5rSw0yVb/vlWAYkK/YBwk= X-Ops-Timestamp:2012-12-27T11:14:07Z X-Ops-UserId:vagrant' Header hash: {"X-Ops-Sign"=>"algorithm=sha1;version=1.0;", "X-Ops-Userid"=>"vagrant", "X-Ops-Timestamp"=>"2012-12- 27T11:14:07Z", "X-Ops-Content- Hash"=>"2jmj7l5rSw0yVb/vlWAYkK/YBwk=", "X-Ops- Authorization- 1"=>"HQmTt9U/ LJJVAJXWtyOu3GW8FbybxAIKp4rhiw9O9O3wtGYVHyVGuoilWDao", "X-Ops-Authorization- 2"=>"2/uUBPWX+YAN0g1/ fD2854QAU2aUcnSaVM0cPNNrldoOocmA0U5HXkBJTKok", "X-Ops-Authorization- 3"=>"6EXPrEJg5T+ ddWd5qHAN6zMqYc3untb41t+eBpigGHPhtn1LLInMkPeIYwBm", "X-Ops-Authorization- 4"=>"B0Fwbwz2HVP3wEsYdBGu7yOatq7fZBXHfIpeOi0kn/ Vn0P7HrucnOpONmMgU", "X-Ops-Authorization- 5"=>"RBmmbetFSKCYsdg2v2mW/ ifLIVemhsHyOQjffPYPpNIB3U2n7vji37NxRnBY", "X-Ops-Authorization- 6"=>"Pb3VM7FmY60xKvWfZyahM8y8WVV9xPWsD1vngihjFw=="} [2012-12-27T11:14:07+00:00] DEBUG: Sending HTTP Request via GET to api.opscode.com:443/organizations/agilewebops/ nodes/vagrant [2012-12-27T11:14:09+00:00] DEBUG: ---- HTTP Status and Header Data: ---- [2012-12-27T11:14:09+00:00] DEBUG: HTTP 1.1 200 OK [2012-12-27T11:14:09+00:00] DEBUG: server: nginx/1.0.5 [2012-12-27T11:14:09+00:00] DEBUG: date: Thu, 27 Dec 2012
Проверка результатов последнего запуска Chef-Client
Чтобы проверить последний запуск Chef-Client, особенно проблемы сбоев при разработке новой кулинарной книги, нам нужно знать, что именно пошло не так. Даже несмотря на то, что Chef печатает все в stdout, может потребоваться снова просмотреть журнал отладки.
Если мы хотим протестировать, нам нужна сломанная поваренная книга, которая не работает при компиляции.
user@server:~$ sudo chef-client ================================================================== ============== Recipe Compile Error in /srv/chef/file_store/cookbooks/my_ cookbook/recipes/default.rb ================================================================== ============== NoMethodError ------------- undefined method `each' for nil:NilClass Cookbook Trace: --------------- /srv/chef/file_store/cookbooks/my_cookbook/recipes/default. rb:9:in `from_file' Relevant File Content: ---------------------- /srv/chef/file_store/cookbooks/my_cookbook/recipes/default.rb: 2: # Cookbook Name:: my_cookbook 3: # Recipe:: default 4: # 5: # Copyright 2013, YOUR_COMPANY_NAME 6: # 7: # All rights reserved - Do Not Redistribute 8: # 9≫ nil.each {} 10:
Для более подробной информации, мы можем посмотреть на трассировку стека.