Commit Graph

725 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 bd3730e1d3
zuul: remove nodesets
This is a follow up to the previous commit -- now that there are no
longer any jobs that use these nodesets we can remove them here.

Change-Id: I84b5554184cfdbc006ed970559c4cb3e47a02768
2021-02-25 15:00:24 -05:00
David Moreau Simard 3053583ddb
zuul: transition to noop jobs
The Zuul CI jobs will be re-introduced later while the project migrate
to another Zuul instance.

Change-Id: I9b6669bab4998261d681ee9ba92c927dcb7f3ed3
2021-02-25 14:37:47 -05:00
David Moreau Simard 97baaa0808
Remove playbooks from the repository
They should have been removed in f4a40db53e
that also removed roles but I forgot about them.

Change-Id: Ic639156f6f2fc3e3ef7db9747dd32cc572e57c2e
2021-02-25 10:46:55 -05:00
Zuul 9eb6d9b8fd Merge "tests: Add a playbook to test ara with mitogen" 2021-02-25 14:03:14 +00:00
Zuul 266faf67aa Merge "contrib: Add an example playbook to send Slack notifications" 2021-02-25 04:30:07 +00:00
David Moreau Simard ccad5e992f
tests: Add a playbook to test ara with mitogen
This way we can test it if need be.

Change-Id: Ia21785ea38e2ccbc7220bad354431ca4cf7d184f
2021-02-24 23:18:08 -05:00
David Moreau Simard f4a40db53e
Remove Ansible roles from the repository
These have been moved out to an Ansible collection:
https://github.com/ansible-community/ara-collection

Leaves a README.rst to tell users where to look for for a while.

Because the existing Zuul CI jobs relied on these roles, this also
changes the Zuul config to use the jobs that are used to test the
collection instead.

Related: https://github.com/ansible-community/ara/issues/71
Change-Id: I1c573d8677d36cfd431101f1f181253c1cce3bc1
2021-02-24 22:04:43 -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 f4ec13a5bf
ui: discard search arguments in links to index and playbooks
The intent when clicking on these is to return to the full unfiltered
index.

Change-Id: I1908acb6ab8d7a446b924bbe1d80627bf7901a35
2021-01-29 10:43:59 -05:00
David Moreau Simard fa8bfcb8bd
ui: Keep form arguments when filtering/sorting by date/duration
The links provided by the UI when filtering or sorting by date/duration
didn't carry existing search arguments so if you sorted or filtered, you
lost existing search queries.

The sorting and filtering is now handled by the same django form which
takes care of keeping our arguments around.

Fixes: https://github.com/ansible-community/ara/issues/201
Change-Id: I03af5baaadd7fd731133db3ad83dee74ed4813ba
2021-01-29 10:43:59 -05:00
Zuul 9144020d7d Merge "cli: add missing controller arg to playbook metrics" 2021-01-22 21:38:37 +00:00
David Moreau Simard 294d90fe8d
cli: add missing controller arg to playbook metrics
This provides the ability to get playbook metrics for a specific
controller.

Change-Id: I57abfc1bf6ef5e0ceb420da4f9a28094269a78ab
2021-01-22 11:21:31 -05:00
David Moreau Simard e3d358f99e
ui: stop filtering status to changed for successful playbooks
It's useful to filter status to failed/unreachable for failed playbooks
but filtering for changed results by default often leads to no results
being shown at all in the case of playbooks without changes.

I find myself clicking "clear filter" more times than the default filter
being useful so let's not do that anymore.

Change-Id: I7635a2282e1e12bbab4224960d36055a80be8f50
2021-01-22 11:16:03 -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 f9500e1b50 api/cli/ui: add support for searching by ansible_version
This allows to search playbooks for a specific ansible version.

Change-Id: Ie9e53d39993b1c6b7b2ff5ed06885116cb8c526a
2021-01-14 18:31:12 +00:00
David Moreau Simard 7b7849bb0f ui: fix syntax highlighting in result details
We were not including the pygments css file in the result details page
so despite the right css classes being set by the format_data filter, we
didn't have any highlighting.

Change-Id: Iae20c9ec82164bb24b69e4c056aec281b7ac40dc
2021-01-14 18:31:00 +00:00
David Moreau Simard f80ad9b2f2 ui: render nested results like regular results
Results for a task which involves a loop are typically stored in a
'results' list. This renders these results like normal ones inside the
'results' key instead of being raw json.

Change-Id: I3ec57d5f4fbe94809e7feef75b9f7f9e423a8a8b
2021-01-14 18:30:47 +00:00
David Moreau Simard 13837784e3
ui: Improve display for result diffs
Fixes: https://github.com/ansible-community/ara/issues/29

Change-Id: Id4442f0f9c4dcb5520f63970bb9fb17a03d5ec0d
2021-01-14 09:46:54 -05:00
David Moreau Simard 5086b29086
docs: fix typo in link to fedora package
Change-Id: Ie05476084d4dceb76ca8d6ceda00379043b4d403
2020-12-27 21:45:20 -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 52b201dae2
Add support for recording controller fqdn
The controller fqdn that ran the playbook is now recorded and can be
searched for both in the UI and the CLI.

