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

Add resource limits/requests to the devfiles and plugins in the registries #16685

Closed
6 of 7 tasks
l0rd opened this issue Apr 21, 2020 · 21 comments
Closed
6 of 7 tasks

Add resource limits/requests to the devfiles and plugins in the registries #16685

l0rd opened this issue Apr 21, 2020 · 21 comments
Assignees
Labels
area/devfile-registry area/plugin-registry area/plugins kind/enhancement A feature request - must adhere to the feature request template. kind/epic A long-lived, PM-driven feature request. Must include a checklist of items that must be completed. lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. roadmap/3-months Epics that are planned to complete in the short term (within 3 months) sprint/current

Comments

@l0rd
Copy link
Contributor

l0rd commented Apr 21, 2020

Is your enhancement related to a problem? Please describe.

If no limits are set the Che default will be inferred. That may result in workspace not able to be scheduled in the Kubernetes cluster.

Describe the solution you'd like

Look for CPU/memory request and limits for each plugins and explicitely specify them. The same for containers components in devfiles.

Additional context

  • Specify che-theia CPU limit (issue / PR)
  • Specify jwt-proxy CPU limit (issue)
  • Specify che-theia-plugins CPU limits (PR)
  • Specify che-machine-exec and remote-runtime-injector CPU limits (PR)
  • Specify che-theia-plugins memory requests in che-theia-plugin.yaml (PR)
  • Add a che-plugin-registry PR check to avoid editros or plugins without mem/cpu requests and limits (PR)
  • Evaluate target namespace ResourceQuota and LimitRange to evaluate and applyg the best mem/cpu requests and limits will be solved in the context of this epic
@che-bot
Copy link
Contributor

che-bot commented Oct 28, 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 Oct 28, 2020
@ericwill ericwill added lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. and removed lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. labels Oct 28, 2020
@gattytto
Copy link

gattytto commented Dec 1, 2020

I can relate to this as I get "heap overflow" when trying to run/debug the haskell sample in che osio

@ericwill ericwill changed the title Add CPU limits to the devfiles and plugins in the registries Add resource limits/requests to the devfiles and plugins in the registries Dec 2, 2020
@ibuziuk
Copy link
Member

ibuziuk commented Dec 3, 2020

@ericwill @l0rd could you please discuss this issue during the prioritization? I believe it would be great to have it in the 7.24.0

@ericwill ericwill mentioned this issue Dec 3, 2020
34 tasks
@gattytto
Copy link

gattytto commented Dec 3, 2020

haskell tryout is here including devfile

@l0rd
Copy link
Contributor Author

l0rd commented Dec 4, 2020

Discussed yesterday: @azatsarynnyy should create a specific issue for Theia: profiling and setting of request/limits in meta.yaml. Whereas @ericwill team will start profiling strategic plugins (i.e. those that we deliver on CRW).

@gattytto
Copy link

gattytto commented Dec 7, 2020

this can be a problem

@vitaliy-guliy
Copy link
Contributor

      cpuLimit: 500m
      cpuRequest: 30m

Those limitations will be applied to all the plugins as the first iteration.
It seems 500 millicores is pretty enough and does not significantly affect the plugins.

@svor
Copy link
Contributor

svor commented Apr 26, 2021

Some plugins are described in che-theia.yaml:

need to add resources limits/requests into them as well

@sympatheticmoose sympatheticmoose added the new&noteworthy For new and/or noteworthy issues that deserve a blog post, new docs, or emphasis in release notes label May 18, 2021
@l0rd l0rd added kind/epic A long-lived, PM-driven feature request. Must include a checklist of items that must be completed. roadmap/3-months Epics that are planned to complete in the short term (within 3 months) sprint/next labels Jul 9, 2021
@ibuziuk
Copy link
Member

ibuziuk commented Jul 9, 2021

@vitaliy-guliy @ericwill @svor folks, could you please clarify what is missing in this epic? Are we already specify limits & requests for every devfile & plugin in our registries?

