Commit Graph

127 Commits

Author SHA1 Message Date
David Moreau Simard 4a8711e73c
opendev: Remove content and leave an URL to the GitHub repository
Change-Id: I82a3238b6a8c21e6bb8056aca22ef71af9ea2538
2021-02-25 15:16:53 -05:00
David Moreau Simard f8b6092336
Improvements to the README
- Include "what it does"
- Simplify some sections
- Update COPYRIGHT

Change-Id: I49786a7bf1dcac4a22531b0f7658cab0525d0f90
2021-02-16 12:15:40 -05:00
David Moreau Simard 5171bf9e97
misc: Use demo.recordsansible.org instead of api.demo
ara-web isn't currently in a state where we can demo it and it tends to
confuse users so remove it's mention for now.

Given that we no longer have a distinction between api and web, use
plain "demo.recordsansible.org" instead.

Change-Id: I788d5d457fc011364a7839172fbadc5c24de76d4
2021-01-17 13:14:16 -05:00
David Moreau Simard 7e2a76fe2e
readme: remove transparency in workflow diagram
Otherwise the diagram is not really readable with the github dark mode
enabled.

Change-Id: Ifcd1096db1d734cafc81e9dd0b5913334e3b1dd4
2020-12-21 17:21:12 -05:00
David Moreau Simard ead57e0c67
docs: add release notes for 1.5.4
Change-Id: Ie83978f80f4c5995920e5a8a10fcf09c0744bf0e
2020-12-21 15:12:39 -05:00
David Moreau Simard f3da150e10 cli: Add 'ara playbook metrics'
This provides a first implementation in order to retrieve playbook
metrics through the CLI.

Change-Id: Id04359b798b86f5e2131aa772d4871c521acfc45
2020-12-18 21:36:29 +00:00
David Moreau Simard 4b5f09df87 cli: Add 'ara host metrics'
This provides a first implementation for retrieving host metrics through
the CLI.

Change-Id: Iaf2cb3960a60113b6068cc36c236b6ff733585b9
2020-12-18 21:36:21 +00:00
David Moreau Simard 7e6635da73 cli: Add 'ara task metrics'
This is a first implementation that provides a way to get metrics about
tasks.

Change-Id: Id0d14ab3c62a5c76fd8f7de1a447b8e16c80771a
2020-12-18 21:35:56 +00:00
David Moreau Simard 4fe18c6492
callback: disable threading by default
Threading is prone to database lock exceptions when using the default
database backend (sqlite) and so disable it by default.

Users can enable threading when using mysql or postgresql by specifying
the ARA_CALLBACK_THREADS environment variable or callback_threads in
ansible.cfg.

Fixes: https://github.com/ansible-community/ara/issues/195
Change-Id: I80edfd6268684722c2783e01323355d791c19b9d
2020-12-18 10:25:01 -05:00
David Moreau Simard e91dba21b3
docs: Fix typo for ARA_ARGUMENT_LABELS
Change-Id: I7b249c47d1d914a26c7da323e74010d6108b3089
2020-11-04 10:35:57 -05:00
David Moreau Simard 3037c16db1
docs: Add images and gifs to contributor docs
This will hopefully make it a bit clearer while also making it less
intimidating.

Change-Id: I02df43ae2b454810607f5d21c0b9e99a844f4637
2020-11-01 10:20:51 -05:00
David Moreau Simard f3db07dfdf
docs: Add notes on reclaiming disk space after pruning
Change-Id: I3eab885ac76a420296c72396dcb5b12e4b5acb53
2020-10-26 10:47:58 -04:00
David Moreau Simard c635b34b69
docs: add 1.5.3 to release-notes
Change-Id: Ia261e660122da6a5f096fcd399550453e8ea1093
2020-10-26 10:32:45 -04:00
David Moreau Simard d3ad37162b
docs: Add release notes for 1.5.2
Change-Id: I212f70eca80c7c7762a9df1f9158e1c6bb57d7b2
2020-10-22 08:53:21 -04:00
David Moreau Simard 3bebf1ea92
docs: s/ara-api/ara-report/ for distributed sqlite
At some point the default was changed from ara-api to ara-report and so
it makes sense to use ara-report in the examples instead of ara-api.

