feat: initial QNAP QTS driver scaffold
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.
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
# Changelog
|
||||
|
||||
All notable changes to this project are documented here.
|
||||
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
## [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 the `qnap_qts` entry 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`, which `StorageDriver` would
|
||||
otherwise shadow.
|
||||
- `tools/harvest.sh` and `tools/sanitize.py` for capturing and anonymising
|
||||
command output from real hardware.
|
||||
|
||||
### Pending
|
||||
- Storage, QPKG and VM parsers — blocked on the fixture harvest.
|
||||
Reference in New Issue
Block a user