-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Terminal disconnect when another workspace is starting or stopping on kubernetes #9943
Comments
I guess the problem is caused by the nginx-ingress. When a workspace starting, new ingresses is generated and the nginx will reload, which breaks the websoket. |
@liyanliang1994 you are most probably right. However, the IDE should reconnect @sleshchenko can this be caused by nginx reload? |
@eivantsov I think that the reason is nginx reload. I've described it here #8675 (comment) |
@sleshchenko #8675 solved the bug of websocket in dashboard. But the terminal is a websocket in ide. |
@liyanliang1994 Well, when I shared this issue I just wanted to point to a description of WebSocket and nginx issue. @liyanliang1994 But still it can be a quite annoying issue that all clients lose WebSocket connections when each workspace start/stop. You can try to fix it for you by using another Ingress Backend, like traefik. |
@sleshchenko I found that if socket is closed or some error occurred, terminal send method can still be triggered. I think some check should be added before sending data through Websocket. |
About reconnection: we need improve this stuff. Because on reconnection terminal-agent server side create new one terminal process instead of connection to the previous one. So seems it's issue about improve terminal agent server side api and adaptation client side to the impoved api. |
Thanks for your reply. traefik deployment
configmap che-ingress
|
@AndrienkoAleksandr It's true. Sometimes terminal reconnect successfully, but the working directory reset to '/projects' so that the work before can't continue. |
@liyanliang1994 If Che creates ingresses and service for workspace successfully, but a pod is not created I guess workspace start hung up on |
@sleshchenko Finally, I replace nginx with traefik successfully. And the bug of terminal is fixed. There are 2 things worth exploring.
|
@liyanliang1994 Great to hear that it finally works. |
I think we should, those are legitimate use cases |
@liyanliang1994 Could your close this issue if Che Server finally works for you? |
Closing. Feel free to reopen it if you think its still relevant for you. |
Description
I try to start several workspaces and the terminal doesn't work sometimes.
Reproduction Steps
After a workspace started, I try to start another one, and when it's starting, the terminal in the previous workspace doesn't work and can't reconnect again unless I start a new terminal. This also happens when another workspace is stopping.
OS and version:
che 6.6.0
kubernetes 1.9.2
nginx-ingress-controller 0.15.0
Diagnostics:
The text was updated successfully, but these errors were encountered: