From 380c4d750f8c53c8ab862082984079a633043b9c Mon Sep 17 00:00:00 2001 From: Diana Clarke Date: Sun, 21 Jun 2015 23:13:26 -0400 Subject: [PATCH] Register the vnc config options under group 'vnc' Also renamed 'vnc_enabled' to 'enabled', and 'vnc_keymap' to 'keymap' now that those options are prefixed by the 'vnc' group. Change-Id: I2ff668d4ebd8e6ebf9bf4e8ca5b077958f051144 Closes-Bug: #1447528 --- nova/compute/manager.py | 10 ++--- .../functional/v3/test_remote_consoles.py | 2 +- nova/tests/unit/compute/test_compute.py | 40 +++++++++---------- nova/tests/unit/compute/test_compute_mgr.py | 6 +-- nova/tests/unit/virt/libvirt/test_driver.py | 26 ++++++------ .../unit/virt/vmwareapi/test_configdrive.py | 2 +- .../unit/virt/vmwareapi/test_driver_api.py | 4 +- nova/tests/unit/virt/vmwareapi/test_vmops.py | 16 +++++--- nova/virt/libvirt/driver.py | 20 +++++----- nova/virt/vmwareapi/vm_util.py | 2 +- nova/virt/vmwareapi/vmops.py | 4 +- nova/virt/xenapi/vmops.py | 4 +- nova/vnc/__init__.py | 30 +++++++++----- 13 files changed, 91 insertions(+), 75 deletions(-) diff --git a/nova/compute/manager.py b/nova/compute/manager.py index 870084b77104..01f34eac74c9 100644 --- a/nova/compute/manager.py +++ b/nova/compute/manager.py @@ -248,7 +248,7 @@ CONF.import_opt('allow_resize_to_same_host', 'nova.compute.api') CONF.import_opt('console_topic', 'nova.console.rpcapi') CONF.import_opt('host', 'nova.netconf') CONF.import_opt('my_ip', 'nova.netconf') -CONF.import_opt('vnc_enabled', 'nova.vnc') +CONF.import_opt('enabled', 'nova.vnc', group='vnc') CONF.import_opt('enabled', 'nova.spice', group='spice') CONF.import_opt('enable', 'nova.cells.opts', group='cells') CONF.import_opt('image_cache_manager_interval', 'nova.virt.imagecache') @@ -4215,15 +4215,15 @@ class ComputeManager(manager.Manager): LOG.debug("Getting vnc console", instance=instance) token = str(uuid.uuid4()) - if not CONF.vnc_enabled: + if not CONF.vnc.enabled: raise exception.ConsoleTypeUnavailable(console_type=console_type) if console_type == 'novnc': # For essex, novncproxy_base_url must include the full path # including the html file (like http://myhost/vnc_auto.html) - access_url = '%s?token=%s' % (CONF.novncproxy_base_url, token) + access_url = '%s?token=%s' % (CONF.vnc.novncproxy_base_url, token) elif console_type == 'xvpvnc': - access_url = '%s?token=%s' % (CONF.xvpvncproxy_base_url, token) + access_url = '%s?token=%s' % (CONF.vnc.xvpvncproxy_base_url, token) else: raise exception.ConsoleTypeInvalid(console_type=console_type) @@ -5014,7 +5014,7 @@ class ComputeManager(manager.Manager): def _consoles_enabled(self): """Returns whether a console is enable.""" - return (CONF.vnc_enabled or CONF.spice.enabled or + return (CONF.vnc.enabled or CONF.spice.enabled or CONF.rdp.enabled or CONF.serial_console.enabled) def _clean_instance_console_tokens(self, ctxt, instance): diff --git a/nova/tests/functional/v3/test_remote_consoles.py b/nova/tests/functional/v3/test_remote_consoles.py index ad5db8d9dbfa..6833259e90cc 100644 --- a/nova/tests/functional/v3/test_remote_consoles.py +++ b/nova/tests/functional/v3/test_remote_consoles.py @@ -36,7 +36,7 @@ class ConsolesSampleJsonTests(test_servers.ServersSampleBase): def setUp(self): super(ConsolesSampleJsonTests, self).setUp() - self.flags(vnc_enabled=True) + self.flags(enabled=True, group='vnc') self.flags(enabled=True, group='spice') self.flags(enabled=True, group='rdp') self.flags(enabled=True, group='serial_console') diff --git a/nova/tests/unit/compute/test_compute.py b/nova/tests/unit/compute/test_compute.py index 1289eecea8bd..d3a4a7d8ecf9 100644 --- a/nova/tests/unit/compute/test_compute.py +++ b/nova/tests/unit/compute/test_compute.py @@ -3199,7 +3199,7 @@ class ComputeTestCase(BaseTestCase): def test_novnc_vnc_console(self): # Make sure we can a vnc console for an instance. - self.flags(vnc_enabled=True) + self.flags(enabled=True, group='vnc') self.flags(enabled=False, group='spice') instance = self._create_fake_instance_obj() @@ -3214,7 +3214,7 @@ class ComputeTestCase(BaseTestCase): self.compute.terminate_instance(self.context, instance, [], []) def test_validate_console_port_vnc(self): - self.flags(vnc_enabled=True) + self.flags(enabled=True, group='vnc') self.flags(enabled=True, group='spice') instance = self._create_fake_instance_obj() @@ -3229,7 +3229,7 @@ class ComputeTestCase(BaseTestCase): console_type="novnc")) def test_validate_console_port_spice(self): - self.flags(vnc_enabled=True) + self.flags(enabled=True, group='vnc') self.flags(enabled=True, group='spice') instance = self._create_fake_instance_obj() @@ -3258,7 +3258,7 @@ class ComputeTestCase(BaseTestCase): console_type="rdp-html5")) def test_validate_console_port_wrong_port(self): - self.flags(vnc_enabled=True) + self.flags(enabled=True, group='vnc') self.flags(enabled=True, group='spice') instance = self._create_fake_instance_obj() @@ -3274,7 +3274,7 @@ class ComputeTestCase(BaseTestCase): def test_xvpvnc_vnc_console(self): # Make sure we can a vnc console for an instance. - self.flags(vnc_enabled=True) + self.flags(enabled=True, group='vnc') self.flags(enabled=False, group='spice') instance = self._create_fake_instance_obj() @@ -3288,7 +3288,7 @@ class ComputeTestCase(BaseTestCase): def test_invalid_vnc_console_type(self): # Raise useful error if console type is an unrecognised string. - self.flags(vnc_enabled=True) + self.flags(enabled=True, group='vnc') self.flags(enabled=False, group='spice') instance = self._create_fake_instance_obj() @@ -3309,7 +3309,7 @@ class ComputeTestCase(BaseTestCase): def test_missing_vnc_console_type(self): # Raise useful error is console type is None. - self.flags(vnc_enabled=True) + self.flags(enabled=True, group='vnc') self.flags(enabled=False, group='spice') instance = self._create_fake_instance_obj() @@ -3350,7 +3350,7 @@ class ComputeTestCase(BaseTestCase): def test_spicehtml5_spice_console(self): # Make sure we can a spice console for an instance. - self.flags(vnc_enabled=False) + self.flags(enabled=False, group='vnc') self.flags(enabled=True, group='spice') instance = self._create_fake_instance_obj() @@ -3366,7 +3366,7 @@ class ComputeTestCase(BaseTestCase): def test_invalid_spice_console_type(self): # Raise useful error if console type is an unrecognised string - self.flags(vnc_enabled=False) + self.flags(enabled=False, group='vnc') self.flags(enabled=True, group='spice') instance = self._create_fake_instance_obj() @@ -3388,7 +3388,7 @@ class ComputeTestCase(BaseTestCase): def test_get_spice_console_not_implemented(self): self.stubs.Set(self.compute.driver, 'get_spice_console', fake_not_implemented) - self.flags(vnc_enabled=False) + self.flags(enabled=False, group='vnc') self.flags(enabled=True, group='spice') instance = self._create_fake_instance_obj() @@ -3408,7 +3408,7 @@ class ComputeTestCase(BaseTestCase): def test_missing_spice_console_type(self): # Raise useful error is console type is None - self.flags(vnc_enabled=False) + self.flags(enabled=False, group='vnc') self.flags(enabled=True, group='spice') instance = self._create_fake_instance_obj() @@ -3429,7 +3429,7 @@ class ComputeTestCase(BaseTestCase): def test_rdphtml5_rdp_console(self): # Make sure we can a rdp console for an instance. - self.flags(vnc_enabled=False) + self.flags(enabled=False, group='vnc') self.flags(enabled=True, group='rdp') instance = self._create_fake_instance_obj() @@ -3445,7 +3445,7 @@ class ComputeTestCase(BaseTestCase): def test_invalid_rdp_console_type(self): # Raise useful error if console type is an unrecognised string - self.flags(vnc_enabled=False) + self.flags(enabled=False, group='vnc') self.flags(enabled=True, group='rdp') instance = self._create_fake_instance_obj() @@ -3466,7 +3466,7 @@ class ComputeTestCase(BaseTestCase): def test_missing_rdp_console_type(self): # Raise useful error is console type is None - self.flags(vnc_enabled=False) + self.flags(enabled=False, group='vnc') self.flags(enabled=True, group='rdp') instance = self._create_fake_instance_obj() @@ -3486,7 +3486,7 @@ class ComputeTestCase(BaseTestCase): self.compute.terminate_instance(self.context, instance, [], []) def test_vnc_console_instance_not_ready(self): - self.flags(vnc_enabled=True) + self.flags(enabled=True, group='vnc') self.flags(enabled=False, group='spice') instance = self._create_fake_instance_obj( params={'vm_state': vm_states.BUILDING}) @@ -3504,7 +3504,7 @@ class ComputeTestCase(BaseTestCase): instance=instance) def test_spice_console_instance_not_ready(self): - self.flags(vnc_enabled=False) + self.flags(enabled=False, group='vnc') self.flags(enabled=True, group='spice') instance = self._create_fake_instance_obj( params={'vm_state': vm_states.BUILDING}) @@ -3522,7 +3522,7 @@ class ComputeTestCase(BaseTestCase): instance=instance) def test_rdp_console_instance_not_ready(self): - self.flags(vnc_enabled=False) + self.flags(enabled=False, group='vnc') self.flags(enabled=True, group='rdp') instance = self._create_fake_instance_obj( params={'vm_state': vm_states.BUILDING}) @@ -3540,7 +3540,7 @@ class ComputeTestCase(BaseTestCase): instance=instance) def test_vnc_console_disabled(self): - self.flags(vnc_enabled=False) + self.flags(enabled=False, group='vnc') instance = self._create_fake_instance_obj( params={'vm_state': vm_states.BUILDING}) @@ -3961,7 +3961,7 @@ class ComputeTestCase(BaseTestCase): def test_delete_instance_deletes_console_auth_tokens(self): instance = self._create_fake_instance_obj() - self.flags(vnc_enabled=True) + self.flags(enabled=True, group='vnc') self.tokens_deleted = False @@ -3979,7 +3979,7 @@ class ComputeTestCase(BaseTestCase): def test_delete_instance_deletes_console_auth_tokens_cells(self): instance = self._create_fake_instance_obj() - self.flags(vnc_enabled=True) + self.flags(enabled=True, group='vnc') self.flags(enable=True, group='cells') self.tokens_deleted = False diff --git a/nova/tests/unit/compute/test_compute_mgr.py b/nova/tests/unit/compute/test_compute_mgr.py index 4c849755931d..39d621f524bc 100644 --- a/nova/tests/unit/compute/test_compute_mgr.py +++ b/nova/tests/unit/compute/test_compute_mgr.py @@ -3662,15 +3662,15 @@ class ComputeManagerMigrationTestCase(test.NoDBTestCase): self._test_revert_resize_instance_destroy_disks(is_shared=False) def test_consoles_enabled(self): - self.flags(vnc_enabled=False) + self.flags(enabled=False, group='vnc') self.flags(enabled=False, group='spice') self.flags(enabled=False, group='rdp') self.flags(enabled=False, group='serial_console') self.assertFalse(self.compute._consoles_enabled()) - self.flags(vnc_enabled=True) + self.flags(enabled=True, group='vnc') self.assertTrue(self.compute._consoles_enabled()) - self.flags(vnc_enabled=False) + self.flags(enabled=False, group='vnc') for console in ['spice', 'rdp', 'serial_console']: self.flags(enabled=True, group=console) diff --git a/nova/tests/unit/virt/libvirt/test_driver.py b/nova/tests/unit/virt/libvirt/test_driver.py index 58160c17d63b..fbce4ad5ae28 100644 --- a/nova/tests/unit/virt/libvirt/test_driver.py +++ b/nova/tests/unit/virt/libvirt/test_driver.py @@ -2239,7 +2239,7 @@ class LibvirtConnTestCase(test.NoDBTestCase): mock_save.assert_called_with() def test_get_guest_config_with_vnc(self): - self.flags(vnc_enabled=True) + self.flags(enabled=True, group='vnc') self.flags(virt_type='kvm', use_usb_tablet=False, group='libvirt') @@ -2272,7 +2272,7 @@ class LibvirtConnTestCase(test.NoDBTestCase): self.assertEqual(cfg.devices[4].type, "vnc") def test_get_guest_config_with_vnc_and_tablet(self): - self.flags(vnc_enabled=True) + self.flags(enabled=True, group='vnc') self.flags(virt_type='kvm', use_usb_tablet=True, group='libvirt') @@ -2308,7 +2308,7 @@ class LibvirtConnTestCase(test.NoDBTestCase): self.assertEqual(cfg.devices[5].type, "vnc") def test_get_guest_config_with_spice_and_tablet(self): - self.flags(vnc_enabled=False) + self.flags(enabled=False, group='vnc') self.flags(virt_type='kvm', use_usb_tablet=True, group='libvirt') @@ -2346,7 +2346,7 @@ class LibvirtConnTestCase(test.NoDBTestCase): self.assertEqual(cfg.devices[5].type, "spice") def test_get_guest_config_with_spice_and_agent(self): - self.flags(vnc_enabled=False) + self.flags(enabled=False, group='vnc') self.flags(virt_type='kvm', use_usb_tablet=True, group='libvirt') @@ -2644,7 +2644,7 @@ class LibvirtConnTestCase(test.NoDBTestCase): instance, mode=mode) def test_get_guest_config_with_type_xen(self): - self.flags(vnc_enabled=True) + self.flags(enabled=True, group='vnc') self.flags(virt_type='xen', use_usb_tablet=False, group='libvirt') @@ -2679,7 +2679,7 @@ class LibvirtConnTestCase(test.NoDBTestCase): @mock.patch.object(libvirt_driver.libvirt_utils, 'get_arch', return_value=arch.S390X) def test_get_guest_config_with_type_kvm_on_s390(self, mock_get_arch): - self.flags(vnc_enabled=False) + self.flags(enabled=False, group='vnc') self.flags(virt_type='kvm', use_usb_tablet=False, group='libvirt') @@ -2728,7 +2728,7 @@ class LibvirtConnTestCase(test.NoDBTestCase): return drvr._get_guest_config(instance, [], {}, disk_info) def test_get_guest_config_with_type_xen_pae_hvm(self): - self.flags(vnc_enabled=True) + self.flags(enabled=True, group='vnc') self.flags(virt_type='xen', use_usb_tablet=False, group='libvirt') @@ -2757,7 +2757,7 @@ class LibvirtConnTestCase(test.NoDBTestCase): vconfig.LibvirtConfigGuestFeatureAPIC) def test_get_guest_config_with_type_xen_pae_pvm(self): - self.flags(vnc_enabled=True) + self.flags(enabled=True, group='vnc') self.flags(virt_type='xen', use_usb_tablet=False, group='libvirt') @@ -2780,7 +2780,7 @@ class LibvirtConnTestCase(test.NoDBTestCase): vconfig.LibvirtConfigGuestFeaturePAE) def test_get_guest_config_with_vnc_and_spice(self): - self.flags(vnc_enabled=True) + self.flags(enabled=True, group='vnc') self.flags(virt_type='kvm', use_usb_tablet=True, group='libvirt') @@ -2877,7 +2877,7 @@ class LibvirtConnTestCase(test.NoDBTestCase): def _test_get_guest_usb_tablet(self, vnc_enabled, spice_enabled, os_type, agent_enabled=False): - self.flags(vnc_enabled=vnc_enabled) + self.flags(enabled=vnc_enabled, group='vnc') self.flags(enabled=spice_enabled, agent_enabled=agent_enabled, group='spice') drvr = libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), True) @@ -3082,7 +3082,7 @@ class LibvirtConnTestCase(test.NoDBTestCase): self.assertEqual(cfg.devices[7].target_name, "org.qemu.guest_agent.0") def test_get_guest_config_with_video_driver_vram(self): - self.flags(vnc_enabled=False) + self.flags(enabled=False, group='vnc') self.flags(virt_type='kvm', group='libvirt') self.flags(enabled=True, agent_enabled=True, @@ -3928,7 +3928,7 @@ class LibvirtConnTestCase(test.NoDBTestCase): self.assertEqual(cfg.devices[device_index].type, 'vga') def test_get_guest_config_ppc64_through_image_meta_vnc_enabled(self): - self.flags(vnc_enabled=True) + self.flags(enabled=True, group='vnc') self._test_get_guest_config_ppc64(6) def test_get_guest_config_ppc64_through_image_meta_spice_enabled(self): @@ -5980,7 +5980,7 @@ class LibvirtConnTestCase(test.NoDBTestCase): @mock.patch.object(fakelibvirt, 'VIR_DOMAIN_XML_MIGRATABLE', None, create=True) def test_live_migration_fails_without_migratable_flag_or_0_addr(self): - self.flags(vnc_enabled=True, vncserver_listen='1.2.3.4') + self.flags(enabled=True, vncserver_listen='1.2.3.4', group='vnc') self.compute = importutils.import_object(CONF.compute_manager) instance_dict = dict(self.test_instance) instance_dict.update({'host': 'fake', diff --git a/nova/tests/unit/virt/vmwareapi/test_configdrive.py b/nova/tests/unit/virt/vmwareapi/test_configdrive.py index 998e2d429f6c..45f270f17e3c 100644 --- a/nova/tests/unit/virt/vmwareapi/test_configdrive.py +++ b/nova/tests/unit/virt/vmwareapi/test_configdrive.py @@ -48,7 +48,7 @@ class ConfigDriveTestCase(test.NoDBTestCase): host_username='test_username', host_password='test_pass', use_linked_clone=False, group='vmware') - self.flags(vnc_enabled=False) + self.flags(enabled=False, group='vnc') vmwareapi_fake.reset() stubs.set_stubs(self.stubs) nova.tests.unit.image.fake.stub_out_image_service(self.stubs) diff --git a/nova/tests/unit/virt/vmwareapi/test_driver_api.py b/nova/tests/unit/virt/vmwareapi/test_driver_api.py index 6a16d05e9a7d..229c32bc5048 100644 --- a/nova/tests/unit/virt/vmwareapi/test_driver_api.py +++ b/nova/tests/unit/virt/vmwareapi/test_driver_api.py @@ -178,8 +178,8 @@ class VMwareAPIVMTestCase(test.NoDBTestCase): host_password='test_pass', api_retry_count=1, use_linked_clone=False, group='vmware') - self.flags(vnc_enabled=False, - image_cache_subdirectory_name='vmware_base', + self.flags(enabled=False, group='vnc') + self.flags(image_cache_subdirectory_name='vmware_base', my_ip='') self.user_id = 'fake' self.project_id = 'fake' diff --git a/nova/tests/unit/virt/vmwareapi/test_vmops.py b/nova/tests/unit/virt/vmwareapi/test_vmops.py index 2feb0cf28bef..149fe2e72877 100644 --- a/nova/tests/unit/virt/vmwareapi/test_vmops.py +++ b/nova/tests/unit/virt/vmwareapi/test_vmops.py @@ -56,10 +56,10 @@ class VMwareVMOpsTestCase(test.NoDBTestCase): super(VMwareVMOpsTestCase, self).setUp() vmwareapi_fake.reset() stubs.set_stubs(self.stubs) + self.flags(enabled=True, group='vnc') self.flags(image_cache_subdirectory_name='vmware_base', my_ip='', - flat_injected=True, - vnc_enabled=True) + flat_injected=True) self._context = context.RequestContext('fake_user', 'fake_project') self._session = driver.VMwareAPISession() @@ -861,7 +861,8 @@ class VMwareVMOpsTestCase(test.NoDBTestCase): self.assertNotIn('scrubme', args[0]) mock_debug.side_effect = fake_debug - self.flags(flat_injected=False, vnc_enabled=False) + self.flags(flat_injected=False) + self.flags(enabled=False, group='vnc') # Call spawn(). We don't care what it does as long as it generates # the log message, which we check below. @@ -929,7 +930,8 @@ class VMwareVMOpsTestCase(test.NoDBTestCase): 'disk_bus': constants.DEFAULT_ADAPTER_TYPE, 'mount_device': '/dev/sdc'}] bdi = {'block_device_mapping': bdm, 'root_device_name': '/dev/sda'} - self.flags(flat_injected=False, vnc_enabled=False) + self.flags(flat_injected=False) + self.flags(enabled=False, group='vnc') image_size = (self._instance.root_gb) * units.Gi / 2 image_info = images.VMwareImage( @@ -987,7 +989,8 @@ class VMwareVMOpsTestCase(test.NoDBTestCase): 'connection_info': connection_info3, 'disk_bus': constants.ADAPTER_TYPE_LSILOGICSAS}] bdi = {'block_device_mapping': bdm} - self.flags(flat_injected=False, vnc_enabled=False) + self.flags(flat_injected=False) + self.flags(enabled=False, group='vnc') image_info = mock.sentinel.image_info vi = get_vm_config_info.return_value @@ -1034,7 +1037,8 @@ class VMwareVMOpsTestCase(test.NoDBTestCase): 'connection_info': connection_info, 'disk_bus': 'invalid_adapter_type'}] bdi = {'block_device_mapping': bdm} - self.flags(flat_injected=False, vnc_enabled=False) + self.flags(flat_injected=False) + self.flags(enabled=False, group='vnc') image_info = mock.sentinel.image_info vi = get_vm_config_info.return_value diff --git a/nova/virt/libvirt/driver.py b/nova/virt/libvirt/driver.py index 779d1c8f3bda..c7552c5eb674 100644 --- a/nova/virt/libvirt/driver.py +++ b/nova/virt/libvirt/driver.py @@ -239,7 +239,7 @@ CONF.import_opt('cipher', 'nova.compute.api', CONF.import_opt('key_size', 'nova.compute.api', group='ephemeral_storage_encryption') CONF.import_opt('live_migration_retry_count', 'nova.compute.manager') -CONF.import_opt('vncserver_proxyclient_address', 'nova.vnc') +CONF.import_opt('vncserver_proxyclient_address', 'nova.vnc', group='vnc') CONF.import_opt('server_proxyclient_address', 'nova.spice', group='spice') CONF.import_opt('vcpu_pin_set', 'nova.virt.hardware') CONF.import_opt('vif_plugging_is_fatal', 'nova.virt.driver') @@ -2558,7 +2558,7 @@ class LibvirtDriver(driver.ComputeDriver): raise exception.ConsoleTypeUnavailable(console_type='vnc') port = get_vnc_port_for_instance(instance.name) - host = CONF.vncserver_proxyclient_address + host = CONF.vnc.vncserver_proxyclient_address return ctype.ConsoleVNC(host=host, port=port) @@ -4131,12 +4131,12 @@ class LibvirtDriver(driver.ComputeDriver): # those versions are. We'll just let libvirt report the # errors appropriately if the user enables both. add_video_driver = False - if ((CONF.vnc_enabled and + if ((CONF.vnc.enabled and virt_type not in ('lxc', 'uml'))): graphics = vconfig.LibvirtConfigGuestGraphics() graphics.type = "vnc" - graphics.keymap = CONF.vnc_keymap - graphics.listen = CONF.vncserver_listen + graphics.keymap = CONF.vnc.keymap + graphics.listen = CONF.vnc.vncserver_listen guest.add_device(graphics) add_video_driver = True @@ -4210,7 +4210,7 @@ class LibvirtDriver(driver.ComputeDriver): # at the same time, we'll get the tablet whether the # SPICE agent is used or not. need_usb_tablet = False - if CONF.vnc_enabled: + if CONF.vnc.enabled: need_usb_tablet = CONF.libvirt.use_usb_tablet elif CONF.spice.enabled and not CONF.spice.agent_enabled: need_usb_tablet = CONF.libvirt.use_usb_tablet @@ -5407,10 +5407,10 @@ class LibvirtDriver(driver.ComputeDriver): def _check_graphics_addresses_can_live_migrate(self, listen_addrs): LOCAL_ADDRS = ('0.0.0.0', '127.0.0.1', '::', '::1') - local_vnc = CONF.vncserver_listen in LOCAL_ADDRS + local_vnc = CONF.vnc.vncserver_listen in LOCAL_ADDRS local_spice = CONF.spice.server_listen in LOCAL_ADDRS - if ((CONF.vnc_enabled and not local_vnc) or + if ((CONF.vnc.enabled and not local_vnc) or (CONF.spice.enabled and not local_spice)): msg = _('Your libvirt version does not support the' @@ -5428,7 +5428,7 @@ class LibvirtDriver(driver.ComputeDriver): dest_local_vnc = listen_addrs['vnc'] in LOCAL_ADDRS dest_local_spice = listen_addrs['spice'] in LOCAL_ADDRS - if ((CONF.vnc_enabled and not dest_local_vnc) or + if ((CONF.vnc.enabled and not dest_local_vnc) or (CONF.spice.enabled and not dest_local_spice)): LOG.warn(_LW('Your libvirt version does not support the' @@ -5929,7 +5929,7 @@ class LibvirtDriver(driver.ComputeDriver): # Store vncserver_listen and latest disk device info res_data = {'graphics_listen_addrs': {}, 'volume': {}} - res_data['graphics_listen_addrs']['vnc'] = CONF.vncserver_listen + res_data['graphics_listen_addrs']['vnc'] = CONF.vnc.vncserver_listen res_data['graphics_listen_addrs']['spice'] = CONF.spice.server_listen for vol in block_device_mapping: connection_info = vol['connection_info'] diff --git a/nova/virt/vmwareapi/vm_util.py b/nova/virt/vmwareapi/vm_util.py index cf066d4d1c26..4f179f43b44a 100644 --- a/nova/virt/vmwareapi/vm_util.py +++ b/nova/virt/vmwareapi/vm_util.py @@ -889,7 +889,7 @@ def get_vnc_config_spec(client_factory, port): opt_port.value = port opt_keymap = client_factory.create('ns0:OptionValue') opt_keymap.key = "RemoteDisplay.vnc.keyMap" - opt_keymap.value = CONF.vnc_keymap + opt_keymap.value = CONF.vnc.keymap extras = [opt_enabled, opt_port, opt_keymap] diff --git a/nova/virt/vmwareapi/vmops.py b/nova/virt/vmwareapi/vmops.py index 18b6847d01bc..4ecc061969e0 100644 --- a/nova/virt/vmwareapi/vmops.py +++ b/nova/virt/vmwareapi/vmops.py @@ -73,7 +73,7 @@ CONF.register_opts(vmops_opts, 'vmware') CONF.import_opt('image_cache_subdirectory_name', 'nova.virt.imagecache') CONF.import_opt('remove_unused_base_images', 'nova.virt.imagecache') -CONF.import_opt('vnc_enabled', 'nova.vnc') +CONF.import_opt('enabled', 'nova.vnc', group='vnc') CONF.import_opt('my_ip', 'nova.netconf') LOG = logging.getLogger(__name__) @@ -617,7 +617,7 @@ class VMwareVMOps(object): vm_ref=vm_ref) # Set the vnc configuration of the instance, vnc port starts from 5900 - if CONF.vnc_enabled: + if CONF.vnc.enabled: self._get_and_set_vnc_config(client_factory, instance, vm_ref) block_device_mapping = [] diff --git a/nova/virt/xenapi/vmops.py b/nova/virt/xenapi/vmops.py index 6e3b11d6937d..d8434448f6f2 100644 --- a/nova/virt/xenapi/vmops.py +++ b/nova/virt/xenapi/vmops.py @@ -76,7 +76,7 @@ xenapi_vmops_opts = [ CONF = cfg.CONF CONF.register_opts(xenapi_vmops_opts, 'xenserver') CONF.import_opt('host', 'nova.netconf') -CONF.import_opt('vncserver_proxyclient_address', 'nova.vnc') +CONF.import_opt('vncserver_proxyclient_address', 'nova.vnc', group='vnc') DEFAULT_FIREWALL_DRIVER = "%s.%s" % ( firewall.__name__, @@ -1784,7 +1784,7 @@ class VMOps(object): # NOTE: XS5.6sp2+ use http over port 80 for xenapi com return ctype.ConsoleVNC( - host=CONF.vncserver_proxyclient_address, + host=CONF.vnc.vncserver_proxyclient_address, port=80, internal_access_path=path) diff --git a/nova/vnc/__init__.py b/nova/vnc/__init__.py index eb68c67168f3..1c7745867b6e 100644 --- a/nova/vnc/__init__.py +++ b/nova/vnc/__init__.py @@ -23,25 +23,37 @@ vnc_opts = [ cfg.StrOpt('novncproxy_base_url', default='http://127.0.0.1:6080/vnc_auto.html', help='Location of VNC console proxy, in the form ' - '"http://127.0.0.1:6080/vnc_auto.html"'), + '"http://127.0.0.1:6080/vnc_auto.html"', + deprecated_group='DEFAULT', + deprecated_name='novncproxy_base_url'), cfg.StrOpt('xvpvncproxy_base_url', default='http://127.0.0.1:6081/console', help='Location of nova xvp VNC console proxy, in the form ' - '"http://127.0.0.1:6081/console"'), + '"http://127.0.0.1:6081/console"', + deprecated_group='DEFAULT', + deprecated_name='xvpvncproxy_base_url'), cfg.StrOpt('vncserver_listen', default='127.0.0.1', - help='IP address on which instance vncservers should listen'), + help='IP address on which instance vncservers should listen', + deprecated_group='DEFAULT', + deprecated_name='vncserver_listen'), cfg.StrOpt('vncserver_proxyclient_address', default='127.0.0.1', help='The address to which proxy clients ' - '(like nova-xvpvncproxy) should connect'), - cfg.BoolOpt('vnc_enabled', + '(like nova-xvpvncproxy) should connect', + deprecated_group='DEFAULT', + deprecated_name='vncserver_proxyclient_address'), + cfg.BoolOpt('enabled', default=True, - help='Enable VNC related features'), - cfg.StrOpt('vnc_keymap', + help='Enable VNC related features', + deprecated_group='DEFAULT', + deprecated_name='vnc_enabled'), + cfg.StrOpt('keymap', default='en-us', - help='Keymap for VNC'), + help='Keymap for VNC', + deprecated_group='DEFAULT', + deprecated_name='vnc_keymap'), ] CONF = cfg.CONF -CONF.register_opts(vnc_opts) +CONF.register_opts(vnc_opts, group='vnc')