Fixes: https://github.com/ansible-community/ara/issues/193
Change-Id: I53e8d158fc3b6ba7a16582234aaa2542eab5fcdc
2020-12-18 16:35:40 -05:00
David Moreau Simard a4f21d6e3f
tests: miscellaneous improvements to container build tests
- add debug logging and recover the log files
- discard database and settings file between container tests

Change-Id: Ifd8a8d544c4c550873a9eb586de038710a60ba05
2020-12-18 16:31:11 -05: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 a000a888a7
zuul: remove f31 nodeset
We don't use it anymore.

Change-Id: I059ea1e0c0c20f003fd1211d59615c2f8555760f
2020-12-17 14:54:47 -05:00
David Moreau Simard e1d470f289
container images: fixes and update to f33
- Install which (because it's sometimes not installed by default)
- Fedora 33 images are out now, build and publish them
- Remove PyYAML workaround that is no longer necessary

Fixes: https://github.com/ansible-community/ara/issues/192
Change-Id: Ia64455655cd37299d84c657a3dc87e079f92f790
2020-12-04 22:08:47 -05:00
Zuul 1b848c7c36 Merge "ui: Add play name to task result details" 2020-11-14 02:13:07 +00:00
Matt Phillips 3e5649b0cd callback plugin: use utc timezone for now()
rather than a tz-naive stamp. ara drf should do the right thing with
timezones based on the now included iso tz.

Change-Id: I64e486e9c7d9ebe8ec48f9565ac42b3eecd9a788
2020-11-13 10:21:46 -05:00
David Moreau Simard 51053c72a6
ui: Add play name to task result details
Change-Id: I5b1b301a65b63b0c9b2254e36ebc9e780f0f0c08
2020-11-07 12:51:04 -05:00
Zuul 31a30bfe2f Merge "docs: Fix typo for ARA_ARGUMENT_LABELS" 2020-11-04 19:49:52 +00: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 b2cccd019c
tests: add a tox target to run benchmarks
Run benchmark with default settings:
    tox -e benchmark

Run benchmark with specified number of hosts or tasks:
    tox -e benchmark -- -e benchmark_host_count=50

Change-Id: I295967c6fb39ec5e02a80b863bde4c57fc6f2139
2020-11-04 09:22:24 -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 c511ff94e7
tests: include the max task count in benchmark
This way we can tell the progress.

Change-Id: Ic7e622636ba58228f78cdafe639b013781766cb0
2020-11-01 09:46:14 -05:00
David Moreau Simard ce36d2ed67
zuul: update token for pushing to quay.io
We weren't using the right service account with the right permissions.

Change-Id: I5b96b3a367cd7469e57b9dc6a76456bdb35eaa28
2020-10-27 15:07:16 -04:00
David Moreau Simard 0493ce7015
zuul: fix image publishing with quay.io
Variable precedence is higher in the playbook than from the job vars
which are provided through the inventory.
Use another variable and default properly instead.

Change-Id: I8c5cf72c78ea01ba1bc0a6fef2f9499837e9b262
2020-10-27 10:34:10 -04:00
David Moreau Simard a2fa087f3c
zuul: add post-job to publish container images to quay.io
With the coming rate limiting on docker hub, users might want to have an
alternative to pull from.

Change-Id: I35714fdd069165c9766371c83393aa431237ccec
2020-10-26 23:09:47 -04: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 bba0f8143c
callback: tweak threading based on api client
When using >=2 threads with the offline client, the playbook execution
can sometimes, but not always, lock up.

The issue doesn't appear to reproduce when using a single thread so do
that for now.

Otherwise, default to 4 threads as a more conservative default to
prevent hitting urllib's connectionpool max.

Change-Id: I2b0c57f784be36685619d80549fa626c385b0e04
2020-10-23 10:44:12 -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 3837b3b6e2
callback: push non-blocking calls to threads
There are some parts of the callback that need to be synchronous because
they rely on an object that must be created before, for example.

However, for the parts that don't need to run synchronously, thread them
so we don't block Ansible from running.

This results in a dramatic performance increase.

Related: https://github.com/ansible-community/ara/issues/171
Change-Id: I4317d1d1175a5286704b04f57de9ef73fa911a3a
2020-10-16 15:34:19 -04:00
David Moreau Simard e4370a0f2f contrib: Add an example playbook to send Slack notifications
This leverages ara to send notifications to Slack for new playbooks.

Change-Id: I292151ac9f2fada8d38510b95d3328bf38e1a8ce
2020-10-16 17:06:13 +00:00
Zuul d5721aec83 Merge "tests: Add a simple benchmarking playbook" 2020-10-16 13:50:55 +00: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 d301f9462f
ui: add amount of tasks in the playbook card and table
We had this data but we didn't include it for some reason.
It's at least as much relevant as the other numbers displayed so include
it.

Change-Id: I9b95a2cbe2bbee5bba1392e2d7d4afd6eebc6d03
2020-10-14 22:17:13 -04:00