VM spice console not clear

Bug #1854950 reported by YG Kumar
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
Opinion
Undecided
Unassigned

Bug Description

Hi,

We have openstack ansible rocky 18.1.9 setup and when a user is trying to access a vm console from web browser, they are not able to send keystrokes properly. When for example, pressing ENTER key, the display is broken into number of lines and not clear what they are typing in. In the nova-spice-console logs, we are observing these messages frequently:

------------
2019-12-03 09:16:01.278 37844 INFO nova.console.websocketproxy [-] handler exception: [Errno 32] Broken pipe
2019-12-03 09:16:01.279 37844 DEBUG nova.console.websocketproxy [-] exception vmsg /openstack/venvs/nova-18.1.9/lib/python2.7/site-packages/websockify/websocket.py:875
2019-12-03 09:16:01.279 37844 ERROR nova.console.websocketproxy Traceback (most recent call last):
2019-12-03 09:16:01.279 37844 ERROR nova.console.websocketproxy File "/openstack/venvs/nova-18.1.9/lib/python2.7/site-packages/websockify/websocket.py", line 930, in top_new_client
2019-12-03 09:16:01.279 37844 ERROR nova.console.websocketproxy client = self.do_handshake(startsock, address)
2019-12-03 09:16:01.279 37844 ERROR nova.console.websocketproxy File "/openstack/venvs/nova-18.1.9/lib/python2.7/site-packages/websockify/websocket.py", line 860, in do_handshake
2019-12-03 09:16:01.279 37844 ERROR nova.console.websocketproxy self.RequestHandlerClass(retsock, address, self)
2019-12-03 09:16:01.279 37844 ERROR nova.console.websocketproxy File "/openstack/venvs/nova-18.1.9/lib/python2.7/site-packages/nova/console/websocketproxy.py", line 308, in __init__
2019-12-03 09:16:01.279 37844 ERROR nova.console.websocketproxy websockify.ProxyRequestHandler.__init__(self, *args, **kwargs)
2019-12-03 09:16:01.279 37844 ERROR nova.console.websocketproxy File "/openstack/venvs/nova-18.1.9/lib/python2.7/site-packages/websockify/websocket.py", line 114, in __init__
2019-12-03 09:16:01.279 37844 ERROR nova.console.websocketproxy SimpleHTTPRequestHandler.__init__(self, req, addr, server)
2019-12-03 09:16:01.279 37844 ERROR nova.console.websocketproxy File "/usr/lib/python2.7/SocketServer.py", line 652, in __init__
2019-12-03 09:16:01.279 37844 ERROR nova.console.websocketproxy self.handle()
2019-12-03 09:16:01.279 37844 ERROR nova.console.websocketproxy File "/openstack/venvs/nova-18.1.9/lib/python2.7/site-packages/websockify/websocket.py", line 581, in handle
2019-12-03 09:16:01.279 37844 ERROR nova.console.websocketproxy SimpleHTTPRequestHandler.handle(self)
2019-12-03 09:16:01.279 37844 ERROR nova.console.websocketproxy File "/usr/lib/python2.7/BaseHTTPServer.py", line 340, in handle
2019-12-03 09:16:01.279 37844 ERROR nova.console.websocketproxy self.handle_one_request()
2019-12-03 09:16:01.279 37844 ERROR nova.console.websocketproxy File "/usr/lib/python2.7/BaseHTTPServer.py", line 328, in handle_one_request
2019-12-03 09:16:01.279 37844 ERROR nova.console.websocketproxy method()
2019-12-03 09:16:01.279 37844 ERROR nova.console.websocketproxy File "/openstack/venvs/nova-18.1.9/lib/python2.7/site-packages/websockify/websocket.py", line 567, in do_HEAD
2019-12-03 09:16:01.279 37844 ERROR nova.console.websocketproxy SimpleHTTPRequestHandler.do_HEAD(self)
2019-12-03 09:16:01.279 37844 ERROR nova.console.websocketproxy File "/usr/lib/python2.7/SimpleHTTPServer.py", line 54, in do_HEAD
2019-12-03 09:16:01.279 37844 ERROR nova.console.websocketproxy f = self.send_head()
2019-12-03 09:16:01.279 37844 ERROR nova.console.websocketproxy File "/usr/lib/python2.7/SimpleHTTPServer.py", line 103, in send_head
2019-12-03 09:16:01.279 37844 ERROR nova.console.websocketproxy self.send_header("Last-Modified", self.date_time_string(fs.st_mtime))
2019-12-03 09:16:01.279 37844 ERROR nova.console.websocketproxy File "/usr/lib/python2.7/BaseHTTPServer.py", line 412, in send_header
2019-12-03 09:16:01.279 37844 ERROR nova.console.websocketproxy self.wfile.write("%s: %s\r\n" % (keyword, value))
2019-12-03 09:16:01.279 37844 ERROR nova.console.websocketproxy File "/usr/lib/python2.7/socket.py", line 328, in write
2019-12-03 09:16:01.279 37844 ERROR nova.console.websocketproxy self.flush()
2019-12-03 09:16:01.279 37844 ERROR nova.console.websocketproxy File "/usr/lib/python2.7/socket.py", line 307, in flush
2019-12-03 09:16:01.279 37844 ERROR nova.console.websocketproxy self._sock.sendall(view[write_offset:write_offset+buffer_size])
2019-12-03 09:16:01.279 37844 ERROR nova.console.websocketproxy File "/openstack/venvs/nova-18.1.9/lib/python2.7/site-packages/eventlet/greenio/base.py", line 390, in sendall
2019-12-03 09:16:01.279 37844 ERROR nova.console.websocketproxy tail = self.send(data, flags)
2019-12-03 09:16:01.279 37844 ERROR nova.console.websocketproxy File "/openstack/venvs/nova-18.1.9/lib/python2.7/site-packages/eventlet/greenio/base.py", line 384, in send
2019-12-03 09:16:01.279 37844 ERROR nova.console.websocketproxy return self._send_loop(self.fd.send, data, flags)
2019-12-03 09:16:01.279 37844 ERROR nova.console.websocketproxy File "/openstack/venvs/nova-18.1.9/lib/python2.7/site-packages/eventlet/greenio/base.py", line 371, in _send_loop
2019-12-03 09:16:01.279 37844 ERROR nova.console.websocketproxy return send_method(data, *args)
2019-12-03 09:16:01.279 37844 ERROR nova.console.websocketproxy error: [Errno 32] Broken pipe
2019-12-03 09:16:01.279 37844 ERROR nova.console.websocketproxy
----------------------------------------