Change-Id: I9962565c8466e9afad01b80e2922af1f154a5f8b
2020-10-15 12:47:15 -04:00
David Moreau Simard e7619066f1 docs: Add 1.5.1 release notes
Change-Id: Iaf4be18662d6214bddde427bea55b6a9bddb602b
2020-09-23 14:23:52 -04:00
David Moreau Simard 6c7ac4cc3f
Add 1.5.0 to release notes in documentation
Change-Id: I6510c5c7750cfff53eacfa293d67da67f88ef857
2020-09-23 13:12:49 -04:00
Zuul a8efa9da73 Merge "readme: refresh built-in UI screenshot" 2020-09-23 14:31:35 +00:00
Zuul 8e823c99d5 Merge "readme: mention ara cli and include a screenshot" 2020-09-23 14:31:34 +00:00
David Moreau Simard bf851d8d7f
readme: refresh built-in UI screenshot
Change-Id: If84e957fb838f693167a27acbc54d5c62eb34a6e
2020-09-22 23:40:01 -04:00
David Moreau Simard a86b233f0d
readme: mention ara cli and include a screenshot
Change-Id: Ibb1a86ddb006a6ed28d8e6626b44e575d511f668
2020-09-22 23:21:11 -04:00
David Moreau Simard 5fa1377c51
docs: clarify directory in container getting started
Change-Id: Ie720dbefa0e16781edc85720ac768e6e485974b2
2020-09-22 22:00:51 -04:00
David Moreau Simard fa3bc74eb5
callback: Add argument_labels feature
This new configuration option will label playbooks automatically
based on CLI arguments picked up by the callback.

For example, when "--check" is used, it would label the playbook with
the label "check:True" or "check:True" when it isn't used.

Related: https://github.com/ansible-community/ara/issues/148
Related: https://github.com/ansible-community/ara/issues/119
Change-Id: Ifd475875bf83a21ab35c9cf0ac0410520b98d804
2020-09-18 20:07:43 -04:00
David Moreau Simard c639f438de
CLI: Add "ara expire" to expire old running objects
This new command will allow to change the status of objects that have
been running for more than 24 hours (by default) without being updated
and so we are expecting these to never finish.

Change-Id: Iedbac84188fc4202f51e405d2fae0a35d34b3a1d
Related: https://github.com/ansible-community/ara/issues/26
2020-09-17 10:45:12 -04:00
David Moreau Simard c3874e54f3
API: Add an "expired" status for playbooks, plays and tasks
This status can eventually be set from different contexts and for
different reasons but for now the main use case is to timeout
objects that have been in the running status for too long and will
never complete.

Change-Id: I13682a69ff2aa3d3609528583209007aa93ded0d
Related: https://github.com/ansible-community/ara/issues/26
2020-09-17 10:31:22 -04:00
David Moreau Simard 74defc2273
API: Stop returning nested children resources
When querying the API for a playbook's detail, it would return all of
it's children (hosts, files, tasks, results) which could be very slow
when dealing with larger playbooks.

We no longer do that for playbooks as well as plays and tasks.
Instead, we can easily find a playbook's resources by searching for them
with the playbook id like so:

- /api/v1/plays?playbook=<id>
- /api/v1/tasks?playbook=<id>
- /api/v1/results?playbook=<id>
... and so on.

This commit adapts the built-in UI because it would've otherwise been
broken by the change.

