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:
parent
c34a17db6f
commit
5b0343d3e1
|
@ -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="""
|
||||
|
|
|
@ -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')
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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.
|
Loading…
Reference in New Issue