-
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
Error is not meanful when workspace startup fails because route quota is exceeded #22068
Comments
Regarding the Sandbox case, there are PRs for increasing the number of routes to 30: |
@ibuziuk this is good, users will be able to have 4 workspace. But workspaces creation will fail (with no clue why) if the user have 9 stopped workspaces. And it's less then 9 if workspaces have endpoints (and usually they do). I think we have the opportunity to limit the workspace count now (because of this issue users cannot have created a lot of workspaces lately) and I have created #22069. |
There is also the DevWorkspaceOperatorConfig |
To resolve this bug, the Che Operator should detect this condition (cannot create routes due to quota) and set the DWR to a failed state. This would trigger workspace failure. |
@amisevsk this is good to know but why isn't it the default then? does it have an impact on the restart time of the workspace? |
When the setting was added, the default was set to the earlier behaviour as we didn't have bandwidth to test all edge cases -- if all resources are removed on stop, they need to be re-created when the workspace is restarted and this could have implications on scalability. For instance, this would require the Che gateway to un-expose and re-expose all workspace routes on every stop/start. It also would have some impact on restart time, though the size of the effect is not clear. Enabling the setting means workspace starts require as much work as new workspaces on the cluster (everything needs to be re-created). We can test enabling it in our development environments to see if it impacts availability, and make it a default in a future release if there are no issues. |
enabled on the dogfooding instance
|
Issues go stale after Mark the issue as fresh with If this issue is safe to close now please do so. Moderators: Add |
/remove-lifecycle stale |
I've opened a PR in the DWO repository that should fix this issue: devfile/devworkspace-operator#1199 However, since the Che Operator runs its own DevWorkspaceRouting reconciler, fixing this problem in Che will require the Che Operator to pull in a newer DevWorkspaceOperator dependency, so I'm leaving this issue open until that is completed. |
@amisevsk do you think we can close the issue? |
@ibuziuk thanks for the reminder -- I've opened eclipse-che/che-operator#1805 to update the Che Operator to DevWorkspace v0.25.0, which will close this issue. |
Describe the bug
The default workspace has 3 routes. If routes count quota is configured in the namespace of the workspace pod and if the creation of 3 new routes will exceed the quota, then workspaces creation will fail.
The problem workspace creation will fails for timeout (so after waiting for 5 minutes) and the developer have no clue how to address the problem and may spend hours trying to start a workspace without success (deleting an existing workspace would solve the problem):
This is even more problematic as there is no Kubernetes event during the startup:
Che version
7.61@latest
Steps to reproduce
Start 4 workspaces on developer sandbox. The 4th will fail (quota is going to be updated so you may need to start more workspaces)
Expected behavior
We should catch the error and present the following message "The workspace cannot be started because it requires the creation a number of routes () that exceed the quota () for the current namespace (). Deleting an existing workspace may solve the problem."
Runtime
OpenShift
Screenshots
No response
Installation method
OperatorHub, other (please specify in additional context)
Environment
Dev Sandbox (workspaces.openshift.com)
Eclipse Che Logs
Additional context
There is no Kubernetes event during the startup (zero).
The text was updated successfully, but these errors were encountered: