İddialar ve kısıtlamalar


11

Ben bir yapılandırma dosyası oluşturmak için bir şablon inşa ediyorum ve bu dosyayı tüketen hizmet tanımlayıcı uzunlukları üzerinde kısıtlamalar yerleştirir.

Bir tanımlayıcı, örneğin 6 karakterden uzunsa, hizmet yapılandırmayı uygulayarak kısmen başarısız olur, başarısız olur ve düğümü tutarsız bir durumda bırakır.

Hedef düğümlerin hizmetinin yanlış yapılandırılmasını önleyerek bir dağıtım işlemi hatasını tetiklemek için nasıl iddiada bulunabilirim?

Benim özel durumum Tuz, ancak diğer sistemlerin de sorunu nasıl çözdüğünü merak ediyorum.


Şef olarak, rspec veya foodcritic olarak bir linting kuralı ekleyeceğim veya tanımlayıcının tarifte eşleştiğinden emin olacağım. Tuz için bir fikrim yok, her konfigürasyon yöneticisinin kendine özgü bir özelliği olduğu için gerenik bir cevap olduğunu düşünmüyorum
Tensibai

Cevabı biraz daha az spesifik olacak şekilde düzenleyeceğim.
Michael Mol

Şu anda, bir Saltstack + Jinja çözümü için şu anki düşüncem, var olmayan bir dosyadan okumaya çalışan bir makro olurdu. Diğer oluşturucular farklı çalışırdı. Örneğin bir Python oluşturucu önemsizdir; sadece bir istisna atın.
Michael Mol

Yanıtlar:


7

Ansible'da: assertveya failmodülünü kullanabilirsiniz .

- 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

Kukla'da: ayrıştırma aşamasında değerlendirilen ve sunucuda ayrıştırma hatasına neden olan başarısız işlevi var ( StackOverflow'daki soruya bakın )

 if length($cluster_name) > 6 {
      fail("Cluster name is too long. Should be less than 6 chars.")
 }
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.