QTS is a Linux distribution, so the driver inherits the OS surface from LinuxDriver and adds QNAP's storage, QPKG and virtualisation layers. What is here: the class with its discovery fingerprints, per-session detection of the QTS major version and of the QPKG-local docker and virsh binaries, and explicit resolution of the MRO collisions that StorageDriver creates over LinuxDriver. What is not: the storage, QPKG and VM parsers. Those need real command output from QTS 4 and QTS 5 hardware to be written against, which is what tools/harvest.sh collects and tools/sanitize.py anonymises. Two tests are marked xfail(strict) as the specification for that work.
1.0 KiB
1.0 KiB
Changelog
All notable changes to this project are documented here.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
Added
- Initial driver scaffold:
QnapQtsDriver(StorageDriver, LinuxDriver)with discovery fingerprints (SNMP enterprise OID 1.3.6.1.4.1.24681, HTTP, port specs) and theqnap_qtsentry point. - Explicit
DEVICE_CLASS = "storage"so netOrk does not classify a QNAP as a plain Linux host and hide its Storage tab. - QTS major-version detection, Container Station docker path discovery and
Virtualization Station virsh discovery, all resolved once per session in
open(). - MRO collision resolution for
get_services, whichStorageDriverwould otherwise shadow. tools/harvest.shandtools/sanitize.pyfor capturing and anonymising command output from real hardware.
Pending
- Storage, QPKG and VM parsers — blocked on the fixture harvest.