一千萬個為什麽

搜索


我正在構建一個模板來構建配置文件,並且使用此文件的服務會對標識符長度進行約束。

如果一個標識符的長度大於6個字符,則該服務將通過應用配置而中斷,失敗並使節點處於不一致的狀態。

如何執行斷言來觸發部署事務失敗,防止目標節點的服務被錯誤配置?

我的特殊情況是Salt,但我會好奇其他系統如何解決這個問題。

轉載註明原文: 斷言和約束

一共有 1 個回答:

在Ansible中:您可以使用 assertfail 模塊。

- 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

在Puppet中:在解析階段評估的失敗函數會導致解析服務器出現故障(請參閱關於StackOverflow的問題

 if length($cluster_name) > 6 {
      fail("Cluster name is too long. Should be less than 6 chars.")
 }