Bug 1228104

Summary: HTML5 console not working with IE8 and IE9
Product: Red Hat CloudForms Management Engine Reporter: Jan Krocil <jkrocil>
Component: UI - OPSAssignee: Martin Povolny <mpovolny>
Status: CLOSED ERRATA QA Contact: Ramesh A <rananda>
Severity: medium Docs Contact:
Priority: high    
Version: 5.4.0CC: hkataria, jhardy, mpovolny, obarenbo, simaishi
Target Milestone: GA   
Target Release: 5.5.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: 5.5.0.3 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-12-08 13:16:01 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
IE9 none

Description Jan Krocil 2015-06-04 08:40:51 UTC
Description of problem:
This is a BZ specific to IE8 and IE9.
These two browsers do not have native websockets support and depend on the flash fallback which is not working properly.

Version-Release number of selected component (if applicable):
5.4.0.2

How reproducible:
Always (tested with vSphere 5.5/6.0)

Steps to Reproduce:
Try to access a VM using the HTML5 console with adobe flash installed.

Actual results:
Status bar remains stuck with the following message:
"noVNC ready: WebSockets emulation, canvas rendering"

Expected results:
HTML5 console works.

Additional info:

(For more info & testing)
http://talk.manageiq.org/t/vnc-and-spice-html5-consoles/624

