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

Improve che.isCheServerReady() method (flapping route/ingress issue) #14456

Closed
benoitf opened this issue Sep 9, 2019 · 4 comments
Closed

Improve che.isCheServerReady() method (flapping route/ingress issue) #14456

benoitf opened this issue Sep 9, 2019 · 4 comments
Labels
area/chectl Issues related to chectl, the CLI of Che kind/enhancement A feature request - must adhere to the feature request template. lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. severity/P2 Has a minor but important impact to the usage or development of the system.

Comments

@benoitf
Copy link
Contributor

benoitf commented Sep 9, 2019

From chectl created by rhopp: che-incubator/chectl#145

It turns out, that once k8s ingress is created it could be flapping between two states for some time -

  • correctly redirecting to the service
  • returning 503

This is causing some problems in our Happy Path test scenario:
We first start server by chectl server:start and then (pretty immediately) we are starting workspaces by chectl workspace:start --devfile=<devfile>.
What's happening?

  • chectl server:start starts the server. In the step Che status check it calls <cheurl>/api/system/state to verify che server is up and running. This succeeds
  • The same call (<cheurl>/api/system/state) is part of pre-flight checks for workspace:start command, but because the route/ingress flapping issue this fails.

We are implementing a workaround in our tests to overcome this issue (calling the ingress endpoint every second and waiting for multiple subsequent successful return codes), but we were thinking if it wouldn't be better to implement this logic into che.isCheServerReady() directly.

WDYT @l0rd @benoitf ?

@benoitf
Copy link
Contributor Author

benoitf commented Sep 9, 2019

Nice description of the flapping issue is here: redhat-developer/rh-che#479 (comment)
At that time we were blaming openshift starter clusters, but it seems this problem is more general (appearing also in k8s - minikube)

@benoitf
Copy link
Contributor Author

benoitf commented Sep 9, 2019

looks like there should be smth. similar to CHE_WORKSPACE_SERVER_PING__SUCCESS__THRESHOLD , but for chectl Che server ingress / route (configurable property, with number of sequential successful pings to server after which it is treated as available)

@benoitf
Copy link
Contributor Author

benoitf commented Sep 9, 2019

@rhopp yes we could introduce a polling check parameter to increase the rate on calls on remote API.
Like wrapping axios calls to a polling-aware call.

@benoitf benoitf added area/chectl Issues related to chectl, the CLI of Che kind/enhancement A feature request - must adhere to the feature request template. labels Sep 9, 2019
@che-bot che-bot added the status/need-triage An issue that needs to be prioritized by the curator responsible for the triage. See https://github. label Sep 9, 2019
@ibuziuk ibuziuk added severity/P1 Has a major impact to usage or development of the system. severity/P2 Has a minor but important impact to the usage or development of the system. and removed status/need-triage An issue that needs to be prioritized by the curator responsible for the triage. See https://github. severity/P1 Has a major impact to usage or development of the system. labels Sep 9, 2019
@che-bot
Copy link
Contributor

che-bot commented Mar 11, 2020

Issues go stale after 180 days of inactivity. lifecycle/stale issues rot after an additional 7 days of inactivity and eventually close.

Mark the issue as fresh with /remove-lifecycle stale in a new comment.

If this issue is safe to close now please do so.

Moderators: Add lifecycle/frozen label to avoid stale mode.

@che-bot che-bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Mar 11, 2020
@che-bot che-bot closed this as completed Mar 18, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/chectl Issues related to chectl, the CLI of Che kind/enhancement A feature request - must adhere to the feature request template. lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. severity/P2 Has a minor but important impact to the usage or development of the system.
Projects
None yet
Development

No branches or pull requests

3 participants