Skip to content
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

Dashboard doesn't reconnect to a WebSocket endpoint if the previous connection failed #8675

Closed
sleshchenko opened this issue Feb 8, 2018 · 0 comments · Fixed by #9170
Closed
Assignees
Labels
kind/bug Outline of a bug - must adhere to the bug report template.

Comments

@sleshchenko
Copy link
Member

sleshchenko commented Feb 8, 2018

Description

Dashboard doesn't reconnect to a WebSocket endpoint if the previous connection failed. As result Dashboard doesn't receive any event about workspaces status changes.

Reproduction Steps

It happens on all infrastructures Docker, OpenShift, Kubernetes. But it can be reproduced stably only on Kubernetes infrastructure, on other, it happens quite rarely.

I suppose it happens because of nginx ingress controller. K8s infra adds new ingress for each workspace server and nginx controller restarts itself when new ingress rule is added. So, there is an ability to configure ingress controller for created workspaces ingresses. So only Dashboard should be fixed, and WebSocket connections can be made stable with another ingress controller (I suppose traefik ingress controller can be used for such purposes)

It can be reproduced in the following way:

  1. Deploy Che on Kubernetes.
  2. Create workspace.
  3. Open Developer Console and watch WebSocket connections.
  4. Run workspace in IDE.
  5. Check a WebSocket connection to wsmaster from the dashboard.
    Actual: Dashboard websocket connection is closed, as result Dashboard shows that workspace is STARTING when it is STARTED.
    Expected: Dashboard websocket connection is pending, Dashboard receives events that workspace is started and updates Workspace Status Icon.
More see screencast

dashboard_websocket

OS and version:

Diagnostics:

@sleshchenko sleshchenko added the kind/bug Outline of a bug - must adhere to the bug report template. label Feb 8, 2018
@ashumilova ashumilova added sprint/current team/ide2 status/open-for-dev An issue has had its specification reviewed and confirmed. Waiting for an engineer to take it. labels Feb 14, 2018
@ashumilova ashumilova assigned akurinnoy and unassigned olexii4 Mar 19, 2018
@akurinnoy akurinnoy added status/in-progress This issue has been taken by an engineer and is under active development. and removed status/open-for-dev An issue has had its specification reviewed and confirmed. Waiting for an engineer to take it. labels Mar 20, 2018
@ashumilova ashumilova removed sprint/current status/in-progress This issue has been taken by an engineer and is under active development. labels Mar 28, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/bug Outline of a bug - must adhere to the bug report template.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants