← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1435316] Re: property vnc_keymap is not managed by vmware compute

 

** Changed in: nova
       Status: Fix Committed => Fix Released

** Changed in: nova
    Milestone: None => liberty-1

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1435316

Title:
  property vnc_keymap is not managed by vmware compute

Status in OpenStack Compute (Nova):
  Fix Released

Bug description:
  Property vnc_keymap is properly handled by KVM compute but not managed
  at all by vmware compute.

  As a consequence, the corresponding property in vmx file
  "RemoteDisplay.vnc.keyMap" is never set and whatever we put in
  "vnc_keymap" option we will have an english (en-us) keyboard.

  My solution (tag 2014.1.4 and higher): 
  Override function ./nova/virt/vmwareapi/vm_util.py:get_vnc_config_spec(client_factory, port)
  with: 

  def get_vnc_config_spec(client_factory, port):
      """Builds the super vnc config spec.

      Add vnc keymap management.
      """
      virtual_machine_config_spec = client_factory.create(
                                      'ns0:VirtualMachineConfigSpec')

      opt_enabled = client_factory.create('ns0:OptionValue')
      opt_enabled.key = "RemoteDisplay.vnc.enabled"
      opt_enabled.value = "true"
      opt_port = client_factory.create('ns0:OptionValue')
      opt_port.key = "RemoteDisplay.vnc.port"
      opt_port.value = port

      #  Patch start here
      opt_keymap = client_factory.create('ns0:OptionValue')
      opt_keymap.key = "RemoteDisplay.vnc.keyMap"
      opt_keymap.value = CONF.vnc_keymap
      # Patch end here

      extras = [opt_enabled, opt_port, opt_keymap]

      virtual_machine_config_spec.extraConfig = extras
      return virtual_machine_config_spec

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1435316/+subscriptions


References