Keycode error using novnc and Horizon console

Bug #1622684 reported by Phil Hopkins on 2016-09-12
54
This bug affects 13 people
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
Undecided
Unassigned
OpenStack Dashboard (Horizon)
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

Dr. Jens Harbott (j-harbott) wrote :

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

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
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.

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

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
cooldharma06 (cooldharma06) wrote :

Any suggestion or workaround to solve this error.

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.

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

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  Edit
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.