-
1.3.1rc1
1.3.1rc1 This is the first release candidate for the 1.3.1 stable release of ARA. Changes since 1.3.0: - bugfix: the callback plugin now properly retrieves host facts for both setup and gather_fact tasks - unit tests: use assertLogs instead of patch_logger since patch_logger was removed from django 3. - misc: bumped versions of Ansible used in integration tests
-
1.3.0
1.3.0 This is the 1.3.0 stable release of ARA. Changes since 1.2.0: General ------- - Removed hard requirement on python 3.6 due to the usage of f-strings. ARA should also work on python 3.5 now. Web user interface ------------------ - Added a tab at the top of the playbook list to search, sort and filter by date - Search can be based on the playbook's name, path, or status - Sort can be ascending or descending for start date, end date or duration - Filter can show playbooks in the last 60 minutes, 24 hours, 7 days or 30 days - Fixed a bad link to the task file in the detailed result view API --- - Added support for searching date fields for playbooks, plays, tasks and results [1] For example: /api/v1/playbooks?started_before=2019-10-01T09:57:36.489016 /api/v1/results?created_after=2019-10-01T09:57:36.489016 - The duration of items is now calculated and stored in the database model instead of being calculated on demand by the API. This provides the ability to easily sort objects based on their duration. A SQL migration has been added as a result of this change. - Added support for ordering objects by most fields [2] For example: /api/v1/playbooks?order=id (ascending, oldest first) /api/v1/playbooks?order=-id (descending, most recent first) The currently supported fields available for sorting are: - created - updated - started (for playbooks, plays, tasks, results) - ended (for playbooks plays, tasks, results) - duration (for playbooks, plays, tasks, results) - path (for files) - key (for records) - ok, skipped, changed, failed and unreachable (for hosts) - Added support for searching playbooks by their full path or only part of it. For example, a playbook with the path ``/home/user/ansible/playbook.yml`` can be found by searching for either ``user`` or the full path. - Searching for playbook names now also supports partial search. - Improved handling of non-ascii/binary output to prevent UnicodeEncodeError exceptions [3] - Standardized the search by status for playbooks, plays, tasks and results - The built-in development server now checks if psycopg2 or mysqlclient are installed before launching when using the postgresql or mysql database backend. [4] API client ---------- - Added support for ignoring SSL verification [5] Plugins ------- - Added the ``ARA_API_INSECURE`` setting to the callback plugin to ignore SSL verification. CLI --- - Added an ``ara-manage prune`` command to delete playbooks older than a specified amount of days. [6] Documentation ------------- - Refreshed docs on installation - First iteration of documentation for the ``ara-manage`` commands - Docs now require the API server dependencies to be installed so CLI snippets can be included automatically with sphinxcontrib-programoutput. Upgrade notes ------------- - 1.3.0 introduces a new SQL migration to move durations from the API to the database model. If upgrading from a previous version, you will need to run SQL migrations with ``ara-manage migrate``. Referenced or fixed issues -------------------------- [1]: https://github.com/ansible-community/ara/issues/30 [2]: https://github.com/ansible-community/ara/issues/68 [3]: https://github.com/ansible-community/ara/issues/48 [4]: https://github.com/ansible-community/ara/issues/63 [5]: https://github.com/ansible-community/ara/issues/90 [6]: https://github.com/ansible-community/ara/issues/31 -
1.3.0rc2
1.3.0rc2 This is the second release candidate for the 1.3.0 stable release of ARA. Changes since 1.2.0: General ------- - Removed hard requirement on python 3.6 due to the usage of f-strings. ARA should also work on python 3.5 now. Web user interface ------------------ - Added a tab at the top of the playbook list to search, sort and filter by date - Search can be based on the playbook's name, path, or status - Sort can be ascending or descending for start date, end date or duration - Filter can show playbooks in the last 60 minutes, 24 hours, 7 days or 30 days - Fixed a bad link to the task file in the detailed result view API --- - Added support for searching date fields for playbooks, plays, tasks and results [1] For example: /api/v1/playbooks?started_before=2019-10-01T09:57:36.489016 /api/v1/results??created_after=2019-10-01T09:57:36.489016 - The duration of items is now calculated and stored in the database model instead of being calculated on demand by the API. This provides the ability to easily sort objects based on their duration. A SQL migration has been added as a result of this change. - Added support for ordering objects by most fields [2] For example: /api/v1/playbooks?order=id (ascending, oldest first) /api/v1/playbooks?order=-id (descending, most recent first) The currently supported fields available for sorting are: - created - updated - started (for playbooks, plays, tasks, results) - ended (for playbooks plays, tasks, results) - duration (for playbooks, plays, tasks, results) - path (for files) - key (for records) - ok, skipped, changed, failed and unreachable (for hosts) - Added support for searching playbooks by their full path or only part of it. For example, a playbook with the path ``/home/user/ansible/playbook.yml`` can be found by searching for either ``user`` or the full path. - Searching for playbook names now also supports partial search. - Improved handling of non-ascii/binary output to prevent UnicodeEncodeError exceptions [3] - Standardized the search by status for playbooks, plays, tasks and results - The built-in development server now checks if psycopg2 or mysqlclient are installed before launching when using the postgresql or mysql database backend. [4] API client ---------- - Added support for ignoring SSL verification [5] Plugins ------- - Added the ``ARA_API_INSECURE`` setting to the callback plugin to ignore SSL verification. CLI --- - Added an ``ara-manage prune`` command to delete playbooks older than a specified amount of days. [6] Documentation ------------- - Refreshed docs on installation - First iteration of documentation for the ``ara-manage`` commands - Docs now require the API server dependencies to be installed so CLI snippets can be included automatically with sphinxcontrib-programoutput. Upgrade notes ------------- - 1.3.0 introduces a new SQL migration to move durations from the API to the database model. If upgrading from a previous version, you will need to run SQL migrations with ``ara-manage migrate``. Referenced or fixed issues -------------------------- [1]: https://github.com/ansible-community/ara/issues/30 [2]: https://github.com/ansible-community/ara/issues/68 [3]: https://github.com/ansible-community/ara/issues/48 [4]: https://github.com/ansible-community/ara/issues/63 [5]: https://github.com/ansible-community/ara/issues/90 [6]: https://github.com/ansible-community/ara/issues/31 -
1.3.0rc1
1.3.0rc1 This is the first release candidate for the 1.3.0 stable release of ARA. Changes since 1.2.0: General ------- - Removed hard requirement on python 3.6 due to the usage of f-strings. ARA should also work on python 3.5 now. Web user interface ------------------ - Added a tab at the top of the playbook list to search, sort and filter by date - Search can be based on the playbook's name, path, or status - Sort can be ascending or descending for start date, end date or duration - Filter can show playbooks in the last 60 minutes, 24 hours, 7 days or 30 days - Fixed a bad link to the task file in the detailed result view API --- - Added support for searching date fields for playbooks, plays, tasks and results [1] For example: /api/v1/playbooks?started_before=2019-10-01T09:57:36.489016 /api/v1/results??created_after=2019-10-01T09:57:36.489016 - The duration of items is now calculated and stored in the database model instead of being calculated on demand by the API. This provides the ability to easily sort objects based on their duration. A SQL migration has been added as a result of this change. - Added support for ordering objects by most fields [2] For example: /api/v1/playbooks?order=id (ascending, oldest first) /api/v1/playbooks?order=-id (descending, most recent first) The currently supported fields available for sorting are: - created - updated - started (for playbooks, plays, tasks, results) - ended (for playbooks plays, tasks, results) - duration (for playbooks, plays, tasks, results) - path (for files) - key (for records) - ok, skipped, changed, failed and unreachable (for hosts) - Added support for searching playbooks by their full path or only part of it. For example, a playbook with the path ``/home/user/ansible/playbook.yml`` can be found by searching for either ``user`` or the full path. - Searching for playbook names now also supports partial search. - Improved handling of non-ascii/binary output to prevent UnicodeEncodeError exceptions [3] - Standardized the search by status for playbooks, plays, tasks and results - The built-in development server now checks if psycopg2 or mysqlclient are installed before launching when using the postgresql or mysql database backend. [4] API client ---------- - Added support for ignoring SSL verification [5] Plugins ------- - Added the ``ARA_API_INSECURE`` setting to the callback plugin to ignore SSL verification. CLI --- - Added an ``ara-manage prune`` command to delete playbooks older than a specified amount of days. [6] Documentation ------------- - Refreshed docs on installation - First iteration of documentation for the ``ara-manage`` commands - Docs now require the API server dependencies to be installed so CLI snippets can be included automatically with sphinxcontrib-programoutput. Upgrade notes ------------- - 1.3.0 introduces a new SQL migration to move durations from the API to the database model. If upgrading from a previous version, you will need to run SQL migrations with ``ara-manage migrate``. Referenced or fixed issues -------------------------- [1]: https://github.com/ansible-community/ara/issues/30 [2]: https://github.com/ansible-community/ara/issues/68 [3]: https://github.com/ansible-community/ara/issues/48 [4]: https://github.com/ansible-community/ara/issues/63 [5]: https://github.com/ansible-community/ara/issues/90 [6]: https://github.com/ansible-community/ara/issues/31 -
0.16.6
0.16.6 0.16.6 is a maintenance release for ARA 0.x. Changes since 0.16.5: - Fixed web application crash due to encoding/decoding of binary non-ascii content in task results - The sqlite middleware was adapted to support running under gunicorn. - ``python -m ara.setup.env`` now returns commands that use bash expansion to take into account existing environment variables Eventual end of life for ARA 0.x -------------------------------- All new feature and development effort for more than a year has been spent on the master branch of ARA which is the basis of version 1.x releases. Users are encouraged to try the latest release of ARA and create an issue on GitHub if they encounter any issues or missing features. ARA 0.16.6 could be the last release of ARA 0.x if no major issues are found.
-
0.16.6rc2
0.16.6rc2 This is the second release candidate for ara 0.16.6. Changes since 0.16.5: - Fixed web application crash due to encoding/decoding of binary non-ascii content in task results - The sqlite middleware was adapted to support running under gunicorn. Eventual end of life for ARA 0.x -------------------------------- All new feature and development effort for more than a year has been spent on the master branch of ARA which is the basis of version 1.x releases. Users are encouraged to try the latest release of ARA and create an issue on GitHub if they encounter any issues or missing features. ARA 0.16.6 could be the last release of ARA 0.x if no major issues are found.
-
0.16.6rc1
0.16.6rc1 This is the first release candidate for ara 0.16.6. Changes since 0.16.5: - Fixed web application crash due to encoding/decoding of binary non-ascii content in task results - The sqlite middleware was adapted to support running under gunicorn. Eventual end of life for ARA 0.x -------------------------------- All new feature and development effort for more than a year has been spent on the master branch of ARA which is the basis of version 1.x releases. Users are encouraged to try the latest release of ARA and create an issue on GitHub if they encounter any issues or missing features. ARA 0.16.6 could be the last release of ARA 0.x if no major issues are found.
-
1.2.0
1.2.0 This is the 1.2.0 stable release of ARA. Changes since 1.1.0: New bundled reporting interface ------------------------------- - A new simple built-in web reporting interface is now bundled with the API server - The simple web reporting interface can be exported to static html with ``ara-manage generate <path>`` API --- - An ``items`` field was added to playbook, plays and task objects to display the number of child references - The task file path is now available as task.path - Playbook labels as well as ansible_version are now always provided for playbook objects - The "created" and "updated" fields are now provided when querying a host list Settings -------- - New setting to control the timezone used for storing and displaying data: ``ARA_TIME_ZONE`` - New setting to provide a list of regex patterns for whitelisting CORS: ``ARA_CORS_ORIGIN_REGEX_WHITELIST`` - The default for ``ARA_DISTRIBUTED_SQLITE_PREFIX`` was changed from /ara-api to /ara-report Other changes ------------- - Significant performance improvements by reducing the amount of API calls to host and file endpoints by the callback plugin during playbook execution - A basic healthcheck has been implemented at ``/healthcheck/`` to allow simple monitoring of the interface and database connection - ``python -m ara.setup.env`` now returns commands that use bash expansion to take into account existing environment variables - The API clients will strip trailing slashes if they are provided in the endpoints - Removed a needless newline when generating the default settings.yaml file Upgrade notes ------------- The new healthcheck feature adds a dependency on the django-health-check library and includes a SQL migration that needs to be run before it can be used. SQL migrations can be executed by running ``ara-manage migrate``.
-
1.2.0b1
1.2.0b1 This is the first beta release for version 1.2.0 of ARA. Changes since 1.1.0: New bundled reporting interface ------------------------------- - A new simple built-in web reporting interface is now bundled with the API server - The simple web reporting interface can be exported to static html with ``ara-manage generate <path>`` API --- - An ``items`` field was added to playbook, plays and task objects to display the number of child references - The task file path is now available as task.path - Playbook labels as well as ansible_version are now always provided for playbook objects - The "created" and "updated" fields are now provided when querying a host list Settings -------- - New setting to control the timezone used for storing and displaying data: ``ARA_TIME_ZONE`` - New setting to provide a list of regex patterns for whitelisting CORS: ``ARA_CORS_ORIGIN_REGEX_WHITELIST`` - The default for ``ARA_DISTRIBUTED_SQLITE_PREFIX`` was changed from /ara-api to /ara-report Other changes ------------- - Significant performance improvements by reducing the amount of API calls to host and file endpoints by the callback plugin during playbook execution - A basic healthcheck has been implemented at ``/healthcheck/`` to allow simple monitoring of the interface and database connection - ``python -m ara.setup.env`` now returns commands that use bash expansion to take into account existing environment variables - The API clients will strip trailing slashes if they are provided in the endpoints - Removed a needless newline when generating the default settings.yaml file Upgrade notes ------------- The new healthcheck feature adds a dependency on the django-health-check library and includes a SQL migration that needs to be run before it can be used. SQL migrations can be executed by running ``ara-manage migrate``.
-
1.1.0
1.1.0 Changes since 1.0.1: - Added support for dynamically serving multiple sqlite databases dynamically from a single API server instance [1] - ara_record no longer instanciates it's own API client and will instead retrieve the client instance used by the callback. - Django's CONN_MAX_AGE database setting for configuring the duration of a database connection is now exposed [2] - The ARA API client timeout as configured by Ansible through the callback plugin is now always an integer. - The offline API client now has an argument to prevent SQL migrations from running automatically [3] For the ara_api Ansible role [4]: - The role no longer attempts to set up and manage a PID file when setting up a persistent service running with gunicorn. - The bundled selinux policy file for running out of a user's home directory has been updated and is now integration tested. - Added support and integration tests for deploying Django with the MySQL backend [1]: https://ara.readthedocs.io/en/latest/distributed-sqlite-backend.html [2]: https://ara.readthedocs.io/en/latest/api-configuration.html#ara-database-conn-max-age [3]: https://ara.readthedocs.io/en/latest/api-usage.html#ara-offline-api-client [4]: https://ara.readthedocs.io/en/latest/ansible-role-ara-api.html
-
0.16.5
0.16.5 Changes since 0.16.4: - Updated references to the master git branch or documentation now that 0.x development work has been moved to stable/0.x
-
1.0.1
1.0.1 Changes since 1.0.0: - Updated references to the feature/1.0 git branch or documentation now that 1.0 development work has been moved to master - Fixed an issue preventing the HTTP API client from being used unless the server dependencies had been installed. - Added support for customizing the amount of results per page returned by the API with ARA_PAGE_SIZE [1] - The ara_api role now sets up a basic selinux policy when running gunicorn out of a home directory on Red Hat based systems. [1]: https://ara.readthedocs.io/en/latest/api-configuration.html#ara-page-size
-
1.0.0
1.0.0 This is the first release of ARA on top of a new framework and API, dubbed version 1.0. This new release marks the deprecation of ARA 0.x and while full feature parity has not yet been achieved, we are moving forward and we will iterate to add missing features in future releases. Main changes from ARA 0.x: - The backend has been re-written from Flask to Django/Django-rest-framework - A new API as well as built-in API clients are available to record and query playbook results - The project's dependencies have been decoupled: the Ansible plugins, API backend and web interface can be installed independently from one another - The web interface has been re-written as a standalone project -- ara-web: https://github.com/ansible-community/ara-web In summary, all the different components before 1.0, including the web interface, would communicate directly with the database model. After 1.0, these components communicate with the new REST API which results in easier development, maintenance and integration.
-
1.0.0rc1
1.0.0rc1 This is the first release candidate for ARA 1.0. If there are no serious issues with this release, future fixes, improvements and features will ship in dot releases after 1.0. Changes since 1.0.0b2: - Added missing "changed" and "ignore_error" properties to results Misc: - Added frequently asked questions to docs [1] - Added docs on how to contribute to ara [2] [1]: https://ara.readthedocs.io/en/feature-1.0/faq.html [2]: https://ara.readthedocs.io/en/feature-1.0/contributing.html
-
1.0.0b2
1.0.0b2 This is the second beta milestone release for ARA 1.0. If there are no serious issues with this release, future fixes, improvements and features will ship in dot releases after 1.0. Changes since 1.0.0b1 ===================== - Added support for setting playbook labels through Ansible variables - The ara_api role now uses ansible_user_id instead of ansible_user when setting up the gunicorn systemd service. [1] - The ara Ansible roles now use virtualenv_command: /usr/bin/python3 -m venv instead of virtualenv_python: python3 See GitHub issue for details [2] - Bugfix: Fixed a regression when recording tasks from Ansible 2.8 [3] - Removed the concept of host aliases - The STATIC_ROOT directory is no longer created automatically since it is not required. - Django timezone settings have been enabled and have been set to UTC. - Added documentation on setting playbook names and labels [4] - Added documentation on ara_record [5] - Added documentation for configuring Ansible to use ARA [6] - Added documentation for configuyring ARA Ansible plugins [7] [1]: https://github.com/ansible-community/ara/issues/44 [2]: https://github.com/ansible-community/ara/issues/43 [3]: https://github.com/ansible-community/ara/issues/46 [4]: https://ara.readthedocs.io/en/feature-1.0/playbook-names-and-labels.html [5]: https://ara.readthedocs.io/en/feature-1.0/ara-record.html [6]: https://ara.readthedocs.io/en/feature-1.0/ansible-configuration.html [7]: https://ara.readthedocs.io/en/feature-1.0/ara-plugin-configuration.html -
0.16.4
0.16.4 This is a stable release of ARA, 0.16.4. *** WARNING: Please note that the next major version of ARA, 1.0, is currently in beta and is not backwards compatible with ARA 0.x. In order to avoid upgrading unexpectedly when 1.0 is released, we recommend pinning ara to <1.0.0 in your scripts and requirements. *** Changelog since 0.16.3: - Fixed a regression when saving tasks with Ansible 2.8 [1] [1]: https://github.com/ansible-community/ara/issues/46 -
1.0.0b1
1.0.0b1 This is the first beta milestone release for ARA 1.0. Main changes since 1.0.0a4 ========================== - API: "/api/v1/info" has moved to "/" and "/" was improved with a link to the API index - API: CORS_ORIGIN_WHITELIST now requires the scheme (http/https) as per django-cors-headers - API: Playbook arguments are now provided when listing playbooks at /api/v1/playbooks - Clients: API clients now support authenticating with specified credentials - Ansible roles: The ara_api role now supports using postgresql for the server database Packaging ========= The API server dependencies are now optional when installing ARA 1.0. They can be installed by specifying the [server] extra requirement: pip install [--pre] ara[server] Local or offline usage of ARA 1.0 still requires the API server dependencies installed but the server does not need to be running. In addition, when using postgresql, the psycopg2 library can be installed by specifying the [postgresql] requirement: pip install [--pre] ara[server,postgresql] Miscellaneous ============= - The code review and CI infrastructure was rebranded from OpenStack to OpenDev - The GitHub mirror is now available at https://github.com/ansible-community/ara - Bug, issue and feature tracking have been moved to https://github.com/ansible-community/ara/issues -
1.0.0a4
1.0.0a4 This is the fourth alpha milestone tag for ARA 1.0. Main changes: - An API refactor has landed to return the right things in the right context, bringing us closer to a stable API - There is no longer a dedicated model and API for stats, they are now part of the hosts API. - The ara.setup.* python modules to help configure Ansible with ARA have been ported from 0.x to 1.0. - Integration tests have been made easier to run - Improvements to documentation You can find the full list of changes since 1.0.0a3 on GitHub: https://github.com/ansible-community/ara/compare/1.0.0a3...1.0.0a4
-
1.0.0a3
1.0.0a3 This is the third alpha milestone tag for ara 1.0. Main changes: - The code and git repositories for ara-server, ara-clients and ara-plugins have been merged back into the feature/1.0 branch of ara [1]. - Documentation for ARA 1.0 is live on readthedocs [2] - There is a new built-in Ansible role for deploying the API server [3] - There is a new built-in Ansible role for deploying the web client [4] [1]: https://github.com/openstack/ara/tree/feature/1.0 [2]: https://ara.readthedocs.io/en/feature-1.0/ [3]: https://ara.readthedocs.io/en/feature-1.0/ansible-role-ara-api.html [4]: https://ara.readthedocs.io/en/feature-1.0/ansible-role-ara-web.html
-
0.16.3
0.16.3 This is a stable release of ARA, 0.16.3. *** WARNING: Please note that the next major version of ARA, 1.0, will contain backwards incompatible changes due to significant refactor work involving core back end code as well as the SQL database schema. *** Changelog: - Update integration tests to target latest versions of Ansible (2.7.6, 2.6.12 and 2.5.14) - Adjust how CLI options are saved to support the upcoming release of Ansible, 2.8.