libvirt: Remove support for '[libvirt] use_usb_tablet'

This was replaced by the '[DEFAULT] pointer_model' config option was
back in the 14.0.0 (Newton) release.

Change-Id: Ia39c0bad4c1c03b3ffb4a162c2afddb44ebaf6a1
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
This commit is contained in:
Stephen Finucane 2020-10-06 13:16:11 +01:00
parent c34a17db6f
commit 5b0343d3e1
5 changed files with 33 additions and 96 deletions

View File

@ -218,26 +218,6 @@ Related options:
config option. A more verbose output will help in debugging issues.
* ``virt_type``: If you use ``lxc`` as virt_type it will be treated as a
single partition image
"""),
cfg.BoolOpt('use_usb_tablet',
default=True,
deprecated_for_removal=True,
deprecated_reason="This option is being replaced by the "
"'pointer_model' option.",
deprecated_since='14.0.0',
help="""
Enable a mouse cursor within a graphical VNC or SPICE sessions.
This will only be taken into account if the VM is fully virtualized and VNC
and/or SPICE is enabled. If the node doesn't support a graphical framebuffer,
then it is valid to set this to False.
Related options:
* ``[vnc]enabled``: If VNC is enabled, ``use_usb_tablet`` will have an effect.
* ``[spice]enabled`` + ``[spice].agent_enabled``: If SPICE is enabled and the
spice agent is disabled, the config value of ``use_usb_tablet`` will have
an effect.
"""),
cfg.StrOpt('live_migration_scheme',
help="""

View File

@ -57,7 +57,6 @@ class TestSerialConsoleLiveMigrate(test.TestCase):
self.flags(enabled=True, group="serial_console")
self.flags(enabled=False, group="vnc")
self.flags(enabled=False, group="spice")
self.flags(use_usb_tablet=False, group="libvirt")
self.start_service('conductor')
self.start_service('scheduler')

View File

