2013-10-26 5 views
5

मैं ट्यूटोरियल http://gettingstartedwithchef.com/ पीछा किया, अध्याय करता 1.बावर्ची गैर अनुक्रमिक नुस्खा निष्पादन

मेरे रन सूची है

"run_list": [ "recipe[apt]", "recipe[phpap]" ] 

मेरे phpap रसोई की किताब मेरी रसोई की किताब

की

include_recipe "apache2" 
include_recipe "build-essential" 
include_recipe "openssl" 
include_recipe "mysql::client" 
include_recipe "mysql::server" 
include_recipe "php" 
include_recipe "php::module_mysql" 
include_recipe "apache2::mod_php5"  
include_recipe "mysql::ruby" 

निर्भरता के डिफ़ॉल्ट नुस्खा

depends "apache2" 
depends "mysql" 
depends "php" 
depends "database" 
,210

मेरे रेपो पाक कला पुस्तकें

apache2 aws    database openssl phpap xml 
apt  build-essential   mysql php  postgresql xfs 

मैं महाराज-एकल का उपयोग डाउनलोड किया निम्नलिखित गया है। मेरे मेजबान ने एपीटी रेपो जानकारी पुरानी है। पुरानी एपीटी रेपो कोई समस्या नहीं होनी चाहिए क्योंकि मेरी रन सूची में पहली नुस्खा इसे अद्यतन करता है। लेकिन शेफ उपयुक्त नुस्खा को अनदेखा करता है और mysql से शुरू होता है।

लॉग देखें

[email protected]:~/chef-repo$ sudo chef-solo -c solo.rb -j web.json 
Starting Chef Client, version 11.6.2 
Compiling Cookbooks... 
[2013-10-27T00:59:28+04:00] WARN: Cloning resource attributes for service[apache2] from prior resource (CHEF-3694) 
[2013-10-27T00:59:28+04:00] WARN: Previous service[apache2]: /home/dan/chef-repo/cookbooks/apache2/recipes/default.rb:24:in `from_file' 
[2013-10-27T00:59:28+04:00] WARN: Current service[apache2]: /home/dan/chef-repo/cookbooks/apache2/recipes/default.rb:210:in `from_file' 
[2013-10-27T00:59:28+04:00] WARN: Cloning resource attributes for directory[/var/cache/local/preseeding] from prior resource (CHEF-3694) 
[2013-10-27T00:59:28+04:00] WARN: Previous directory[/var/cache/local/preseeding]: /home/dan/chef-repo/cookbooks/apt/recipes/default.rb:76:in `block in from_file' 
[2013-10-27T00:59:28+04:00] WARN: Current directory[/var/cache/local/preseeding]: /home/dan/chef-repo/cookbooks/mysql/recipes/server.rb:44:in `from_file' 
[2013-10-27T00:59:28+04:00] WARN: Cloning resource attributes for directory[/var/lib/mysql] from prior resource (CHEF-3694) 
[2013-10-27T00:59:28+04:00] WARN: Previous directory[/var/lib/mysql]: /home/dan/chef-repo/cookbooks/mysql/recipes/server.rb:117:in `block in from_file' 
[2013-10-27T00:59:28+04:00] WARN: Current directory[/var/lib/mysql]: /home/dan/chef-repo/cookbooks/mysql/recipes/server.rb:117:in `block in from_file' 
[2013-10-27T00:59:28+04:00] WARN: Cloning resource attributes for template[/etc/mysql/my.cnf] from prior resource (CHEF-3694) 
[2013-10-27T00:59:28+04:00] WARN: Previous template[/etc/mysql/my.cnf]: /home/dan/chef-repo/cookbooks/mysql/recipes/server.rb:134:in `from_file' 
[2013-10-27T00:59:28+04:00] WARN: Current template[/etc/mysql/my.cnf]: /home/dan/chef-repo/cookbooks/mysql/recipes/server.rb:194:in `from_file' 
Recipe: mysql::client 
    * package[mysql-client] action install 
================================================================================ 
Error executing action `install` on resource 'package[mysql-client]' 
================================================================================ 


Chef::Exceptions::Exec 
---------------------- 
apt-get -q -y install mysql-client=5.5.32-0ubuntu0.12.04.1 returned 100, expected 0 


Cookbook Trace: 
--------------- 
/home/dan/chef-repo/cookbooks/mysql/recipes/ruby.rb:44:in `block in from_file' 
/home/dan/chef-repo/cookbooks/mysql/recipes/ruby.rb:43:in `each' 
/home/dan/chef-repo/cookbooks/mysql/recipes/ruby.rb:43:in `from_file' 
/home/dan/chef-repo/cookbooks/phpap/recipes/default.rb:20:in `from_file' 


Resource Declaration: 
--------------------- 
# In /home/dan/chef-repo/cookbooks/mysql/recipes/client.rb 

46: package name 
47: end 



Compiled Resource: 
------------------ 
# Declared in /home/dan/chef-repo/cookbooks/mysql/recipes/client.rb:46:in `block in from_file' 

package("mysql-client") do 
    action :install 
    retries 0 
    retry_delay 2 
    package_name "mysql-client" 
    version "5.5.32-0ubuntu0.12.04.1" 
    cookbook_name :mysql 
    recipe_name "client" 
end 




================================================================================ 
Recipe Compile Error in /home/dan/chef-repo/cookbooks/phpap/recipes/default.rb 
================================================================================ 


Chef::Exceptions::Exec 
---------------------- 
package[mysql-client] (mysql::client line 46) had an error: Chef::Exceptions::Exec: apt-get -q -y install mysql-client=5.5.32-0ubuntu0.12.04.1 returned 100, expected 0 


