davidhalter / pysible

Beautiful Pythonic Ansible
MIT License
8 stars 1 forks source link

How to handle indempotency and a declarative approach #1

Open gaudenz opened 7 years ago

gaudenz commented 7 years ago

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.

davidhalter commented 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.