Agnostic structure: run_device_action and invented facts #6

Open
opened 2026-10-14 08:58:53 +00:00 by christianmanivong · 1 comment
Owner

What this driver has to change for the agnostic structure (NAPALM/napalm-device-types docs/STRUCTURE.md (NAPALM/napalm-device-types#37), epic NetOrk/netork#1105).

  • run_device_action (reboot, restart_wifi[:band], get_diagnostics) goes with NAPALM/napalm-device-types#33: reboot → reboot_host, restart_wifi needs a capability of its own, get_diagnostics is a getter. The result shape {success, action, message} does not match DeviceActionResultDict.
  • Invented facts: WanAccessType defaults to "VDSL", speed: 1000, mtu: 1500. Report unknown.
  • Inherits HealthMetricsMixin through ResidentialGatewayDriver; goes with the deprecation.

Size: small. Needs: NAPALM/napalm-device-types#33.

Prio P3.

What this driver has to change for the agnostic structure (NAPALM/napalm-device-types `docs/STRUCTURE.md` (NAPALM/napalm-device-types#37), epic NetOrk/netork#1105). - `run_device_action` (`reboot`, `restart_wifi[:band]`, `get_diagnostics`) goes with NAPALM/napalm-device-types#33: `reboot` → `reboot_host`, `restart_wifi` needs a capability of its own, `get_diagnostics` is a getter. The result shape `{success, action, message}` does not match `DeviceActionResultDict`. - Invented facts: `WanAccessType` defaults to `"VDSL"`, `speed: 1000`, `mtu: 1500`. Report unknown. - Inherits `HealthMetricsMixin` through `ResidentialGatewayDriver`; goes with the deprecation. Size: small. Needs: NAPALM/napalm-device-types#33. Prio P3.
Author
Owner

Status 2026-10-18, checked against the pin on NetOrk/netork main.

Done: run_device_action is gone; reboot_host (0.2.0, #7).

Rest:

  • restart_wifi and get_diagnostics are public methods without a contract (a capability / a getter in device-types).
  • Invented facts: speed: 1000, mtu: 1500 (zyxel_driver.py:293-302).
  • HealthMetricsMixin via ResidentialGatewayDriver (NAPALM/napalm-device-types#36).
Status 2026-10-18, checked against the pin on NetOrk/netork main. **Done:** `run_device_action` is gone; `reboot_host` (0.2.0, #7). **Rest:** - `restart_wifi` and `get_diagnostics` are public methods without a contract (a capability / a getter in device-types). - Invented facts: `speed: 1000`, `mtu: 1500` (`zyxel_driver.py:293-302`). - `HealthMetricsMixin` via `ResidentialGatewayDriver` (NAPALM/napalm-device-types#36).
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: NAPALM/napalm-zyxel#6