[PATCH 00/26] lucid: complete the dynamic-output callback plugin
Daniel Gomez <[email protected]> Tue, 19 May 2026 15:27:57 +0200
| Newsgroups | dev.linux.lists.kdevops |
|---|---|
| Message-ID | <[email protected]> |
This series brings the lucid Ansible callback plugin from a minimal prototype to a feature-complete callback. It adds coverage of hooks lucid did not implement (include/import, vars_prompt, async progress, file diffs, per-item command logging for loops, exception tracebacks), honors standard Ansible display options (display_*, show_task_path_on_failure, result_format), and addresses concurrency hazards in the dynamic display via task_lock snapshots and output_lock serialization. Lucid should now be ready to replace the default callback for any kdevops invocation without losing information the default would have surfaced. The series closes with unit tests for the callback plugin. Signed-off-by: Daniel Gomez <[email protected]> --- Daniel Gomez (26): lucid: drop task.args raw-template fallback lucid: skip command logging for skipped/unreachable lucid: show exception tracebacks on task failures lucid: freeze dynamic display on unreachable tasks lucid: show current play name in dynamic display lucid: defer play header until first task runs lucid: filter empty argspec validation tasks lucid: log per-item command and output for loops lucid: show failed loop items on screen lucid: use typing.List for Python 3.8 compat lucid: serialize display output with output_lock lucid: snapshot shared state under task_lock in display lucid: replace daemon thread with atexit cleanup lucid: add author metadata and doc fragments lucid: honor standard display_* options lucid: honor show_task_path_on_failure option lucid: strip internal keys from logged results lucid: render on-screen results via _dump_results lucid: render task diffs on --diff lucid: handle include/import task events lucid: handle notify and empty host sets lucid: report async task progress lucid: handle vars_prompt lucid: use Display.columns for terminal width lucid: emit section banners via Display.banner lucid: add unit tests for callback plugin callback_plugins/lucid.py | 746 +++++++++++++++++++++++++++++------ tests/__init__.py | 0 tests/callback_plugins/__init__.py | 0 tests/callback_plugins/test_lucid.py | 386 ++++++++++++++++++ 4 files changed, 1004 insertions(+), 128 deletions(-) --- base-commit: 1a61f43dc2bc2e019fc4a35d9673cfa31909272d change-id: 20260518-b4-lucid-82556c126ac6 Best regards, -- Daniel Gomez <[email protected]>