Cookbook Trace: 
--------------- 
    /home/dan/chef-repo/cookbooks/mysql/recipes/ruby.rb:44:in `block in from_file' 
    /home/dan/chef-repo/cookbooks/mysql/recipes/ruby.rb:43:in `each' 
    /home/dan/chef-repo/cookbooks/mysql/recipes/ruby.rb:43:in `from_file' 
    /home/dan/chef-repo/cookbooks/phpap/recipes/default.rb:20:in `from_file' 


Relevant File Content: 
---------------------- 
/home/dan/chef-repo/cookbooks/mysql/recipes/ruby.rb: 

37: when 'rhel' 
38:  resources('yum_key[RPM-GPG-KEY-percona]').run_action(:add) 
39:  resources('yum_repository[percona]').run_action(:add) 
40: end 
41: end 
42: 
43: node['mysql']['client']['packages'].each do |name| 
44>> resources("package[#{name}]").run_action(:install) 
45: end 
46: 
47: chef_gem 'mysql' 
48: 


[2013-10-27T00:59:30+04:00] ERROR: Running exception handlers 
[2013-10-27T00:59:30+04:00] ERROR: Exception handlers complete 
[2013-10-27T00:59:30+04:00] FATAL: Stacktrace dumped to /home/dan/chef-solo/chef-stacktrace.out 
Chef Client failed. 0 resources updated 
[2013-10-27T00:59:30+04:00] FATAL: Chef::Exceptions::ChildConvergeError: Chef run process exited unsuccessfully (exit code 1) 

मेजबान Ubuntu 12.04 चलाता है। मैंने रन सूची में phpap से पहले अपनी खुद की व्यंजनों को रखने की कोशिश की लेकिन बिना किसी सफलता के।

मैं शेफ-एकल से पहले बैश स्क्रिप्ट में मैन्युअल प्लेसिंग एपीटी-अपडेट अपडेट के साथ इसे हल कर सकता हूं।

क्या यह mysql cookbook इतना बुरा है? जहां तक ​​मुझे पता है कि शेफ हमेशा रन-लिस्ट स्ट्रेट आगे बढ़ता है।

+0

क्या आपने यह जांच की है कि यह फ़ाइल मौजूद है या नहीं: 'var/lib/apt/periodic/update-success success सफलतापूर्वक टिकट? अगर यह फ़ाइल मौजूद है तो 'apt-get update' आदेश निष्पादित नहीं किया जाएगा। – shawnzhu

+0

एपीटी-गेट सिर्फ एक उदाहरण है। मैंने अपने स्वयं के हस्तनिर्मित व्यंजनों को एक ही परिणाम के साथ ही हैलो दुनिया प्रिंट करने की कोशिश की। –

उत्तर

1

मुझे निम्नलिखित फिक्स के साथ नंगे ubuntu 12.04 (बिना किसी मैनुअल प्री अपडेट के) पर विफलता के बिना phpap नुस्खा मिला।

मैंने phpap से व्यंजनों को "बिल्ड-आवश्यक" और "openssl" हटा दिया। उस परिवर्तन के बाद महाराज अपेक्षित के रूप में व्यंजनों को निष्पादित करता है।

लेकिन अजीब व्यवहार अनदेखा छोड़ दिया गया।

7

सामान्य महाराज में हमेशा रन सूची का सम्मान करेगा। हालांकि कभी-कभी आप किसी अन्य से पहले संसाधन चलाने की इच्छा रखते हैं (जैसे पैकेज प्रबंधक, एपीटी/यम/आदि को कॉन्फ़िगर करना)। माइस्क्ल रूबी रेसिपी में क्या हो रहा है यह है कि नुस्खा संकलन समय पर कुछ पैकेज इंस्टॉल को स्पष्ट रूप से चला रहा है (शेफ संसाधनों को निष्पादित करने से पहले)। वे असफल हो जाते हैं क्योंकि उपयुक्त नुस्खा अभी तक नहीं चला है (कोई भी नहीं है)।

वहाँ एक अच्छा opscode पोस्ट संकलन/चरणों here निष्पादित समझा है।

mysql में अपमानजनक कोड :: माणिक

node['mysql']['client']['packages'].each do |name| 
    resources("package[#{name}]").run_action(:install) 
end 

run_action(:install) (संकलन समय पर) अब इस चलाने के लिए महाराज कह रहा है है।

+0

मेरे पास शेफ रेसिपी के चरणों को संकलित और निष्पादित करने के बीच अंतर के दस्तावेज़ीकरण पर विकी आलेख का एक लिंक था, लेकिन अब यह 404'ing है। अगर मैं कभी भी एक कामकाजी यूआरएल प्राप्त करता हूं तो मैं इसे पोस्ट करने की कोशिश करूंगा ... –

+0

दमदार चीज़: लिंक jsessionid param के बिना काम नहीं करता है ... (सीधे Google खोज परिणाम से लिया गया है) https: //wiki.opscode। कॉम/डिस्प्ले/शेफ/मूल्यांकन + + + रन + रिसोर्सेज + + कंपाइल + टाइम; jsessionid = BBE750D0DC249823649B3F4F70F24C82 –

+0

वह लिंक पहले से ही पोस्ट में था, इसे थोड़ा और स्पष्ट बनाने के लिए लाइन ब्रेक में डाल दिया गया था। हालांकि धन्यवाद। –

0
vagrant destroy -f && vagrant up // destroy everything and start over => OK 
संबंधित मुद्दे