Agnostic structure: fix_snmp template, ping batch, neutral markers #16

Open
opened 2026-10-14 08:58:50 +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("fix_snmp") becomes an override of configure_snmp_agent(settings) (NAPALM/napalm-device-types#33): community, contact, location, listen address and allowed sources from settings instead of public, netork@localhost, Managed by netOrk and self.hostname. The hand-built UDP probe (~2423-2440) goes; the caller asks the agent itself. The install wait belongs in the install step.
  • get_snmp_config: report a missing community as missing, not as public.
  • get_device_warnings (updates_available, ~2108) goes; get_available_updates is the fact.
  • ping_sweep override (ping_mixin.py ~116-156): keep only the batch as a neutral capability (ping_batch(destinations, count, timeout)); cap, loop and progress move to the application (NAPALM/napalm-device-types#34).
  • SNMP profile: TX errors count drops here (_SNMP_TX_ERR_IS_DROP, today on every FirewallDriver), so this driver declares it in its SNMP_HEALTH_PROFILE (NAPALM/napalm-device-types#32).
  • Neutral names, the old ones still recognised: _NETORK_TAG = "[netork]" on DNS host overrides (else existing overrides become orphans), [netork] Allow SNMP, netork-generated for … certificates, the ping job description netork ping sweep. Six docstrings mention netOrk.
  • The application calls this driver's private _get/_post for firmware upgrades, Unbound forwards, OSPF and interface export (NetOrk/netork, see the epic). Those need public methods here.
  • available_ram is total minus used; NAPALM means total (low).

Size: medium. Needs: NAPALM/napalm-device-types#33, NAPALM/napalm-device-types#32, 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). - `run_device_action("fix_snmp")` becomes an override of `configure_snmp_agent(settings)` (NAPALM/napalm-device-types#33): community, contact, location, listen address and allowed sources from `settings` instead of `public`, `netork@localhost`, `Managed by netOrk` and `self.hostname`. The hand-built UDP probe (~2423-2440) goes; the caller asks the agent itself. The install wait belongs in the install step. - `get_snmp_config`: report a missing community as missing, not as `public`. - `get_device_warnings` (`updates_available`, ~2108) goes; `get_available_updates` is the fact. - `ping_sweep` override (`ping_mixin.py` ~116-156): keep only the batch as a neutral capability (`ping_batch(destinations, count, timeout)`); cap, loop and progress move to the application (NAPALM/napalm-device-types#34). - SNMP profile: TX errors count drops here (`_SNMP_TX_ERR_IS_DROP`, today on every `FirewallDriver`), so this driver declares it in its `SNMP_HEALTH_PROFILE` (NAPALM/napalm-device-types#32). - Neutral names, the old ones still recognised: `_NETORK_TAG = "[netork]"` on DNS host overrides (else existing overrides become orphans), `[netork] Allow SNMP`, `netork-generated for …` certificates, the ping job description `netork ping sweep`. Six docstrings mention netOrk. - The application calls this driver's private `_get`/`_post` for firmware upgrades, Unbound forwards, OSPF and interface export (NetOrk/netork, see the epic). Those need public methods here. - `available_ram` is total minus used; NAPALM means total (low). Size: medium. Needs: NAPALM/napalm-device-types#33, NAPALM/napalm-device-types#32, NAPALM/napalm-device-types#34. Prio P3.
Author
Owner

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

Done: configure_snmp_agent(settings) with one pass rule per source (0.2.0, #21); get_device_warnings gone (0.3.0, #22).

Rest:

  • get_snmp_config still defaults to public (opnsense.py:2323).
  • ping_sweep override → ping_batch (NAPALM/napalm-device-types#34).
  • Neutral names, old ones still recognised: _NETORK_TAG on host overrides, netork-generated for … certificates, netork ping sweep; 22 netOrk mentions.
  • Public methods for what netOrk calls through _get/_post: firmware status/upgrade/log/reboot, Unbound forwards, OSPF overview, interface export (NetOrk/netork#1113).
  • available_ram (low).
Status 2026-10-18, checked against the pin on NetOrk/netork main. **Done:** `configure_snmp_agent(settings)` with one pass rule per source (0.2.0, #21); `get_device_warnings` gone (0.3.0, #22). **Rest:** - `get_snmp_config` still defaults to `public` (`opnsense.py:2323`). - `ping_sweep` override → `ping_batch` (NAPALM/napalm-device-types#34). - Neutral names, old ones still recognised: `_NETORK_TAG` on host overrides, `netork-generated for …` certificates, `netork ping sweep`; 22 netOrk mentions. - Public methods for what netOrk calls through `_get`/`_post`: firmware status/upgrade/log/reboot, Unbound forwards, OSPF overview, interface export (NetOrk/netork#1113). - `available_ram` (low).
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: NAPALM/napalm-opnsense#16