diff --git a/lib/hypervisor/hv_kvm.py b/lib/hypervisor/hv_kvm.py index 3b2d81ed300fc4f4e954dc15aee771a9b07753d3..a388ec25424ce43306e87aee1fbfe9db4c49790f 100644 --- a/lib/hypervisor/hv_kvm.py +++ b/lib/hypervisor/hv_kvm.py @@ -77,9 +77,6 @@ _SPICE_ADDITIONAL_PARAMS = frozenset([ constants.HV_KVM_SPICE_ZLIB_GLZ_IMG_COMPR, constants.HV_KVM_SPICE_STREAMING_VIDEO_DETECTION, constants.HV_KVM_SPICE_USE_TLS, - constants.HV_KVM_SPICE_AUDIO_COMPR, - constants.HV_KVM_SPICE_TLS_CIPHERS, - constants.HV_KVM_SPICE_USE_VDAGENT, ]) diff --git a/test/ganeti.hypervisor.hv_kvm_unittest.py b/test/ganeti.hypervisor.hv_kvm_unittest.py index f401d3351d21b78ad99555abb1f9150f6af8181f..35844849627e5c207eff136d5eb6512ba8739b1f 100755 --- a/test/ganeti.hypervisor.hv_kvm_unittest.py +++ b/test/ganeti.hypervisor.hv_kvm_unittest.py @@ -260,13 +260,29 @@ class TestVersionChecking(testutils.GanetiTestCase): class TestSpiceParameterList(unittest.TestCase): def test(self): + defaults = constants.HVC_DEFAULTS[constants.HT_KVM] + params = \ compat.UniqueFrozenset(getattr(constants, name) for name in dir(constants) if name.startswith("HV_KVM_SPICE_")) + # Parameters whose default value evaluates to True and don't need to be set + defaults_true = frozenset(filter(defaults.__getitem__, params)) + + self.assertEqual(defaults_true, frozenset([ + constants.HV_KVM_SPICE_AUDIO_COMPR, + constants.HV_KVM_SPICE_USE_VDAGENT, + constants.HV_KVM_SPICE_TLS_CIPHERS, + ])) + + # HV_KVM_SPICE_BIND decides whether the other parameters must be set if + # their default evaluates to False + assert constants.HV_KVM_SPICE_BIND in params + assert constants.HV_KVM_SPICE_BIND not in defaults_true + # Exclude some parameters - params -= frozenset([ + params -= defaults_true | frozenset([ constants.HV_KVM_SPICE_BIND, ])