@svor
Copy link
Contributor

svor commented Jul 12, 2021

@ibuziuk We still have 3 subtasks to be done, you can see that in the description

@ibuziuk
Copy link
Member

ibuziuk commented Jul 12, 2021

@svor right, there are some bullet points in the description but looks like there are no related issues for sub-tasks. is it planned to be addressed in the next sprint according to the label?

@svor
Copy link
Contributor

svor commented Jul 12, 2021

@l0rd do you want us to take this epic into the next sprint and finish it?

@ibuziuk
Copy link
Member

ibuziuk commented Jul 12, 2021

just for the record, default CPU limits might be applied on workspaces.openshift.com infra in the future. So, we need to make sure that all our devfiles & plugins specify the limits & requests explicitly. Otherwise, the default might be applied, which could lead to the performance issues during the workspace usage.

@l0rd
Copy link
Contributor Author

l0rd commented Jul 12, 2021

@svor yes for "Specify che-theia-plugins memory requests in che-theia-plugin.yaml" and "Add a che-plugin-registry PR check to avoid editors or plugins without mem/cpu requests and limits".

The last one has lower priority and needs a dedicated epic (I will create it).

@svor
Copy link
Contributor

svor commented Jul 12, 2021

@svor yes for "Specify che-theia-plugins memory requests in che-theia-plugin.yaml" and "Add a che-plugin-registry PR check to avoid editors or plugins without mem/cpu requests and limits".

OK, we'll take it into the next sprint

@svor svor mentioned this issue Jul 22, 2021
34 tasks
@sunix
Copy link
Contributor

sunix commented Jul 28, 2021

@vitaliy-guliy could we adjust the memory limit for the machine exec plugin?
Selection_429

@vitaliy-guliy
Copy link
Contributor

@vitaliy-guliy could we adjust the memory limit for the machine exec plugin?

Sure, I will try to to give it 128Mb of RAM, as we already set that value for eclipse/che-machine-exec container here https://github.com/eclipse-che/che-plugin-registry/blob/main/che-editors.yaml#L115

@svor
Copy link
Contributor

svor commented Sep 7, 2021

@svor yes for "Specify che-theia-plugins memory requests in che-theia-plugin.yaml" and "Add a che-plugin-registry PR check to avoid editors or plugins without mem/cpu requests and limits".

The last one has lower priority and needs a dedicated epic (I will create it).

@l0rd "Specify che-theia-plugins memory requests in che-theia-plugin.yaml" and "Add a che-plugin-registry PR check to avoid editors or plugins without mem/cpu requests and limits" subtasks are done.

@l0rd l0rd removed the new&noteworthy For new and/or noteworthy issues that deserve a blog post, new docs, or emphasis in release notes label Sep 28, 2021
@l0rd
Copy link
Contributor Author

l0rd commented Oct 3, 2021

@svor I would like to close this epic and open a different one dedicated to the last subtask "Evaluate target namespace ResourceQuota and LimitRange to evaluate and applyg the best mem/cpu requests and limits" with a label roadmap/6-months. What do you think?

@svor
Copy link
Contributor

svor commented Oct 4, 2021

@l0rd sounds good to me, that was the plan:

@svor yes for "Specify che-theia-plugins memory requests in che-theia-plugin.yaml" and "Add a che-plugin-registry PR check to avoid editors or plugins without mem/cpu requests and limits".

The last one has lower priority and needs a dedicated epic (I will create it).

@l0rd
Copy link
Contributor Author

l0rd commented Oct 5, 2021

Follow up epic for CPU/MEM check at runtime #20509

@l0rd l0rd closed this as completed Oct 5, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/devfile-registry area/plugin-registry area/plugins kind/enhancement A feature request - must adhere to the feature request template. kind/epic A long-lived, PM-driven feature request. Must include a checklist of items that must be completed. lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. roadmap/3-months Epics that are planned to complete in the short term (within 3 months) sprint/current
Projects
None yet
Development

No branches or pull requests

10 participants