← Back to team overview

yahoo-eng-team team mailing list archive

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

 

Public bug reported:

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

** Affects: nova
     Importance: Undecided
     Assignee: Benjamin GRASSART (benjamin-grassart)
         Status: New


** Tags: nova vnc

** Changed in: nova
     Assignee: (unassigned) => Benjamin GRASSART (benjamin-grassart)

-- 
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):
  New

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


Follow ups

References