Please suggest us how to troubleshoot this issue .

Thanks
Kumar

Tags: console spice
Matt Riedemann (mriedem)
summary: - VM console not clear
+ VM spice console not clear
tags: added: console spice
Revision history for this message
YG Kumar (ygk-kmr) wrote :

I am attaching the screenshot

Revision history for this message
YG Kumar (ygk-kmr) wrote :

Hi All,

I am able to narrow down the problem to only certain qcow2 images. This is happening with Centos-7 qcow2 images. Else it is working fine with Ubuntu 16 images without any issue. So I suspect any issue with centos 7 images with their graphic resolution configuration inside those images ?

Thanks
Kumar

Revision history for this message
YG Kumar (ygk-kmr) wrote :

Hi All,

I have found the issue to be only specific to some images like centos 7. It seems that changing the hw_video_model to vga from qxl in the glance image properties fixed this issue. You can close this bug as resolved.

Thanks
Kumar

Revision history for this message
melanie witt (melwitt) wrote :

Thanks Kumar for investigating the issue further and identifying that the issue is with certain images and not with nova itself. Closing this bug accordingly based on your findings. Thanks again!

Changed in nova:
status: New → Invalid
Revision history for this message
Warren Jeffs (warrenjeffs) wrote :

I'd like to reopen this and put this in to be fixxed.

I have been testing this and its a websocket proxy issue. Connecting directly to the port on the HV works fine. This is something that should be resolved properly. As I can't expect my users to know to add this meta data to their images on upload.

I have been having this on new Centos 8 images.

Revision history for this message
YG Kumar (ygk-kmr) wrote :

Hi Warren,

Have u been working on this web socket issue ? Any updates so far ?

Changed in nova:
status: Invalid → Opinion
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

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