I'm storing my salt sls files in a git repository, but I have the perennial problem that I can't verify my YAML represents a valid set of states that could be applied (I've also had difficulty validating my YAML -- that's much easier, though). Ideally, I'd like some way to verify my states on my workstation before committing them. Failing that, some way to check in a pre-receive hook so I can at least stop dodgy code from hitting the server.
-
1stackoverflow.com/questions/287346/yaml-validation– ceejayozSep 5, 2013 at 18:59
-
1Thanks @ceejayoz, that's not a bad idea :). Whipped a one-liner in Python to do the same job, and a pre-commit hook won't be hard. I'll edit the question to emphasise the difficult bit...– Andrew AylettSep 5, 2013 at 20:45
-
Could you post your solution as your answer?– gm3dmoSep 6, 2013 at 7:17
-
@davey, I only have an answer to the tangental question of validating YAML, not to the question of verifying Salt state files. Sorry for the confusion.– Andrew AylettSep 6, 2013 at 7:32
Add a comment
|
1 Answer
You might want to try the test option with the salt command: http://docs.saltstack.com/en/latest/ref/states/testing.html
salt '*' state.highstate test=True
This also works with the salt-call command. It will parse all configuration files, will run all checks and will then list all commands that it would have been executed.