Agnostic structure: opt out of Linux templates; follow napalm-unix #7

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).

  • Inherited fix_snmp, fix_apt_proxy, fix_docker_permissions, apt_update_upgrade run on QTS and fail ("Package manager not detected"); the application offers them because _action_fix_snmp is callable. With the templates (NAPALM/napalm-device-types#33) set configure_snmp_agent, configure_package_proxy and ensure_package to None. Check whether harden_ssh_server needs the same (QTS regenerates its sshd config).
  • The _container_engine_binary hook (Container Station path) must survive the move to napalm-unix (NAPALM/napalm-device-types#35).
  • TYPE_LABEL = "Storage" duplicates the role's; REBOOT_SETTLE_SECONDS moves to the application.
  • open() discovers _qts_major and _virsh_path (two SSH round trips) that nothing reads; the docstring advertises VMs, disks and shares that are not implemented. README still mentions DEVICE_CLASS.

Size: small–medium. Needs: NAPALM/napalm-device-types#33, NAPALM/napalm-device-types#35.

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). - Inherited `fix_snmp`, `fix_apt_proxy`, `fix_docker_permissions`, `apt_update_upgrade` run on QTS and fail ("Package manager not detected"); the application offers them because `_action_fix_snmp` is callable. With the templates (NAPALM/napalm-device-types#33) set `configure_snmp_agent`, `configure_package_proxy` and `ensure_package` to `None`. Check whether `harden_ssh_server` needs the same (QTS regenerates its sshd config). - The `_container_engine_binary` hook (Container Station path) must survive the move to napalm-unix (NAPALM/napalm-device-types#35). - `TYPE_LABEL = "Storage"` duplicates the role's; `REBOOT_SETTLE_SECONDS` moves to the application. - `open()` discovers `_qts_major` and `_virsh_path` (two SSH round trips) that nothing reads; the docstring advertises VMs, disks and shares that are not implemented. README still mentions `DEVICE_CLASS`. Size: small–medium. Needs: NAPALM/napalm-device-types#33, NAPALM/napalm-device-types#35. Prio P3.
Author
Owner

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

Done: Opt-outs configure_snmp_agent, configure_package_proxy, get_package_proxy, ensure_package = None (0.4.0/0.5.0); no warnings.

Rest:

  • harden_ssh_server: not opted out yet; QTS regenerates its sshd config — needs a check on the NAS.
  • _container_engine_binary hook must survive napalm-unix (NAPALM/napalm-device-types#35).
  • TYPE_LABEL, REBOOT_SETTLE_SECONDS (NAPALM/napalm-device-types#34).
  • open() still discovers _qts_major and _virsh_path that nothing reads; README still mentions DEVICE_CLASS.
Status 2026-10-18, checked against the pin on NetOrk/netork main. **Done:** Opt-outs `configure_snmp_agent`, `configure_package_proxy`, `get_package_proxy`, `ensure_package` = None (0.4.0/0.5.0); no warnings. **Rest:** - `harden_ssh_server`: not opted out yet; QTS regenerates its sshd config — needs a check on the NAS. - `_container_engine_binary` hook must survive napalm-unix (NAPALM/napalm-device-types#35). - `TYPE_LABEL`, `REBOOT_SETTLE_SECONDS` (NAPALM/napalm-device-types#34). - `open()` still discovers `_qts_major` and `_virsh_path` that nothing reads; README still mentions `DEVICE_CLASS`.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: NAPALM/napalm-qnap-qts#7