fix: report which services are enabled, and whether an action worked
get_services() read list-unit-files' second column, which since systemd 245 is followed by a preset column -- "enabled enabled" never equalled "enabled", so every service on every node was reported disabled (#6). manage_service() ended in "|| true" and returned success whatever happened. Both now come from napalm-device-types' SystemdServicesMixin (2.2.0): the enabled state is UnitFileState from systemctl show, MainPID comes along in the same round trip, and an action reports systemctl's exit status. The driver keeps only _run_service_command(), its exec path as root. The exit status marker keeps the output non-empty, so _exec_ssh_command's SSH fallback on an empty API answer can no longer run an action twice. The listing no longer includes templates, static unit files and aliases that are not loaded (on a PVE 9 node: 280 entries -> 172). Closes #6
This commit is contained in:
+1
-1
@@ -25,7 +25,7 @@ classifiers = [
|
||||
requires-python = ">=3.9"
|
||||
dependencies = [
|
||||
"napalm>=5.0.0",
|
||||
"napalm_device_types>=2.1.0",
|
||||
"napalm_device_types>=2.2.0",
|
||||
"paramiko>=5.0.0", # CVE-2026-44405; imported directly for SSH fallback (driver.py)
|
||||
"proxmoxer>=2.0.0",
|
||||
"netaddr>=0.9.0",
|
||||
|
||||
Reference in New Issue
Block a user