Production.log:
---------------
[----] I, [2015-06-04T04:34:58.106698 #27776:b6bea8]  INFO -- : Started GET "/vm_infra/launch_html5_console/include/web-socket-js/WebSocketMain.swf?0.0806035605249571" for 127.0.0.1 at 2015-06-04 04:34:58 -0400
[----] F, [2015-06-04T04:34:58.113899 #27776:b6bea8] FATAL -- : 
ActionController::RoutingError (No route matches [GET] "/vm_infra/launch_html5_console/include/web-socket-js/WebSocketMain.swf"):
  /opt/rh/cfme-gemset/bundler/gems/rails-4842a8377644/actionpack/lib/action_dispatch/middleware/debug_exceptions.rb:21:in `call'
  /opt/rh/cfme-gemset/bundler/gems/rails-4842a8377644/actionpack/lib/action_dispatch/middleware/show_exceptions.rb:56:in `call'
  /opt/rh/cfme-gemset/bundler/gems/rails-4842a8377644/railties/lib/rails/rack/logger.rb:32:in `call_app'
  /opt/rh/cfme-gemset/bundler/gems/rails-4842a8377644/railties/lib/rails/rack/logger.rb:18:in `call'
  /opt/rh/cfme-gemset/bundler/gems/rails-4842a8377644/actionpack/lib/action_dispatch/middleware/request_id.rb:22:in `call'
  rack (1.4.5) lib/rack/methodoverride.rb:21:in `call'
  rack (1.4.5) lib/rack/runtime.rb:17:in `call'
  /opt/rh/cfme-gemset/bundler/gems/rails-4842a8377644/activesupport/lib/active_support/cache/strategy/local_cache.rb:72:in `call'
  rack (1.4.5) lib/rack/lock.rb:15:in `call'
  /opt/rh/cfme-gemset/bundler/gems/rails-4842a8377644/actionpack/lib/action_dispatch/middleware/static.rb:63:in `call'
  /opt/rh/cfme-gemset/bundler/gems/rails-4842a8377644/railties/lib/rails/engine.rb:484:in `call'
  /opt/rh/cfme-gemset/bundler/gems/rails-4842a8377644/railties/lib/rails/application.rb:231:in `call'
  rack (1.4.5) lib/rack/content_length.rb:14:in `call'
  /opt/rh/cfme-gemset/bundler/gems/rails-4842a8377644/railties/lib/rails/rack/log_tailer.rb:17:in `call'
  thin (1.3.1) lib/thin/connection.rb:80:in `block in pre_process'
  thin (1.3.1) lib/thin/connection.rb:78:in `catch'
  thin (1.3.1) lib/thin/connection.rb:78:in `pre_process'
  thin (1.3.1) lib/thin/connection.rb:53:in `process'
  thin (1.3.1) lib/thin/connection.rb:38:in `receive_data'
  eventmachine (1.0.7) lib/eventmachine.rb:187:in `run_machine'
  eventmachine (1.0.7) lib/eventmachine.rb:187:in `run'
  thin (1.3.1) lib/thin/backends/base.rb:61:in `start'
  thin (1.3.1) lib/thin/server.rb:159:in `start'
  rack (1.4.5) lib/rack/handler/thin.rb:13:in `run'
  rack (1.4.5) lib/rack/server.rb:268:in `start'
  /opt/rh/cfme-gemset/bundler/gems/rails-4842a8377644/railties/lib/rails/commands/server.rb:70:in `start'
  /opt/rh/cfme-gemset/bundler/gems/rails-4842a8377644/railties/lib/rails/commands.rb:55:in `block in <top (required)>'
  /opt/rh/cfme-gemset/bundler/gems/rails-4842a8377644/railties/lib/rails/commands.rb:50:in `tap'
  /opt/rh/cfme-gemset/bundler/gems/rails-4842a8377644/railties/lib/rails/commands.rb:50:in `<top (required)>'
  script/rails:6:in `require'
  script/rails:6:in `<main>'

Comment 3 Dave Johnson 2015-06-04 15:21:01 UTC
Martin, can you provide more detail with what is going on here please.  It sounds like IE8 is unsupported with no websocket support and there is potentially a build problem with IE9 related to compiled assests?

Comment 4 Dave Johnson 2015-06-04 15:21:45 UTC
If that is true, we probably need to change the title and potentially split the BZ into a second one.

Comment 5 Jan Krocil 2015-06-04 15:31:22 UTC
Dave,
neither IE8 or IE9 supports websockets; the issue (assets or whatever it is) is the same for both.

Comment 6 Martin Povolny 2015-06-05 06:31:06 UTC
The problem is that some assets are missing is the appliance. Those are the javascript and swf bits that provide the websocket implementation for browsers that do not have the native websocket support.

I will investigate what happened. Basically 2 reasons come to my mind:

a) some problem caused when building the appliance
b) some problem with the gem that contains the assets

Comment 7 Martin Povolny 2015-11-05 08:53:43 UTC
fixed in 5.5 by

commit 11098e60068b07056054d677a8ff7a939ddd0e7e
Author: Martin Povolny <mpovolny>
Date:   Fri Sep 25 10:26:14 2015 +0200

    IE9 HTML5/websocket fix

Comment 8 Ramesh A 2015-11-20 11:20:42 UTC
Hi Martin,

I am able to see html5 console in IE9 only when i stop the firewalld service in the appliance.  If the firewalld service is running then i get "Server disconnected (code: 1006)" error in web-ui. (Probably Needs a new bug to be opened for this I guess)

Additionally:
=============
1. When firewalld service is ON/OFF error message is displayed in production.log message as shown below.
2. Cursor is not visible inside the vm,  and Warning message is displayed in the developer tools.  Refer the screenshot for further information. 
(Not sure if new bug has to be raised for this or can be fixed in the same BZ, please advice??) 


production.log:
================
[----] I, [2015-11-20T06:06:49.831906 #6276:c4d998]  INFO -- : Started GET "/vm_infra/launch_html5_console/include/web-socket-js/web_socket.js" for 127.0.0.1 at 2015-11-20 06:06:49 -0500
[----] F, [2015-11-20T06:06:49.833481 #6276:c4d998] FATAL -- : 
ActionController::RoutingError (No route matches [GET] "/vm_infra/launch_html5_console/include/web-socket-js/web_socket.js"):
  actionpack (4.2.5) lib/action_dispatch/middleware/debug_exceptions.rb:21:in `call'
  actionpack (4.2.5) lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
  railties (4.2.5) lib/rails/rack/logger.rb:38:in `call_app'
  railties (4.2.5) lib/rails/rack/logger.rb:22:in `call'
  actionpack (4.2.5) lib/action_dispatch/middleware/request_id.rb:21:in `call'
  rack (1.6.4) lib/rack/methodoverride.rb:22:in `call'
  rack (1.6.4) lib/rack/runtime.rb:18:in `call'
  activesupport (4.2.5) lib/active_support/cache/strategy/local_cache_middleware.rb:28:in `call'
  rack (1.6.4) lib/rack/lock.rb:17:in `call'
  actionpack (4.2.5) lib/action_dispatch/middleware/static.rb:116:in `call'
  actionpack (4.2.5) lib/action_dispatch/middleware/static.rb:116:in `call'
  rack (1.6.4) lib/rack/sendfile.rb:113:in `call'
  railties (4.2.5) lib/rails/engine.rb:518:in `call'
  railties (4.2.5) lib/rails/application.rb:165:in `call'
  rack (1.6.4) lib/rack/content_length.rb:15:in `call'
  thin (1.6.3) lib/thin/connection.rb:86:in `block in pre_process'
  thin (1.6.3) lib/thin/connection.rb:84:in `catch'
  thin (1.6.3) lib/thin/connection.rb:84:in `pre_process'
  thin (1.6.3) lib/thin/connection.rb:53:in `process'
  thin (1.6.3) lib/thin/connection.rb:39:in `receive_data'
  eventmachine (1.0.7) lib/eventmachine.rb:187:in `run_machine'
  eventmachine (1.0.7) lib/eventmachine.rb:187:in `run'
  thin (1.6.3) lib/thin/backends/base.rb:73:in `start'
  thin (1.6.3) lib/thin/server.rb:162:in `start'
  rack (1.6.4) lib/rack/handler/thin.rb:19:in `run'
  rack (1.6.4) lib/rack/server.rb:286:in `start'
  railties (4.2.5) lib/rails/commands/server.rb:80:in `start'
  railties (4.2.5) lib/rails/commands/commands_tasks.rb:80:in `block in server'
  railties (4.2.5) lib/rails/commands/commands_tasks.rb:75:in `tap'
  railties (4.2.5) lib/rails/commands/commands_tasks.rb:75:in `server'
  railties (4.2.5) lib/rails/commands/commands_tasks.rb:39:in `run_command!'
  railties (4.2.5) lib/rails/commands.rb:17:in `<top (required)>'
  bin/rails:4:in `require'
  bin/rails:4:in `<main>'


PS:
===
Appliance IP and IE9 vm's information is sent through the email. 

Thanks,
Ramesh

Comment 9 Ramesh A 2015-11-20 11:21:05 UTC
Created attachment 1097105 [details]
IE9

Comment 10 Ramesh A 2015-11-30 08:23:21 UTC
Blocked due to BZ#1279324

Comment 12 errata-xmlrpc 2015-12-08 13:16:01 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHSA-2015:2551

Comment 13 Red Hat Bugzilla 2023-09-14 03:00:08 UTC
The needinfo request[s] on this closed bug have been removed as they have been unresolved for 1000 days