Keycode error using novnc and Horizon console

Bug #1622684 reported by Phil Hopkins
54
This bug affects 13 people
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
Invalid
Undecided
Unassigned
OpenStack Dashboard (Horizon)
Invalid
Undecided
Unassigned

Bug Description

When using Newton or Mitaka versons of OpenStack Horizon, I am unable to talk to the vm in the Horizon console window. I am using noVNC and I see the following in the console when ever pressing any key on the keyboard:

atkbd serio0: Use 'setkeycodes 00 <keycode>' to make it known.
[ 41.750245] atkbd serio0: Unknown key released (translated set 2,
code 0x0 on isa0060/serio0).
[ 41.750591] atkbd serio0: Use 'setkeycodes 00 <keycode>' to make it known.
[ 41.815590] atkbd serio0: Unknown key pressed (translated set 2,
code 0x0 on isa0060/serio0).
[ 41.816087] atkbd serio0: Use 'setkeycodes 00 <keycode>' to make it known.
[ 41.945017] atkbd serio0: Unknown key released (translated set 2,
code 0x0 on isa0060/serio0).
[ 41.945848] atkbd serio0: Use 'setkeycodes 00 <keycode>' to make it known.
[ 42.393227] atkbd serio0: Unknown key pressed (translated set 2,
code 0x0 on isa0060/serio0).

This appears to be related to recent code changes in noVNC. If I revert noVNC to the sha 4e0c36dda708628836dc6f5d68fc40d05c7716d9, everything works. This sha commit date is August 26, 2016.

Phil

Revision history for this message
Dr. Jens Harbott (j-harbott) wrote :

Made it an upstream issue at https://github.com/kanaka/noVNC/issues/666

Revision history for this message
Phil Hopkins (phil-hopkins-a) wrote :

Adding keymap =
to the [vnc] section of the nova.conf file and restarting the appropriate services will also fix this. If the keymap is set to en-us in the libvirt xml file for the VM novnc proxy will exhibit this problem.

Phil

summary: - Keycode error using novnc and Horizon consloe
+ Keycode error using novnc and Horizon console
Revision history for this message
Dr. Jens Harbott (j-harbott) wrote :

Quoting from the upstream bug report:

https://www.redhat.com/archives/libvir-list/2009-May/msg00234.html

"Our recommendation is to never set the '-k' /keymap option at all these
days. Recent QEMU / KVM and GTK-VNC releases support a VNC extension for
sending raw keycodes, instead of localized keysyms. Thus is best to leave
off the keymap in the config, and just configure it inside the guest OS."

So the proper fix seems to be to have nova default to vnc.keymap = None from the start.

Revision history for this message
Dr. Jens Harbott (j-harbott) wrote :

Note that this is not a horizon bug, I get the same behaviour when accessing the URL returned from "nova get-vnc-console" directly.

Changed in horizon:
status: New → Invalid
Changed in nova:
assignee: nobody → Dr. Jens Rosenboom (j-rosenboom-j)
status: New → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on nova (master)

Change abandoned by Jens Rosenboom (<email address hidden>) on branch: master
Review: https://review.openstack.org/375333
Reason: So this should be handled in upstream code

Changed in nova:
assignee: Dr. Jens Rosenboom (j-rosenboom-j) → nobody
status: In Progress → Invalid
Revision history for this message
cooldharma06 (cooldharma06) wrote :

Any suggestion or workaround to solve this error.

Revision history for this message
Tong Liu (liutong) wrote :

One workaround is to checkout a older version of noVNC.

Go to your noVNC repo, and do a git checkout v0.6.0. Then reload the the console for the instance.
Alternatively you can add NOVNC_BRANCH=v0.6.0 to your local.conf file, and restack.

Revision history for this message
Prashant Shetty (prashantshetty) wrote :

set NOVNC_BRANCH=v0.6.0 to your local.conf file, and restack

Revision history for this message
Chi-Chun Chiang (baddychiang) wrote :

Do these two commands below:
cd /opt/stack/noVNC
git checkout v0.6.0

And after you see this line "HEAD is now at 5230ab6..... Release 0.6.0"
Everything should work.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.