Ansible 0.7 was codenamed "Panama" and was largely about
orchestration/deployment features and extensibility.
Ansible 0.8, appropriately, will be called "Eruption", and will take a
bit different form than previous releases. There's a good chance it
might take longer than our usual 1-month iteration.
Why?
I'm actually going to start a GUI for Ansible. While we'll take other
pull requests as this occurs, the main focus will be on this new tool,
aimed at making it easy to visualize both your ansible setup and the
history of your ansible usage. Often a UI is a bottleneck that
restricts adoption of new tools -- even very simple tools like
Ansible, and even when they aren't, they can be nice to have. I'm
certainly more of a visual learner and I'd love to be able to explore
my inventory and playbooks in different ways.
Features will include:
* Beautiful web design that makes you want to lick your screen
* Add groups and subgroups, edit group and host variables, add hosts
to groups, etc
* View the results of previous playbook runs
* See a very easy dashboard of what nodes in your infrastructure have problems
* Look at shiny charts and graphs
* Trigger your playbook executions -- probably a future release and not in 0.8
* Team oriented management -- Take comments about your groups, hosts,
and playbook executions
* Do it all via REST or the UI -- the UI will only speak via REST
* ansible integration implemented via multiple plugins, rather than
any modifications on ansible-core
This will be a seperate project, not required for ansible usage, and
will be delivered along with a couple of ansible plugins
for wiring it up.
Technology choices -- Python and Javascript:
* Microframework -- Flask -- http://flask.pocoo.org/ seems to be the new hotness
* DB layer -- PostgreSQL -- we need to assume untrusted local clients,
so NoSQL options are unfortunately out
* UI layer -- Foundation -- Probably trying out
http://foundation.zurb.com/, Twitter Bootstrap if that doesn't work
out
* Protocol -- JSON/REST only
If I can get away with it, the web application will be essentially
purely DHTML and not use any templating engines, so literally
everything will be driven through the REST API.
Comments, questions, and ideas are all welcome.
--Michael