@ -5641,10 +5641,9 @@ class LibvirtConnTestCase(test.NoDBTestCase,
def test_get_guest_config_with_vnc_and_tablet(self):
self.flags(enabled=True, group='vnc')
self.flags(virt_type='kvm',
use_usb_tablet=True,
group='libvirt')
self.flags(virt_type='kvm', group='libvirt')
self.flags(enabled=False, group='spice')
self.flags(pointer_model='usbtablet')
cfg = self._get_guest_config_with_graphics()
@ -5673,13 +5672,12 @@ class LibvirtConnTestCase(test.NoDBTestCase,
def test_get_guest_config_with_spice_and_tablet(self):
self.flags(enabled=False, group='vnc')
self.flags(virt_type='kvm',
use_usb_tablet=True,
group='libvirt')
self.flags(virt_type='kvm', group='libvirt')
self.flags(enabled=True,
agent_enabled=False,
server_listen='10.0.0.1',
group='spice')
self.flags(pointer_model='usbtablet')
cfg = self._get_guest_config_with_graphics()
@ -5710,12 +5708,9 @@ class LibvirtConnTestCase(test.NoDBTestCase,
def test_get_guest_config_with_spice_and_agent(self):
self.flags(enabled=False, group='vnc')
self.flags(virt_type='kvm',
use_usb_tablet=True,
group='libvirt')
self.flags(enabled=True,
agent_enabled=True,
group='spice')
self.flags(virt_type='kvm', group='libvirt')
self.flags(enabled=True, agent_enabled=True, group='spice')
self.flags(pointer_model='usbtablet')
cfg = self._get_guest_config_with_graphics()
@ -6154,11 +6149,8 @@ class LibvirtConnTestCase(test.NoDBTestCase,
def test_get_guest_config_with_type_xen(self):
self.flags(enabled=True, group='vnc')
self.flags(virt_type='xen',
use_usb_tablet=False,
group='libvirt')
self.flags(enabled=False,
group='spice')
self.flags(virt_type='xen', group='libvirt')
self.flags(enabled=False, group='spice')
drvr = libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), True)
instance_ref = objects.Instance(**self.test_instance)
@ -6192,9 +6184,7 @@ class LibvirtConnTestCase(test.NoDBTestCase,
return_value=fields.Architecture.S390X)
def test_get_guest_config_with_type_kvm_on_s390(self, mock_get_arch):
self.flags(enabled=False, group='vnc')
self.flags(virt_type='kvm',
use_usb_tablet=False,
group='libvirt')
self.flags(virt_type='kvm', group='libvirt')
self._stub_host_capabilities_cpu_arch(fields.Architecture.S390X)
@ -6237,11 +6227,8 @@ class LibvirtConnTestCase(test.NoDBTestCase,
def test_get_guest_config_with_type_xen_pae_hvm(self):
self.flags(enabled=True, group='vnc')
self.flags(virt_type='xen',
use_usb_tablet=False,
group='libvirt')
self.flags(enabled=False,
group='spice')
self.flags(virt_type='xen', group='libvirt')
self.flags(enabled=False, group='spice')
drvr = libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), True)
instance_ref = objects.Instance(**self.test_instance)
@ -6267,11 +6254,8 @@ class LibvirtConnTestCase(test.NoDBTestCase,
def test_get_guest_config_with_type_xen_pae_pvm(self):
self.flags(enabled=True, group='vnc')
self.flags(virt_type='xen',
use_usb_tablet=False,
group='libvirt')
self.flags(enabled=False,
group='spice')
self.flags(virt_type='xen', group='libvirt')
self.flags(enabled=False, group='spice')
drvr = libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), True)
instance_ref = objects.Instance(**self.test_instance)
@ -6291,12 +6275,9 @@ class LibvirtConnTestCase(test.NoDBTestCase,
def test_get_guest_config_with_vnc_and_spice(self):
self.flags(enabled=True, group='vnc')
self.flags(virt_type='kvm',
use_usb_tablet=True,
group='libvirt')
self.flags(enabled=True,
agent_enabled=True,
group='spice')
self.flags(virt_type='kvm', group='libvirt')
self.flags(enabled=True, agent_enabled=True, group='spice')
self.flags(pointer_model='usbtablet')
drvr = libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), True)
instance_ref = objects.Instance(**self.test_instance)
@ -6392,7 +6373,7 @@ class LibvirtConnTestCase(test.NoDBTestCase,
self.assertIsNone(tablet)
def test_get_guest_usb_tablet_wipe(self):
self.flags(use_usb_tablet=True, group='libvirt')
self.flags(pointer_model='usbtablet')
tablet = self._test_get_guest_usb_tablet(
True, True, fields.VMMode.HVM)
@ -6419,7 +6400,7 @@ class LibvirtConnTestCase(test.NoDBTestCase,
self.assertIsNone(tablet)
def test_get_guest_usb_tablet_image_meta(self):
self.flags(use_usb_tablet=True, group='libvirt')
self.flags(pointer_model='usbtablet')
image_meta = {"properties": {"hw_pointer_model": "usbtablet"}}
tablet = self._test_get_guest_usb_tablet(
@ -6447,7 +6428,6 @@ class LibvirtConnTestCase(test.NoDBTestCase,
self.assertIsNone(tablet)
def test_get_guest_usb_tablet_image_meta_no_vnc(self):
self.flags(use_usb_tablet=False, group='libvirt')
self.flags(pointer_model=None)
image_meta = {"properties": {"hw_pointer_model": "usbtablet"}}
@ -6456,22 +6436,7 @@ class LibvirtConnTestCase(test.NoDBTestCase,
self._test_get_guest_usb_tablet,
False, False, fields.VMMode.HVM, True, image_meta=image_meta)
def test_get_guest_no_pointer_model_usb_tablet_set(self):
self.flags(use_usb_tablet=True, group='libvirt')
self.flags(pointer_model=None)
tablet = self._test_get_guest_usb_tablet(True, True, fields.VMMode.HVM)
self.assertIsNotNone(tablet)
def test_get_guest_no_pointer_model_usb_tablet_not_set(self):
self.flags(use_usb_tablet=False, group='libvirt')
self.flags(pointer_model=None)
tablet = self._test_get_guest_usb_tablet(True, True, fields.VMMode.HVM)
self.assertIsNone(tablet)
def test_get_guest_pointer_model_usb_tablet(self):
self.flags(use_usb_tablet=False, group='libvirt')
self.flags(pointer_model='usbtablet')
tablet = self._test_get_guest_usb_tablet(True, True, fields.VMMode.HVM)
self.assertIsNotNone(tablet)
@ -6484,7 +6449,6 @@ class LibvirtConnTestCase(test.NoDBTestCase,
def test_get_guest_pointer_model_usb_tablet_image_no_HVM(self):
self.flags(pointer_model=None)
self.flags(use_usb_tablet=False, group='libvirt')
image_meta = {"properties": {"hw_pointer_model": "usbtablet"}}
self.assertRaises(
exception.UnsupportedPointerModelRequested,
@ -7084,10 +7048,8 @@ class LibvirtConnTestCase(test.NoDBTestCase,
@mock.patch('nova.virt.libvirt.driver.os.path.exists')
def test_get_guest_config_with_rng_dev_not_present(self, mock_path):
self.flags(virt_type='kvm',
use_usb_tablet=False,
rng_dev_path='/dev/hw_rng',
group='libvirt')
self.flags(
virt_type='kvm', rng_dev_path='/dev/hw_rng', group='libvirt')
mock_path.return_value = False
drvr = libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), True)

View File

@ -6374,16 +6374,6 @@ class LibvirtDriver(driver.ComputeDriver):
def _get_guest_pointer_model(self, os_type, image_meta):
pointer_model = image_meta.properties.get(
'hw_pointer_model', CONF.pointer_model)
if pointer_model is None and CONF.libvirt.use_usb_tablet:
# TODO(sahid): We set pointer_model to keep compatibility
# until the next release O*. It means operators can continue
# to use the deprecated option "use_usb_tablet" or set a
# specific device to use
pointer_model = "usbtablet"
LOG.warning('The option "use_usb_tablet" has been '
'deprecated for Newton in favor of the more '
'generic "pointer_model". Please update '
'nova.conf to address this change.')
if pointer_model == "usbtablet":
# We want a tablet if VNC is enabled, or SPICE is enabled and
@ -6394,7 +6384,7 @@ class LibvirtDriver(driver.ComputeDriver):
CONF.spice.enabled and not CONF.spice.agent_enabled):
return self._get_guest_usb_tablet(os_type)
else:
if CONF.pointer_model or CONF.libvirt.use_usb_tablet:
if CONF.pointer_model:
# For backward compatibility We don't want to break
# process of booting an instance if host is configured
# to use USB tablet without VNC or SPICE and SPICE
@ -6414,14 +6404,14 @@ class LibvirtDriver(driver.ComputeDriver):
tablet.type = "tablet"
tablet.bus = "usb"
else:
if CONF.pointer_model or CONF.libvirt.use_usb_tablet:
if CONF.pointer_model:
# For backward compatibility We don't want to break
# process of booting an instance if virtual machine mode
# is not configured as HVM.
LOG.warning('USB tablet requested for guests by host '
'configuration. In order to accept this '
'request the machine mode should be '
'configured as HVM.')
LOG.warning(
'USB tablet requested for guests by host configuration. '
'In order to accept this request the machine mode should '
'be configured as HVM.')
else:
raise exception.UnsupportedPointerModelRequested(
model="usbtablet")

View File

@ -0,0 +1,6 @@
---
upgrade:
- |
The ``[libvirt] use_usb_tablet`` config option, which was first deprecated
in the 14.0.0 (Newton) release, has now been removed. It has been replaced
by the ``[DEFAULT] pointer_model`` config option.