The REST API is certaintly usable for controlling inventory right now.
Who has tried it?
Are there folks interested in helping build out the UI as it stands?
Just not enough time? That's ok if so, though I'd like to see lots of
folks get involved as that's worked so well for Ansible so far.
One idea I have -- actually James Cammarata of Cobbler fame did all
the work in trying to integrate Ansible with Cobbler (patch still not
merged quite yet) -- is to make the REST API be able to accept
reference to SSH keys (optionally, with passwords). This can, more or
less, make playbooks and general commands REST triggerable. It's
actually super easy to do, and it would turn ansible, if so engaged,
into a full web-servicey-integratable sort of thing. Pretty
exciting.
I think that will make things a /LOT/ more appealing, and also open up
more uses for the GUI than just inventory management.
Speaking for myself, the reason I've not been testing
ansible-commander is that we're aready managing our inventory
externally (updating a system inventory database regularly, using a
script to build /etc/ansible/hosts from that, and puppet to
distribute it), and fronting it with Jenkins, which we already use
everywhere and integrates seamlessly with our inventory system,
authentication provider, and puppet. Thus, since ansible is entirely
disconnected from our inventory system, other than as a downstream
consumer, ansible-commander doesn't it into our ecosystem right now.
Having said that, I find ansible-commander very interesting as an
working example of how to build a service that provides an API to a
set of data. I've been following the project closely for that
reason.
* Michael DeHaan <michael.dehaan at gmail.com> [2012/09/24 21:43]:
Thanks for the feedback -- I think the trick is to make it not focus
/exclusively/ on inventory and make the API (and interface) try to
encompass more of what Ansible can do.
This is because you had a failure while running the playbook. Some
return codes are ignored for idempotency reasons (temporary hack until
they could use the postgres modules Ansible ships with). Without the
output of what that failure was, and what your platform was, there is
nothing I can do for you.
Please supply more information.
I assume you had installed the PostgreSQL deps first, as the playbook
will not do that for you presently (because I haven't added all the
only_if logic for different platforms yet).
Make sure you are using ansible (and library files) from 0.8. The
lineinfile module has been upgraded so the regexp module matches
partial lines, like you would expect a regex to do, rather than having
to match the entire line. The result of this is you can use simple
strings
with lineinfile and it's a lot easier to use -- but that's not available in 0.7.