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.
26 lines
1.0 KiB
Markdown
26 lines
1.0 KiB
Markdown
# 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.
|