From 67939ace75934e6068eb02e9bac53dbf816e8862 Mon Sep 17 00:00:00 2001 From: Christian Manivong Date: Fri, 21 Aug 2026 10:27:16 +0700 Subject: [PATCH] fix: declare DEVICE_CLASS so the Storage tab is reachable MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The driver inherits LinuxDriver for the OS surface and set TYPE_LABEL to "Storage", but netOrk derives device_class from an issubclass chain that reaches OSDriver before StorageDriver and returned "linux". The UI gates the Storage tab on device_class === "storage", so an OMV device showed a Storage label in the list and no Storage tab on the detail page — while its disks, pools, volumes and shares were being collected and persisted the whole time. netOrk now honours an explicit DEVICE_CLASS attribute before falling back to the chain, mirroring how it already honours TYPE_LABEL. Refs christianmanivong/netork#111 --- napalm_openmediavault/openmediavault.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/napalm_openmediavault/openmediavault.py b/napalm_openmediavault/openmediavault.py index c620061..f9602f6 100644 --- a/napalm_openmediavault/openmediavault.py +++ b/napalm_openmediavault/openmediavault.py @@ -49,6 +49,10 @@ class OpenMediaVaultDriver(LinuxDriver): """ TYPE_LABEL = "Storage" + # Declared outright: the driver inherits LinuxDriver for the OS surface, so + # the issubclass chain would otherwise classify an OMV NAS as "linux" and + # the UI would never render its Storage tab. + DEVICE_CLASS = "storage" DRIVER_NAME = "openmediavault" driver_name = "openmediavault" SSH_FINGERPRINT = [