Agnostic structure: SNMP profile, fix template, firmware catalogue out #8

Open
opened 2026-10-14 08:58:52 +00:00 by christianmanivong · 2 comments
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).

  • netgear_smart.get_health_metrics (~2048-2115) goes; SNMP_HEALTH_PROFILE (NAPALM/napalm-device-types#32): uptime from standard sysUpTime (1.3.6.1.2.1.1.3.0), memory as free + total in KiB (…4526.100.1.1.4.1.0/.4.2.0), CPU as a text value with a pattern (…4526.100.1.1.4.9.0, "5 Secs ( x%)").
  • fix_snmp becomes configure_snmp_agent(settings) (NAPALM/napalm-device-types#33); community from settings. On v7 firmware the step reports "not supported" instead of text that names a warning.
  • netgear_plus looks up the latest firmware on Netgear's CDN (_FW_CDN_BASE, _FW_KNOWN_LATEST, up to 22 HEAD requests, about 66 s on a cache miss) and emits firmware_update_available. That catalogue moves to the application; the driver reports model and running firmware (already in get_facts). get_device_warnings goes in both drivers.
  • SNMP_CAPABLE = False (netgear_plus) stays as a driver fact or becomes part of the profile.
  • Fingerprints of smart and plus overlap heavily (gs1/gs2/gs3); plus outweighs smart there.

Size: medium. Needs: NAPALM/napalm-device-types#32, NAPALM/napalm-device-types#33, NAPALM/napalm-device-types#34.

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). - `netgear_smart.get_health_metrics` (~2048-2115) goes; `SNMP_HEALTH_PROFILE` (NAPALM/napalm-device-types#32): uptime from standard `sysUpTime` (1.3.6.1.2.1.1.3.0), memory as free + total in KiB (`…4526.100.1.1.4.1.0`/`.4.2.0`), CPU as a text value with a pattern (`…4526.100.1.1.4.9.0`, `"5 Secs ( x%)"`). - `fix_snmp` becomes `configure_snmp_agent(settings)` (NAPALM/napalm-device-types#33); community from `settings`. On v7 firmware the step reports "not supported" instead of text that names a warning. - `netgear_plus` looks up the latest firmware on Netgear's CDN (`_FW_CDN_BASE`, `_FW_KNOWN_LATEST`, up to 22 HEAD requests, about 66 s on a cache miss) and emits `firmware_update_available`. That catalogue moves to the application; the driver reports model and running firmware (already in `get_facts`). `get_device_warnings` goes in both drivers. - `SNMP_CAPABLE = False` (netgear_plus) stays as a driver fact or becomes part of the profile. - Fingerprints of smart and plus overlap heavily (`gs1/gs2/gs3`); plus outweighs smart there. Size: medium. Needs: NAPALM/napalm-device-types#32, NAPALM/napalm-device-types#33, NAPALM/napalm-device-types#34. Prio P3.
Author
Owner

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

Done: SNMP_HEALTH_PROFILE (smart), configure_snmp_agent(settings) (0.3.0). Both drivers name no warnings (0.4.0, #12).

Different from the plan here: the firmware catalogue stays in the Plus driver as vendor knowledge, reported through get_firmware_offer() (napalm-device-types 4.16, NAPALM/napalm-device-types#45); netOrk names the warning (NetOrk/netork#1153).

Rest:

  • SNMP_CAPABLE = False (plus) is still a class attribute.
  • Fingerprint overlap between smart and plus (gs1/gs2/gs3).
Status 2026-10-18, checked against the pin on NetOrk/netork main. **Done:** `SNMP_HEALTH_PROFILE` (smart), `configure_snmp_agent(settings)` (0.3.0). Both drivers name no warnings (0.4.0, #12). Different from the plan here: the firmware catalogue stays in the Plus driver as vendor knowledge, reported through `get_firmware_offer()` (napalm-device-types 4.16, NAPALM/napalm-device-types#45); netOrk names the warning (NetOrk/netork#1153). **Rest:** - `SNMP_CAPABLE = False` (plus) is still a class attribute. - Fingerprint overlap between smart and plus (`gs1/gs2/gs3`).
Author
Owner

Reboot: netOrk no longer falls back to sending /sbin/reboot through _send_command (NetOrk/netork#1162) — on this CLI the command never existed, and the reboot was reported done anyway. Until this driver implements reboot_host() (napalm-device-types HostRebootMixin) with its own CLI command and prompts, netOrk does not offer a reboot for it. Needs a test on real hardware.

Likely command: smart: reload (confirm y); plus: the web API's reboot.

**Reboot:** netOrk no longer falls back to sending `/sbin/reboot` through `_send_command` (NetOrk/netork#1162) — on this CLI the command never existed, and the reboot was reported done anyway. Until this driver implements `reboot_host()` (napalm-device-types `HostRebootMixin`) with its own CLI command and prompts, netOrk does not offer a reboot for it. Needs a test on real hardware. Likely command: smart: `reload` (confirm `y`); plus: the web API's reboot.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: NAPALM/napalm-netgear#8