শেফ-ক্লায়েন্ট সার্ভার থেকে কোনও কুকবুক আপডেট করছেন না


9

আমার কাছে একটি শেফ কুকবুক আছে (অ্যাপাচি 2 এর জন্য)। এটি একটি নোডে কাজ করতে ব্যর্থ। তাই আমি এটি টুইট করে আপডেট করার চেষ্টা করছি তবে নোড নতুন সংস্করণটি ডাউনলোড করবে বলে মনে হচ্ছে না। আমি আমার স্থানীয় মেশিন থেকে শেফ সার্ভারে সমস্ত কিছু আপলোড করতে সক্ষম হয়েছি knife upload ., এটি সফল হয় এবং প্রিন্ট করে যে এটি আমার পরিবর্তিত অ্যাপাচি 2 কুকবুক বিটগুলি আপলোড করেছে।

আমি যখন chef-clientনোডে ম্যানুয়ালি চালিয়ে যাই (রুট হিসাবে) , আমি এটি সার্ভারের সাথে যোগাযোগ করে, রান তালিকার তালিকা পাওয়া ইত্যাদি দেখতে পাচ্ছি However তবে রেসিপি ফাইলগুলি /var/cache/chef/cookbooks/apache2পুরানো ফাইল। এবং রেসিপিটি ব্যর্থ হয়েছে (কারণ এতে আমার করা পরিবর্তনগুলি নেই)।

অ্যাপাচি 2 কুকবুকের নতুন আপডেট হওয়া সংস্করণটি ব্যবহার করার জন্য আমি নোডে শেফ ক্লায়েন্টকে কীভাবে পেতে পারি? আমার কি কুকবুকের সংস্করণ নম্বরটি টুকরো টুকরো করা দরকার (আমি এটি করছিলাম না)?

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)

আমি শেফ নতুন, তাই আমি সম্ভবত একটি ভুল ভুল করতে পারে।


শেফ-সার্ভার ওয়েব ইন্টারফেসে যান এবং কুকবুকের পরিবর্তনগুলি সেখানে রয়েছে কিনা তা পরীক্ষা করে দেখুন।
ড্রাকো আটার

1
আপনি দৌড়ে গেছে তা নিশ্চিত করুন knife cookbook upload <cookbook_name>। যদি এটি সমাধান না করে তবে সংস্করণটি ঘুরিয়ে ফেলার চেষ্টা করুন এবং তারপরে knife cookbook list <cookbook_name>আপনি সত্যই এটি সঠিকভাবে আপলোড করছেন তা নিশ্চিত করার জন্য দৌড়াতে চেষ্টা করুন । পর্যায়ক্রমে, knife cookbook downloadসার্ভারকে সঠিক কোড বলে মনে করে তা টেনে আনার জন্য (অন্য ডিরেক্টরিতে) চালান ।
তেজয় কার্ডন

উত্তর:


6

আমি ভাবতে পারি এমন কয়েকটি জিনিস রয়েছে যা আপনাকে সাহায্য করতে পারে।

  1. আপনি যে কুকবুক সংস্করণটি আপলোড করছেন তা সর্বশেষতম সংস্করণ Ver

    কুকবুক সংস্করণে একটি সাধারণ সমস্যা হ'ল আপনি স্থানীয়ভাবে কুকবুক সংস্করণ 1.0.0 পরিবর্তন করতে এবং আপলোড করতে পারেন তবে শেফ সার্ভারের কুকবুক সংস্করণ এটি ইতিমধ্যে 1.0.1 এ আপলোড হয়েছে। সেক্ষেত্রে শেফ ক্লায়েন্টরা সাধারণত সর্বশেষতম সংস্করণটি পুনরুদ্ধার করবে (অন্যথায় বলা না হলে) এবং আপনার পরিবর্তনগুলি কখনই স্থানীয় ক্যাশে সিঙ্ক হবে না।

    আপনি এই মাধ্যমে শেফ সার্ভারে কুকবুকের সমস্ত বর্তমান সংস্করণ দেখতে পাবেন: knife cookbook show apache2

    এর একটি সমাধান হ'ল আপনি উল্লেখ করেছেন - শেফ সার্ভারে বিদ্যমান উদাহরণের চেয়ে আপনার সংস্করণ সংখ্যাটি বৃদ্ধি করুন, যেমন 1.0.2 এবং আপলোড করুন।

    অন্য পদ্ধতিটি হ'ল শেফ সার্ভার থেকে অন্য কোনও অ্যাপাচি 2 কুকবুকগুলি সরিয়ে ফেলা এবং আপনি যা চান তা পুনরায় আপলোড করা। এটির কোনও সংস্করণ নম্বর আপডেটের দরকার নেই এবং শেষ ফলাফলটি হ'ল শেফ সার্ভারের একটি একক অ্যাপাচি 2 কুকবুক থাকবে।

  2. যাচাই করুন যে আপনার পরিবর্তনগুলি সত্যই এটি শেফ সার্ভারে তৈরি করছে

    ব্যবহার knife cookbook show apache2 <cookbook version> recipes default.rb সংস্করণ, পাথ, এবং ফাইলের নাম প্রতিস্থাপন - আপনি একটি টেমপ্লেট নামে foo.erb দেখতে চেয়েছিলেন উদাহরণস্বরূপ:knife cookbook show apache2 0.1.0 templates foo.erb

    এই কমান্ডটি শেফ সার্ভার থেকে ফাইলটির জন্য অনুরোধ করবে এবং আপনার টার্মিনালে আউটপুট প্রদর্শন করবে। আপনি যে পরিবর্তনগুলি করেছেন সেগুলি আপলোড করা হচ্ছে তা নির্ধারণ করার জন্য এটি একটি সহজ উপায় knife cookbook upload