Fixes: https://github.com/ansible-community/ara/issues/158
Change-Id: I442bff657e5da9d6a3916ebdbc5e66c0e670b00f
2020-09-06 11:57:32 -04:00
Zuul 15cd6a39f6 Merge "CLI: Add API filtering arguments to 'ara playbook prune'" 2020-08-29 02:13:20 +00:00
David Moreau Simard 8ff1693f81
docs: use creatordate instead of authordate in relnotes
These can be different dates, use creatordate to reflect when the tag
was actually pushed.

Change-Id: Ia375aca5c1eef3a3d16e104feea1a4063d9ebef7
2020-08-28 10:22:55 -04:00
David Moreau Simard 41b307e341
docs: Add changelogs and release notes
These were only previously available under git tags but it's useful to
have them included in the docs.

They're generated by the included rudimentary bash script,
changelog-release-notes.sh.

Fixes: https://github.com/ansible-community/ara/issues/167
Change-Id: Ia82edb010de0fd4f6bc891d979b33c42726b2135
2020-08-27 23:46:15 -04:00
David Moreau Simard f26694496e
CLI: Add API filtering arguments to 'ara playbook prune'
These are mainly ported from 'ara playbook list'.

The API support setting the --limit argument to any number and it will
override pagination settings.

Here we are defaulting the limit to 200 instead of a very high number.
It's still meaningfully more than the default pagination setting of 100
while keeping the scale of the damage down in case of footgun scenarios.

Users are free to provide a higher limit if they want, ex: --limit 9000.

Fixes: https://github.com/ansible-community/ara/issues/166
Change-Id: I0a2aab6fedeea758a64b71452f7e249fb8ac516c
2020-08-27 19:54:37 -04:00
David Moreau Simard 06f888852a
docs: mention that ara works on Mac OS too
We have reports that ara works out of the box on Mac OS so include a
note about it.

Change-Id: I05a40510b1bb1b797a1ebdf471c7aecc881ba711
2020-08-25 13:46:43 -04:00
David Moreau Simard 6ba1c5d30a
docs: fix extra indentation in label example
Change-Id: Iacb8a777e7407c0bb76530325b50b276fa8eed4f
2020-08-23 13:11:05 -04:00
Zuul 88a7440e8f Merge "Docs: refresh installation docs" 2020-08-22 18:16:45 +00:00
Zuul 2c93e77d3c Merge "CLI: Deprecate 'ara-manage prune' in favor of 'ara playbook prune'" 2020-08-22 18:16:44 +00:00
David Moreau Simard ff0c9b5acd
Docs: refresh installation docs
Largely inspired by the getting started guide from the README.

- Move installation to getting-started
- Include note about API server on RHEL7/CentOS7
- Mention the Ansible collection in favor of roles
- Add link to Debian packaging
- Add container instructions

Fixes: https://github.com/ansible-community/ara/issues/99
Fixes: https://github.com/ansible-community/ara/issues/137
Change-Id: I0df4fa014038d311d5478e066da7f36e2f453ad2
2020-08-22 13:45:44 -04:00
David Moreau Simard 78a18088b4
CLI: Deprecate 'ara-manage prune' in favor of 'ara playbook prune'
Back when ara-manage prune was implemented, we didn't yet have a CLI
framework for running commands and so it was implemented using django.

Now that we have a CLI framework, move the command where it belongs.

Fixes: https://github.com/ansible-community/ara/issues/162
Change-Id: Ia3169f4966808611728bb7a70813a66423e54caf
2020-08-22 12:51:49 -04:00
David Moreau Simard 7ef2bb340a
docs: Refresh structure, Ansible plugins and configuration
- Merge documentation about plugins and their use cases in a single page
- Improve documentation about plugins and their use cases
- Streamline docs on setup helpers
- Expand toctree on the index from 2 to 3 to include deeper headers
- Rename and re-order sections
- Generally decapitalize ara
- Generally remove personal pronouns (you, your, etc.)
- Allow line lengths up to 120 up from 80

Change-Id: If79a47ff66fc90415ed74f8507c3fe82d4f3488d
2020-08-22 11:32:57 -04:00
David Moreau Simard 957eddeb8c
server: Add DATABASE_OPTIONS to settings
This is required for some use cases such as configuring SSL certificates
with remote database backends.

