3 ms·
I didn't look too closely at this but Ansible offers a number of guarantees such as idempotency, locking, etc. If this thing is just people wrapping their shel
by VWWHFSfQ 4y ago
I didn't look too closely at this but Ansible offers a number of guarantees such as idempotency, locking, etc. If this thing is just people wrapping their shell scripts in on of the functions this thing executes then it's automatically worse than just using Ansible. Because nobody is going to care to make their script...good.
- notatoad 4y agomy experience with ansible is that it offers a suggestion of idempotency, but there's always plenty of room to ignore the best practices. IMHO it's better to have no guarantee than a vague suggestion that you might tend to rely on but then be bitten because there's nothing actually enforcing the guarantee.
- VWWHFSfQ 4y agoI'm pretty sure that all of Ansible's core builtins guarantee idempotency
- epicide 4y agoThe core builtins help you to write idempotent playbooks, but it is far from a guarantee. One simple example would just be to use the command task, which executes an arbitrary command. You, the developer, are responsible for telling Ansible how that should be made idempotent.
- XorNot 4y agoRight but no configuration system can do this. Puppet straight up tends to lie about what it can do with operations named things like "ensure" which play with language to make it feel like there's not actually a procedural, stateful system there (at least based on the number of people who have gushed at me about puppet while not using it). It's akin to "unsafe" in Rust and ansible does warn you it's a bad idea unless you really need it.
- Havoc 4y ago>Ansible offers a number of guarantees such as idempotency, You can wrap anything in ansible basically, including stuff that isn't idempotent. Some of their modules are definitely conducive towards achieving it though.