action #49202
closedMake audit events more accessible to testers
Description
The audit events which can be found on https://openqa.suse.de/admin/auditlog and https://openqa.opensuse.org/admin/auditlog respectively in production currently look like so
acarvajal job_restart { "id": "2539127", "result": { "2539127": 2540030, "2539128": 2540031, "2539129": 2540032, "2539130": 2540033 } }
coolo job_create { "id": 2540028 }
system command_enqueue { "command": "cancel", "workerid": 1061 }
cfconrad jobtemplate_delete { "id": "16093" }
cfconrad jobtemplate_create { "affected_rows": null }
With the PR fixing the value of affected_rows
the last example might look like so
cfconrad jobtemplate_create { "affected_rows": 2 }
Two kinds of problems are common to all of these events:
- the IDs require knowledge of the code to construct a URL or SQL query
- some values on their own are not sufficient to make use of, such as the number of rows affected
To fix this I'm proposing:
- Events carry the minimum info needed to lookup the real data ie. iso_create only needs to contain the product id
- The audit log UI should link to the relevant page, making it easy to check the details ie.
Job 1234 restarted
would be a hyperlink displayed for events of type "job_restart" human-readable names be used in the events which don't require knowledge of the codebase
Acceptance criteria¶
- AC1: All events have an id
- AC2: Events have a clickable link
Updated by pcervinka almost 6 years ago
I like the idea of better human readable logs.
Updated by livdywan over 5 years ago
- Subject changed from Add human-readable names to audit events to Make audit events more accessible to testers
- Description updated (diff)
Updated by livdywan over 4 years ago
- Description updated (diff)
- Status changed from New to In Progress
- Assignee set to livdywan
Updated by livdywan over 4 years ago
A few points came up during an impromptu meeting:
- We can drop job settings from events, because they are part of the job, provided we have the id
- Posted isos end up in the product log, so we can link to that w/o storing data in the event
- The restart event could be made useful by adding (git) versions to it
- We should define the use cases for the audit log (events) and consider dropping events, or at least in the context of this ticket, focus on useful events
We all agreed to keep this focussed on the basics. There should be no big changes involved.
Updated by livdywan over 4 years ago
- https://github.com/os-autoinst/openQA/pull/3329 Render links to items in the audit log
- https://github.com/os-autoinst/openQA/pull/3328 Always emit jobtemplate_create with an ID
- https://github.com/os-autoinst/openQA/pull/3330 Emit jobgroup_create with an ID
Updated by livdywan over 4 years ago
- https://github.com/os-autoinst/openQA/pull/3356 Emit table_create with an ID
Updated by livdywan over 4 years ago
Semi-related, I noticed worker_register
events were untested. And since we also discussed dropping unnecesary data, I went ahead and removed caps and job ID's from the event: https://github.com/os-autoinst/openQA/pull/3357
Updated by livdywan over 4 years ago
cdywan wrote:
- The restart event could be made useful by adding (git) versions to it
I filed #70906
- We should define the use cases for the audit log (events) and consider dropping events, or at least in the context of this ticket, focus on useful events
Í'm not sure where we would best document this. Might make sense to leave for another ticket to avoid dragging this out.
On that note I will consider this as done as per the criteria once the respective PRs are merged.
Updated by livdywan over 4 years ago
One more PR:
https://github.com/os-autoinst/openQA/pull/3361
Without this fix, individual Tables table items cannot be linked from the log.
Updated by okurz over 4 years ago
Updated by livdywan about 4 years ago
- Status changed from In Progress to Feedback
Updated by okurz about 4 years ago
- Status changed from Feedback to Resolved
All rolled out on o3. I think it works nicely and I see the ACs fulfilled.