愈用愈有感覺 SaltStack 是一堆 workaround 的集合,一開始在設計整個系統時沒有規劃好,然後一直堆上去。
標題的這個問題是出自於 Ubuntu 預設會將 CPU 調節成 ondemand,方式是透過 /etc/rc*.d/
下的 symbolic link 在開機時自動執行。
拔掉的方法是 updated-rc.d ondemand disable
(而非直接砍掉 /etc/rc*.d/
裡面的檔案),想要透過 SaltStack 提供的 file.exists 或 file.missing 都發現不可行。
最後是 cmd.run + onlyif + test 搞定:
ondemand-disable: cmd.run: - name: update-rc.d ondemand disable - onlyif: test -e /etc/rc2.d/S99ondemand
SaltStack 對於 dependency 的設計看起來問題重重,如果想要用 SaltStack 的人可以好好考慮一下。
現在的作法是直接 trial and error 跟他拼,Puppet、Chef、SaltStack 都直接用時間跟他換。原因是這東西實在太底層了,架構不好就是上面的管理員與 DevOps 一直 workaround。
現在有種互相在比爛的感覺...