[ 
https://issues.apache.org/jira/browse/GUACAMOLE-1641?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17719608#comment-17719608
 ] 

Mike Beynon edited comment on GUACAMOLE-1641 at 5/5/23 3:04 AM:
----------------------------------------------------------------

The code basically works, but still disconnects in ~60 seconds and needs to be 
understood why and fixed.  Most of the hard parts of adding the feature are 
done – new options, WebSocket connection tunnel to vCenter, and passing the VNC 
bits to the existing decoder, the new options in the db and frontend, etc.  
Only the disconnection bug remains.

For the 60 seconds it runs all seems to work as expected, then the vCenter side 
closes the connection (with no log entry I could find), which causes the 
WebSocket layer to tear down the WebSocket, and the logic then tries to 
reconnect, after which it repeats the 60 seconds of working and another 
disconnect.

Before being merged it also needs the documentation improved beyond what I 
initially wrote, and to better describe what semantics are for the new or 
changed configuration settings.

I lost access to the vCenter server environment when I changed jobs, so it's 
just been sitting there.  My worry is the changes will bitrot if they stay 
unmerged for too long.  I worked for a few weeks on this pretty steady and 
would like to see it merged and used.  :(

Perhaps the next step is for me to do what [~vnick] suggested and submit a PR 
for review to get more eyes on it.


was (Author: JIRAUSER293070):
The code basically works, but the disconnection within 60 seconds needs to be 
debugged as to why it's happening and then fix it.  The hard part is done with 
the new options, some changes to make the threading safe, etc.  Only that one 
bug remains.  For the 60 seconds it's up, it works as expected, then the 
vCenter side closes the connection, so the WebSocket layer then tears down the 
WebSocket, and then it reconnects, works and in 60 seconds it does it again.

Before being merged it also needs to be documented better how to configure the 
new settings.

I lost access to the vCenter server environment when I changed jobs, so it's 
just been sitting there.  My worry is the changes will bitrot if they stay 
unmerged too long.  I worked for a few weeks on this pretty steady and would 
like to see the work merged and used.  :(  Perhaps the next step is for me to 
do what [~vnick] suggested and submit a PR for review to get more eyes on it.

> Add vSphere support to VNC protocol
> -----------------------------------
>
>                 Key: GUACAMOLE-1641
>                 URL: https://issues.apache.org/jira/browse/GUACAMOLE-1641
>             Project: Guacamole
>          Issue Type: Improvement
>          Components: guacamole
>            Reporter: Mike Beynon
>            Priority: Minor
>
> vSphere bundles a VNC server into their ESXi hypervisor, and tunnels the VNC 
> protocol over a web socket to their client.  I'm working now to add support 
> to guacd to (1) take a vm object id name, (2) use the vSphere API to 
> establish a session with vCenter and request a webmks ticket, and (3) have 
> guacd connect to the appropriate ESXi server and port to setup the websocket 
> and then pass binary frames containing the VNC protocol.  The new parameters 
> for the guacd protocol will mean there's changes to guacamole-client also for 
> the webapp and the db storage for connection parameters.
> I plan to do this on the open source version.
> It's related to GUACAMOLE-591, except it will not show the entire VM catalog. 
>  Instead my changes will provide the mechanism in guacd, and later work can 
> add the catalog.
> Any suggestions how to proceed?  Things to do or things to avoid doing?
> Should I start with the latest apache or glyptodon source?



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to