Open gaudenz opened 7 years ago
Why does it become harder to guarantee indempotency? There's already so many switches and options in ansible that make it very similar to a programing language.
The declarative approach is guaranteed by using ansible modules (and not other crazy stuff). I get that there's a risk of people mixing declarative code and other random Python code. But I feel like if you don't understand that the declarative style is better, you're lost anyways and you might as well do strange stuff in ansible.
One problem I see with your proposed new pythonic approach is that when you start using a fully fledged programming language to describe your infrastructure it becomes much harder to guarantee indempotency of your playbooks and to keep a declarative approach to configuration management. IMO this is the main reason why most (all?) configuration management implement their own DSL (Domain specific language).
By declarative approach I mean that you want to describe the state your infrastructure should have instead of how to get there.