জোর এবং সীমাবদ্ধতা


11

আমি একটি কনফিগারেশন ফাইল তৈরি করতে একটি টেমপ্লেট তৈরি করছি, এবং যে ফাইলটি এই ফাইলটি গ্রাস করে সেগুলি সনাক্তকারী দৈর্ঘ্যে সীমাবদ্ধ করে।

যদি কোনও সনাক্তকারী 6 টি অক্ষরের চেয়ে দীর্ঘ হয় তবে কনফিগারেশন প্রয়োগের মাধ্যমে সার্ভিসটি পার্ট-ওয়ে পাবে, ব্যর্থ হবে এবং নোডকে একটি বেমানান অবস্থায় ছেড়ে যাবে।

টার্গেট নোডের পরিষেবাটি ভুল কনফিগার করা থেকে রোধ করে, আমি কীভাবে কোনও ডিপ্লোয়মেন্ট লেনদেন ব্যর্থতা ট্রিগার করার জন্য একটি দাবিটি সম্পাদন করতে পারি?

আমার বিশেষ পরিস্থিতিতে লবণ, তবে অন্যান্য সিস্টেমগুলিও কীভাবে সমস্যাটি সমাধান করে তা দেখার জন্য আমি আগ্রহী।


ওয়েল শেফ আমি আর একটি বিস্তৃত নিয়ম যুক্ত করব, হয় আরএসপেক বা ফুডক্রিটিক বা রেসিপিটিতে শনাক্তকারী ম্যাচটি নিশ্চিত করব। লবণের কোনও ধারণা নেই, প্রতিটি কনফিগারেশন ম্যানেজারের নিজস্ব স্বতন্ত্রতা রয়েছে বলে আমি মনে করি না একটি জেনেরিক উত্তর আছে
টেনসিবাই

আমি উত্তরটি একটু কম নির্দিষ্ট করে সম্পাদনা করব।
মাইকেল মল

এই মুহুর্তে, সল্টস্ট্যাক + জিনজা সমাধানের জন্য আমার বর্তমান মননটি এমন ম্যাক্রো হবে যা কোনও ফাইল থেকে পড়ার চেষ্টা করে যা অস্তিত্বহীন। অন্যান্য রেন্ডারাররা আলাদাভাবে কাজ করবে। একটি পাইথন রেন্ডারার উদাহরণস্বরূপ, তুচ্ছ হবে; কেবল একটি ব্যতিক্রম নিক্ষেপ।
মাইকেল মোল

উত্তর:


7

জবাবদিহি: আপনি ব্যবহার করতে পারেন assertবা failমডিউল।

- name: "Make sure web_sites is dictionary"
  fail: msg="web_sites should be dictionary"
  when: web_sites is not dict  


- name: "cluster_name should be shorter than 6 chars"
  assert: 
       that: cluster_name|len <= 6

পুতুলের মধ্যে: পার্সিং পর্বের সময় সেখানে ব্যর্থ ফাংশন মূল্যায়ন করা হয় যা সার্ভারে পার্সিং ব্যর্থতার কারণ হয়ে থাকে ( স্ট্যাকওভারফ্লোতে প্রশ্ন দেখুন )

 if length($cluster_name) > 6 {
      fail("Cluster name is too long. Should be less than 6 chars.")
 }
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.