ara-plugins

ARA Records Ansible plugins


License
GPL-3.0
Install
pip install ara-plugins==1.0.0.0a2

Documentation

ara-plugins

doc/source/_static/ara-with-icon.png

ARA Records Ansible playbook runs and makes the recorded data available and intuitive for users and systems.

ara-plugins is a component of ARA which provides:

  • An Ansible callback plugin to send Ansible execution data to the ARA API
  • Ansible modules to interact with ARA

Disclaimer

ara-plugins is not yet stable and will be shipped as part of a coordinated ARA 1.0 release. It is not currently recommended for production use.

While most of the major work has landed, please keep in mind that we can still introduce backwards incompatible changes until we ship the first release.

You are free to use this project and in fact, you are more than welcome to contribute feedback, bug fixes or improvements !

If you are looking for a stable version of ARA, you can find the latest 0.x version on PyPi and the source is available here.

Documentation

Documentation is a work in progress.

To install ara-plugins:

pip install git+https://github.com/openstack/ara-plugins

Ansible must be configured to know about the location of the plugins in order for them to work.

The location of the plugins will depend on many factors including your version of python, your Linux distribution or whether it's been installed from source, from packages or inside a virtual environment.

ara-plugins provides a command to help you locate its plugins: python -m ara.plugins. This command returns the path of the plugins directory so you don't need to search for it.

The plugin directory location can also be retrieved in python:

import os
from ara.plugins import LOCATION as plugins
# Do something with the location
callback_plugins = os.path.join(plugins, "callback")
action_plugins = os.path.join(plugins, "action")

Here's what your Ansible and ARA configuration might look like in an ansible.cfg file:

[defaults]
# Note: This is an example, use "python -m ara.plugins" to determine the real path
callback_plugins = /usr/lib/python3.6/site-packages/ara/plugins/callback
action_plugins = /usr/lib/python3.6/site-packages/ara/plugins/action

[ara]
api_client = http
api_timeout = 30
api_server = http://127.0.0.1:8000

And what the same thing might look like when setting up configuration with environment variables:

export ANSIBLE_CALLBACK_PLUGINS="$(python -m ara.plugins)/callback"
export ANSIBLE_ACTION_PLUGINS="$(python -m ara.plugins)/action"
export ARA_API_CLIENT=http
export ARA_API_TIMEOUT=30
export ARA_SERVER=http://127.0.0.1:8000

Contributors

See contributors on GitHub.

Copyright

Copyright (c) 2018 Red Hat, Inc.

ARA is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

ARA is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with ARA.  If not, see <http://www.gnu.org/licenses/>.