Alon Bar-Lev has posted comments on this change.

Change subject: engine: Integrate noVNC support
......................................................................


Patch Set 6: (13 inline comments)

....................................................
File backend/manager/modules/root/src/main/webapp/ovirt-engine-novnc-main.html
Line 128:                            'shared':       
WebUtil.getQueryVar('shared', true),
Line 129:                            'view_only':    
WebUtil.getQueryVar('view_only', false),
Line 130:                            'updateState':  updateState,
Line 131:                            'onPasswordRequired':  passwordRequired});
Line 132:                            rfb.connect(host, port, ticket, path);
ok... now I understand host and port are of proxy, this is somewhat strange to 
me... as I expected this framework to work with URLs... but OK.
Line 133:             }catch(e) {alert(e);}
Line 134:         }
Line 135: 
Line 136:         if (window.addEventListener) {


....................................................
File 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/uicommon/NoVncImpl.java
Line 36:         this.listensOnPostMessage = listensOnPostMessage;
Line 37:     }
Line 38: 
Line 39:     private String getClientUrl() {
Line 40:         String val =  Location.getProtocol() + "//" + 
Location.getHost() + "/ovirt-engine-novnc-main.html?host=" + getProxyHost() + 
"&port=" + getProxyPort();//$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$
Hmm.... /ovirt-engine-novnc-main.html will do the same work, no?
Line 41:         return val;
Line 42:     }
Line 43: 
Line 44:     public NoVncImpl() {


....................................................
File packaging/conf/engine.conf.defaults.in
Line 33: ENGINE_DOC="@ENGINE_DOC@"
Line 34: ENGINE_VAR="@ENGINE_VAR@"
Line 35: ENGINE_CACHE="@ENGINE_CACHE@"
Line 36: SPICE_DIR="@SPICE_DIR@"
Line 37: ENGINE_NOVNC_DIR="@ENGINE_NOVNC_DIR@"
Oh... I think you can safely hardcode this here.
Line 38: 
Line 39: #
Line 40: # Intervals for stoping the engine:
Line 41: #


....................................................
File packaging/conf/ovirt-engine-proxy.conf.in
Line 24:     <Location /ovirt-engine/>
Line 25:         ProxyPass ajp://localhost:@JBOSS_AJP_PORT@/
Line 26:     </Location>
Line 27: 
Line 28:     <LocationMatch 
^/(UserPortal($|/)|OvirtEngineWeb($|/)|webadmin($|/)|docs($|/)|ovirt-engine-novnc($|/)|spice/|ca.crt$|engine.ssh.key.txt$|rhevm.ssh.key.txt$|ovirt-engine-style.css$|console.vv$)>
you should cover the main as well.
Line 29:         ProxyPassMatch ajp://localhost:@JBOSS_AJP_PORT@
Line 30:         <IfModule deflate_module>
Line 31:             AddOutputFilterByType DEFLATE text/javascript text/css 
text/html text/xml text/json application/xml application/json application/x-yaml
Line 32:         </IfModule>


....................................................
File packaging/conf/ovirt-websocket-proxy.conf.defaults.in
Line 11: SSL_KEY=
Line 12: FORCE_DATA_VERIFICATION=False
Line 13: CERT_FOR_DATA_VERIFICATION=
Line 14: SSL_ONLY=False
Line 15: LOG_FILE=False
What is LOG_FILE false?

I guess it should be ${ENGINE_LOG}/websocket-proxy.log or something?
Line 16: VERBOSE=False
Line 17: ENGINE_USR="@ENGINE_USR@"


Line 12: FORCE_DATA_VERIFICATION=False
Line 13: CERT_FOR_DATA_VERIFICATION=
Line 14: SSL_ONLY=False
Line 15: LOG_FILE=False
Line 16: VERBOSE=False
LOG_LEVEL=DEBUG or LOG_VERBOSE=False?
Line 17: ENGINE_USR="@ENGINE_USR@"


....................................................
File packaging/services/ovirt-websocket-proxy.py
Line 15: # limitations under the License.
Line 16: 
Line 17: import os
Line 18: import gettext
Line 19: import Cookie
Not needed.

Please execute pyflakes and pep8 over the python files.
Line 20: import socket
Line 21: import websockify as wsproxy
Line 22: import base64
Line 23: import json


Line 17: import os
Line 18: import gettext
Line 19: import Cookie
Line 20: import socket
Line 21: import websockify as wsproxy
why rename plain name?

Please also separate the standard python modules and the external ones...

standard

self (config...)

external (websockify, m2crypto ...)
Line 22: import base64
Line 23: import json
Line 24: _ = lambda m: gettext.dgettext(message=m, domain='ovirt-engine')
Line 25: 


Line 44:     def new_client(self):
Line 45:         """
Line 46:         Called after a new WebSocket connection has been established.
Line 47:         """
Line 48:         path_json = self._ticketDecoder.decode(self.path[1:])
so why do you call this json? it is a string of host,port, right?

if that's so, better to use the standard convention of host:port :)
Line 49:         connection_data = path_json.split(',')
Line 50:         target_host = connection_data[1].encode('utf8')
Line 51:         target_port = connection_data[2].encode('utf8')
Line 52: 


Line 47:         """
Line 48:         path_json = self._ticketDecoder.decode(self.path[1:])
Line 49:         connection_data = path_json.split(',')
Line 50:         target_host = connection_data[1].encode('utf8')
Line 51:         target_port = connection_data[2].encode('utf8')
as far as I know, if you already used string to split... you get string so the 
encode is not required.

or something else is wrong. Can you please explain why encode is needed?
Line 52: 
Line 53:         # Connect to the target
Line 54:         self.msg("connecting to: %s:%s" % (
Line 55:                  target_host, target_port))


Line 51:         target_port = connection_data[2].encode('utf8')
Line 52: 
Line 53:         # Connect to the target
Line 54:         self.msg("connecting to: %s:%s" % (
Line 55:                  target_host, target_port))
where does this message go? to its own log file?
Line 56:         tsock = self.socket(target_host, target_port,
Line 57:                 connect=True)
Line 58: 
Line 59:         if self.verbose and not self.daemon:


Line 151:             cert=self._config.getString('SSL_CERTIFICATE'),
Line 152:             key=self._config.getString('SSL_KEY'),
Line 153:             ssl_only=self._config.getBoolean('SSL_ONLY'),
Line 154:             daemon=False,
Line 155:             record=self._config.getBoolean('LOG_FILE'),
Doesn't it has an option to use standard python log? It is much better to use 
standard log and at one place register handler to a file.
Line 156:             web=None,
Line 157:             target_host='ignore',
Line 158:             target_port='ignore',
Line 159:             wrap_mode='exit',


Line 157:             target_host='ignore',
Line 158:             target_port='ignore',
Line 159:             wrap_mode='exit',
Line 160:             wrap_cmd=None
Line 161:         ).start_server();
No need for ';'
Line 162: 
Line 163: 
Line 164: if __name__ == '__main__':
Line 165:     service.setupLogger()


--
To view, visit http://gerrit.ovirt.org/13931
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I44e9870b88537360a1886e89c08f18865eae2ef0
Gerrit-PatchSet: 6
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Frank Kobzik <fkob...@redhat.com>
Gerrit-Reviewer: Alon Bar-Lev <alo...@redhat.com>
Gerrit-Reviewer: Barak Azulay <bazu...@redhat.com>
Gerrit-Reviewer: Frank Kobzik <fkob...@redhat.com>
Gerrit-Reviewer: Itamar Heim <ih...@redhat.com>
Gerrit-Reviewer: Martin Beták <mbe...@redhat.com>
Gerrit-Reviewer: Michal Skrivanek <michal.skriva...@redhat.com>
Gerrit-Reviewer: Sandro Bonazzola <sbona...@redhat.com>
Gerrit-Reviewer: Tomas Jelinek <tjeli...@redhat.com>
Gerrit-Reviewer: Vojtech Szocs <vsz...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to