এর বাইরে, যদি এটি সাহায্য না করে, knifeসংস্করণ, chef-serverসংস্করণ, chef-clientসংস্করণ এবং সেই সাথে একটি ডিবাগ লগের বিশদ যুক্ত করে knife cookbook upload apache2 -VVআরও ডিবাগিংয়ে সহায়ক হবে।


1
এই উত্তরের জন্য আপনাকে অনেক ধন্যবাদ ... এটি আমাকে দেখিয়েছে যে আমাদের উত্পাদন পরিবেশে কুকবুকের প্রতিবন্ধকতা ছিল, আমাদের পরিবেশ / প্রোডাকশন.আরবিতে নয় তবে বার্কশেল্ফ দ্বারা সেট করা! আমি এটি জানতাম না যে এটি করতে পারে। যাইহোক, আমাদের product.rb পরিবেশটি পুনরায় আপলোড করার পরে, একটি নতুন শেফ রান আমাদের সর্বশেষ অ্যাপ্লিকেশন কুকবুকটি তুলেছে।
কলিন কার্টিন

2

প্রথমে সার্ভারে কুকবুকের সমস্ত সংস্করণ ডিবাগ করুন এবং তারপরে ক্লায়েন্টটি কুকবুকের কোন সংস্করণ ডাউনলোড করছে তা পরীক্ষা করুন। এটি যদি পুরানো হয় তবে সার্ভারের একটি আপডেট সংস্করণ আছে কিনা তা পরীক্ষা করে দেখুন। যদি এটি হ্যাঁ হয় তবে দয়া করে সার্ভারের ইউআই শেফ এ যান এবং এনভির জন্য পরীক্ষা করুন। আপনার একটি viর্ষা সেটআপ থাকতে পারে যাতে কুকবুকের সীমাবদ্ধতা নির্দিষ্ট করা আছে। দয়া করে সেখানে সংস্করণটি আপডেট করুন এবং এটি আবার কাজ শুরু করবে।


1

এর আর একটি কারণ হতে পারে যে কুকবুকের সমস্ত নির্ভরতা শেফ-সার্ভারে উপস্থিত না। আমি এখনই এটিতে ছুটে এসেছি এবং আমার কুকবুকের নতুন সংস্করণটি প্রদর্শিত হচ্ছে knife cookbooks listতবে আমার ক্লায়েন্ট নতুন সংস্করণটি ব্যবহার করছে না। কিছুটা ডিবাগিংয়ের পরে, আমি আবিষ্কার করেছি যে বার্কশেল্ফ, না ছুরি আমার কুকবুকের জন্য নতুন নির্ভরতা আপলোড করেছে। আমি এটি আপলোড করার পরে, ক্লায়েন্টটি নতুন সংস্করণটি ব্যবহার করা শুরু করে।


নিশ্চিত হয়ে নিন যে আপনি ছুরির কুকবুক আপলোড করেছেন <কুকবুক_নাম>
নেট রানার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.