ฉันมีตำราพ่อครัว (สำหรับ apache2) มันล้มเหลวในการทำงานกับหนึ่งโหนด ดังนั้นฉันจึงพยายามปรับแต่งและอัปเดต แต่โหนดดูเหมือนจะไม่ดาวน์โหลดเวอร์ชันใหม่ ฉันสามารถอัปโหลดทุกอย่างไปยังเซิร์ฟเวอร์พ่อครัวจากเครื่องในท้องถิ่นของฉันด้วยknife upload .
ซึ่งประสบความสำเร็จและพิมพ์ออกมาว่ามันอัปโหลดบิตปรุงตำรา apache2 ที่ฉันเปลี่ยน
เมื่อฉันรันด้วยตนเอง (เหมือนรูท) chef-client
บนโหนดฉันสามารถเห็นมันติดต่อกับเซิร์ฟเวอร์รับรายการเรียกใช้ ฯลฯ อย่างไรก็ตามไฟล์สูตรใน/var/cache/chef/cookbooks/apache2
เป็นไฟล์เก่า และสูตรล้มเหลว (เพราะไม่มีการเปลี่ยนแปลงที่ฉันทำ)
ฉันจะทำให้ไคลเอนต์พ่อครัวบนโหนดใช้ตำราปรุง apache2 รุ่นใหม่ได้อย่างไร ฉันต้องทุบเลขเวอร์ชั่นในตำราอาหารหรือไม่ (ฉันไม่ได้ทำสิ่งนี้)
chef-client -l debug
เอาท์พุท:
[2015-01-30T10:51:31+01:00] DEBUG: Synchronizing cookbook apache2
[2015-01-30T10:51:31+01:00] DEBUG: Not storing cookbooks/apache2/recipes/mod_ldap.rb, as the cache is up to date.
[2015-01-30T10:51:31+01:00] DEBUG: Not storing cookbooks/apache2/recipes/mod_xsendfile.rb, as the cache is up to date.
[2015-01-30T10:51:31+01:00] DEBUG: Not storing cookbooks/apache2/recipes/mod_auth_openid.rb, as the cache is up to date.
[2015-01-30T10:51:31+01:00] DEBUG: Not storing cookbooks/apache2/recipes/mod_setenvif.rb, as the cache is up to date.
[2015-01-30T10:51:31+01:00] DEBUG: Not storing cookbooks/apache2/recipes/mod_python.rb, as the cache is up to date.
[2015-01-30T10:51:31+01:00] DEBUG: Not storing cookbooks/apache2/recipes/mod_authz_host.rb, as the cache is up to date.
[2015-01-30T10:51:31+01:00] DEBUG: Not storing cookbooks/apache2/recipes/mod_proxy_ajp.rb, as the cache is up to date.
[2015-01-30T10:51:31+01:00] DEBUG: Not storing cookbooks/apache2/recipes/mod_expires.rb, as the cache is up to date.
(lots of this for all files)
ฉันใหม่กับพ่อครัวดังนั้นฉันอาจทำผิดเริ่มต้น
knife cookbook upload <cookbook_name>
ให้แน่ใจว่าคุณวิ่ง หากวิธีดังกล่าวไม่สามารถแก้ปัญหาได้ให้ลองชนรุ่นแล้วเรียกใช้knife cookbook list <cookbook_name>
เพื่อให้แน่ใจว่าคุณอัปโหลดอย่างถูกต้อง หรือเรียกใช้knife cookbook download
(ในไดเรกทอรีอื่น) เพื่อดึงสิ่งที่เซิร์ฟเวอร์คิดว่าเป็นรหัสที่ถูกต้อง