Related: https://github.com/ansible-community/ara/issues/157
Change-Id: I3ae6deee753c9644a1a3e5b8eddbbcd86f9cd10b
2020-08-21 16:23:08 -04:00
Michal Arbet ddaed97ad1 Add docs for external_auth configuration
Related: https://github.com/ansible-community/ara/issues/124

Change-Id: Ibad626c45b83a0333875d7e743ca090fcb1ea6fe
2020-08-17 16:35:05 +02:00
David Moreau Simard 9e88f33c5e
Fix settings regression and unpin dynaconf
Settings were failing to load with dynaconf>=3.0 because there was a
breaking change that disabled environments loading [1].

Fixes: https://github.com/ansible-community/ara/issues/149

[1]: https://www.dynaconf.com/release_notes/#breaking-changes

Change-Id: Ia97ba4a7f10aedc3b3c30b58beed68baa329cad3
2020-08-10 20:09:57 -04:00
David Moreau Simard 8628be9c45
Temporarily pin dynaconf to <3.0
The new release of dynaconf has changed how settings are loaded and this
is causing issues. Pin it while we figure out the fix.

Change-Id: If0c25fbb207ec78ff30e62cafa7c077b10a3f90a
2020-08-02 19:39:16 -04:00
David Moreau Simard 81e3558fe2
CLI: Port "ara record delete" from 0.x
This provides the ability to delete a specified record.

Change-Id: Ib721fede4fb27f7b630830d8de38ce3ae52c8ec7
2020-08-01 19:03:12 -04:00
David Moreau Simard 6c78cf1151
CLI: Port "ara record show" from ara 0.x
This allows to display details for a specific record.

Change-Id: I33d0cd9b12be67939ba20f0f6351055dae8416b5
2020-08-01 18:59:40 -04:00
David Moreau Simard cabce63bae
CLI: Port "ara record list" from ara 0.x
This provides a list view of the records saved through ara_record.

Change-Id: I9c5bc84ee4716b65bfc11eef94291dad3616693f
2020-08-01 18:55:01 -04:00
David Moreau Simard 7f59a932f8
CLI: Port "ara play delete" from ara 0.x
This provides the ability to delete a specified play.

Change-Id: I06505785e7facdbb43ae62cd92cf40ae4db7d5af
2020-08-01 16:40:21 -04:00
David Moreau Simard b2fdd45c99
CLI: Port "ara play show" from ara 0.x
This allows to display details about a play.

Change-Id: Ibd1bb6824d6ee219bf525cf64b2aafb6e8df426a
2020-08-01 16:40:21 -04:00
David Moreau Simard 3b657e3fb0
CLI: Port "ara play list" from ara 0.x
This allows to list plays, optionally based on their name or playbook.

Change-Id: If26840cb0944d3b2a319b2a3f7405f2fca60c2f6
2020-08-01 16:40:18 -04:00
David Moreau Simard f57b96ade3
CLI: Add status filtering to 'ara host list'
This adds the "--with(out)-{failed,changed,unreachable}" arguments
to 'ara host list' in order to filter hosts based on task result stats.

Change-Id: If0d61cc7d9adf962e8e6a2740660d53e3bb2799c
2020-07-22 21:07:44 -04:00
David Moreau Simard 96e26dc650 CLI: Port "ara task delete" command from ara 0.x
This provides support for deleting a specific task.

Change-Id: I3c9ea49b025e8d83a3702ddb9252084371fdc6ce
2020-07-22 02:46:17 +00:00
David Moreau Simard 9e54b26a34 CLI: Port "ara task show" command from ara 0.x
This command retrieves and returns details about a specific task.

Change-Id: I3f28c9eb46b5e13922f9a38de0eb7c98f961e8b9
2020-07-22 02:46:11 +00:00