[openstack-dev] ARA - Ansible Run Analysis: Would you like to help ?

David Moreau Simard dms at redhat.com
Wed Mar 22 20:42:34 UTC 2017

Hi openstack-dev,

There's this project I'm passionate that I want to tell you about: ARA [1].
So, what's ARA ?

ARA is an Ansible callback plugin that you can set up anywhere you run
Ansible today.
The next time you run an ansible-playbook command, it'll automatically
record and organize all the data and provide an intuitive interface
for you to browse the playbook results.

In practice, you can find a video demonstration of what the user
interface looks like here [2].

ARA doesn't require you to change your existing workflows, it doesn't
require you to re-write your playbooks.
It's offline, self-contained, standalone and decentralized by default.
You can run it on your laptop for a single playbook or run it across
thousands of runs, recording millions of tasks in a centralized
You can read more about the project's core values and philosophies in
the documented manifesto [3].

ARA is already used by many different projects that leverage Ansible
to fulfill their needs, for example:
- OpenShift-Ansible
- OpenStack-Ansible
- Kolla-Ansible
- TripleO-Quickstart
- Browbeat
- devstack-gate

ARA's also garnered quite a bit of interest outside the OpenStack
community and there is already a healthy amount of users hanging out
in IRC on #ara.

So, it looks like the project is going well. Why am I asking for help ?

ARA has been growing in popularity, that's definitely something I am
very happy about.
However, this also means that there are more users, more feedback,
more questions, more bugs, more feature requests, more use cases and
unfortunately, ARA doesn't happen to be my full time job.
ARA is a tool that I created to make my job easier !

Also, as much as I hate to admit it, I am by no means a professional
python developer -- even less so in frontend (html/css/js).
Being honest, there are things that we should be doing in the project
that I don't have the time or the skills to accomplish.

Examples of what I would need help with, aside from what's formally on
StoryBoard [4]:
- Help the community (answer questions, triage bugs, etc)
- Flask experts (ARA is ultimately a flask application)
- Better separation of components (decouple things properly into a
server/client/api interface)
- Full python3 compatibility, test coverage and gating
- Improve/optimize SQL models/performance

Contributing to ARA in terms of code is no different than any other
OpenStack project but I've documented the process if you are not
familiar with it [5].
ARA has good unit and integration test coverage and I love to think
it's not a project that is hard to develop for.

If you feel the project is interesting and would like to get involved,
I'd love to welcome you on board.

Let's chat.

[1]: https://github.com/openstack/ara
[2]: https://www.youtube.com/watch?v=aQiN5wBXZ4g
[3]: http://ara.readthedocs.io/en/latest/manifesto.html
[4]: https://storyboard.openstack.org/#!/project/843
[5]: http://ara.readthedocs.io/en/latest/contributing.html

David Moreau Simard
Senior Software Engineer | Openstack RDO

dmsimard = [irc, github, twitter]

More information about the OpenStack-dev mailing list