如何在开发过程中检查SaltStack的SLS文件的语法正确性

pet*_*min 2 testing salt-stack devops

SaltStack在部署自动化方面很出色,但我每次都必须进行全面的集成测试,以检查我的sls文件在语法上是否正确.例如,如果存在重复的ID或错误的缩进.有没有办法可以在几秒钟内测试我的sls文件而无需复杂的环境设置?我正在寻找sls文件的某种linter.

ahu*_*us1 5

至少有两种可能性:

salt-call --local state.highstate test=True
Run Code Online (Sandbox Code Playgroud)

如果您的状态(和其他配置文件)正确,包括引用的模块,将在几秒钟内给您反馈.

更轻松的测试就是渲染SLS:

salt-call --local state.show_highstate
Run Code Online (Sandbox Code Playgroud)

--local参数允许您在不联系主站的情况下调用salt.命令行上的其他参数允许您将调用指向包含要测试的文件的特定目录.而不是调用highstate您可以调用特定状态来测试/呈现状态模块中描述的此状态.

欲获得更多信息:

http://docs.saltstack.com/en/latest/ref/states/testing.html

http://docs.saltstack.com/en/latest/ref/modules/all/salt.modules.state.html

http://docs.saltstack.com/en/latest/ref/cli/salt-call.html

有关正在进行的讨论,请参阅https://github.com/saltstack/salt/issues/802.