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

Allow for global configuration of workspace resource requests #23243

Open
cgruver opened this issue Nov 11, 2024 · 4 comments
Open

Allow for global configuration of workspace resource requests #23243

cgruver opened this issue Nov 11, 2024 · 4 comments
Labels
area/devworkspace-operator kind/enhancement A feature request - must adhere to the feature request template. severity/P2 Has a minor but important impact to the usage or development of the system. status/analyzing An issue has been proposed and it is currently being analyzed for effort and implementation approach

Comments

@cgruver
Copy link

cgruver commented Nov 11, 2024

Is your enhancement related to a problem? Please describe

An inexperienced developer can cause a cluster node to become unschedulable by creating a devfile which has extreme values for cpuRequest or memoryRequest

Describe the solution you'd like

  1. Allow for global configuration of the default cpuRequest & memoryRequest values.
  2. Allow for global configuration to ignore devfile defined cpuRequest & memoryRequest entries in a devfiles.
  3. If cpuLimit or memoryLimit is set in a devfile, the cpuRequest & memoryRequest should still use the default values and not be set to the requested limits.

Describe alternatives you've considered

No response

Additional context

No response

@cgruver cgruver added the kind/enhancement A feature request - must adhere to the feature request template. label Nov 11, 2024
@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 Nov 11, 2024
@tolusha
Copy link
Contributor

tolusha commented Nov 12, 2024

Hello, @cgruver

It remind me Kubernetes ResoureQuotas.
Why not to use it?

@ibuziuk
Copy link
Member

ibuziuk commented Nov 12, 2024

@cgruver in the recent release we introduced a new feature allowing configuring user namespaces with an OpenShift template which I believe should address this issue - https://github.com/eclipse-che/che/releases/tag/7.94.0

@cgruver
Copy link
Author

cgruver commented Nov 12, 2024

@ibuziuk Let me take a look at that.

I would still like to consider configurable defaults.

Plus, it feels like an anti-pattern that we set limit and requests to be the same if only one of them is specified.

I may open that as a separate issue. IMO, it's a bug that I can override a default by setting a different parameter.

@dkwon17 dkwon17 added area/devworkspace-operator and removed status/need-triage An issue that needs to be prioritized by the curator responsible for the triage. See https://github. labels Nov 12, 2024
@ibuziuk
Copy link
Member

ibuziuk commented Nov 13, 2024

I would still like to consider configurable defaults.

Well, it is configurable as soon as limit ranges are applied on the namespace level, right?
The analogy would be the default flat pod network which is configurable on the cluster by applying specific network policies.

Plus, it feels like an anti-pattern that we set limit and requests to be the same if only one of them is specified.

Well, this is a nuanced approach - CDE is guaranteed the requested resources, preventing performance degradation for more or less stable workloads

@ibuziuk ibuziuk added status/analyzing An issue has been proposed and it is currently being analyzed for effort and implementation approach severity/P2 Has a minor but important impact to the usage or development of the system. labels Nov 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/devworkspace-operator kind/enhancement A feature request - must adhere to the feature request template. severity/P2 Has a minor but important impact to the usage or development of the system. status/analyzing An issue has been proposed and it is currently being analyzed for effort and implementation approach
Development

No branches or pull requests

5 participants