My idea was to develop the infrastructure with Ansible, e.g. no ssh to change some httpd settings at all. Everything via Ansible. It worked very well as long as the playbooks and number of servers was very small.
My idea was to develop the infrastructure with Ansible, e.g. no ssh to change some httpd settings at all. Everything via Ansible. It worked very well as long as the playbooks and number of servers was very small.
This can be mitigated somewhat by putting Ansible on the target machine, downloading all the necessary files to that machine, and then running Ansible locally... but that seems awfully fragile to me.
I am much more interested in Salt's ZeroMQ path these days. It seems to scale better, at least on paper and in my few small tests.
Finally, when using ControlPersist with pipelining mode in Ansible, it's as fast if not faster than zeromq or our own accelerated mode (which we will be deprecating at some future point when older SSH installs are not as common).
Disclaimer: I work in the Cloud Orchestration team at Rackspace.
[0]: https://github.com/openstack/heat-templates/tree/master/hot/...
That's why it has tags. So you can run just the settings states rather than running the whole 20 minute thing over and over again.
There are many potential situations where not running a full inventory against a running machine results in a machine not being properly configured.
Then you'll probably be running the whole playbook again, including those settings changes you made before.
>Or of a machine was temporarily offline when a tag was run
Then it'll fail and give you a warning. Shrug your shoulders and run it again?
We eventually settled on having Ansible build an AMI for us that can then be spun up by as part of a Cloudformation template (also initiated by Ansible).
We've actually been moving further and further away from having Ansible handle the configuration management side of things, and deal with Orchestration primarily.