Skip to content

v1.2.0 - Molecule scenarios and distro detection hardening

Choose a tag to compare

@sameeralam3127 sameeralam3127 released this 16 Aug 14:57
· 68 commits to main since this release
f45661d

Published to Ansible Galaxy.

This release folds in the unpublished 1.1.0 work. See CHANGELOG.md for the full detail.

Testing (1.2.0)

  • Molecule scenarios for Ubuntu 24.04, Rocky Linux 9, Fedora 42, and openSUSE Leap 15, each booting a container with systemd as PID 1 and running vitals_scan -> vitals_heal -> vitals_report end to end, asserted against the generated JSON report, the rendered dashboard, and the container itself. Run as a CI matrix on every push. See docs/testing.md.

Fixed by what those scenarios found

  • Self-healing never restarted anything. It required state == 'failed' and a status containing enabled, but service_facts reports a failed systemd unit as state: stopped, status: failed, so nothing could ever match both.
  • Healing outcomes never reached the report -- vitals_scan builds the result before vitals_heal runs, leaving services_healed, healing_results, and the follow-up findings empty.
  • The scan crashed on any host without a separate /boot mount, common on cloud images that keep /boot on the root filesystem.
  • selinux_status rendered as an empty string on Debian hosts.

Kernel and reboot detection (1.1.0)

  • Reboot detection reports how it decided: reboot_required_source, reboot_detection_supported, reboot_required_packages, and a human-readable reboot_reason, surfaced in the JSON report (schema 1.2), webhook payload, Slack breakdown, and dashboard.
  • Per-distro handling: Debian/Ubuntu marker files plus pending packages, needs-restarting on RHEL with a dnf needs-restarting --reboothint fallback for dnf5, and zypper needs-rebooting on SUSE.
  • Bootloader default resolution now understands BLS drop-in entries and systemd-boot loader.conf defaults, and normalises kernel paths before comparison.
  • An unusable distro check is no longer read as "no reboot needed" -- those hosts fall back to a running-vs-latest kernel comparison and say so.
  • New docs/kernel-reboot-detection.md documenting the detection order and known edge cases.