fix: do not claim update reading or applying QTS cannot do #2

Merged
christianmanivong merged 1 commits from fix/no-update-reader into main 2026-10-05 22:20:13 +00:00
2 changed files with 15 additions and 0 deletions
Showing only changes of commit 5e371db3af - Show all commits
+5
View File
@@ -73,6 +73,11 @@ class QnapQtsDriver(StorageDriver, HypervisorDriver, LinuxDriver):
#: makes every "can it control services?" check -- is ``manage_service`` #: makes every "can it control services?" check -- is ``manage_service``
#: callable -- answer no, rather than offering buttons that cannot work. #: callable -- answer no, rather than offering buttons that cannot work.
manage_service = None # type: ignore[assignment] manage_service = None # type: ignore[assignment]
#: The same for updates: QTS has no apt, dnf or opkg, and QPKG updates are
#: not implemented. netOrk leaves a driver without them out of patching.
get_available_updates = None # type: ignore[assignment]
refresh_available_updates = None # type: ignore[assignment]
apply_updates = None # type: ignore[assignment]
SNMP_OBJECT_ID_PREFIX = QNAP_ENTERPRISE_OID SNMP_OBJECT_ID_PREFIX = QNAP_ENTERPRISE_OID
SNMP_FINGERPRINT = [ SNMP_FINGERPRINT = [
+10
View File
@@ -192,3 +192,13 @@ def test_services_cannot_be_controlled():
assert callable(getattr(LinuxDriver, "manage_service", None)) assert callable(getattr(LinuxDriver, "manage_service", None))
assert not callable(getattr(QnapQtsDriver, "manage_service", None)) assert not callable(getattr(QnapQtsDriver, "manage_service", None))
def test_updates_are_not_read_or_applied_here():
"""QTS has no apt, dnf or opkg: the readers inherited from LinuxDriver find no
package manager, and QPKG updates are not implemented. Saying so keeps QNAP out
of netOrk's patch groups and compliance report, which ask whether these
methods are callable."""
for method in ("get_available_updates", "refresh_available_updates", "apply_updates"):
assert not callable(getattr(QnapQtsDriver, method, None)), method