-
Notifications
You must be signed in to change notification settings - Fork 3.3k
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
Run steps sequentially / retry when parallel steps exceed memory quota #721
Comments
There is a I don't think scheduling algorithms based on resources belongs in the controller because this is supposed to be the responsibility of an admission controller. |
Thanks, hmmmm. I didn't know about |
My team is in a similar boat right now too. Jobs, StatefulSets, Deployments, etc all check the CPU and Memlimit quotas and retry until pods can be scheduled. Parallelism doesn't satisfy our use case as we want to limit the total sum of work that a user has running vs limiting single workflows to a specified amount. |
I believe PR #1096 is trying to solve this. Will try to revive this PR based on current master. |
Hi, PR #1096 is closed but not because it was merged. I'm guessing the idea of limiting the parallel executions didn't take off ? Thanks |
I closed that PR because it was inactive for 1 year. I believe that you can use the parallelism feature to achieve the same goal? |
Indeed you can, it just took me a while to figure-out how. For anyone else searching :
|
Closed by #2385 |
Is this a BUG REPORT or FEATURE REQUEST?: BUG REPORT
What happened:
We set a
requests.memory
quota for the workflows namespace. Then we ran a workflow with parallel steps which together (but not singly) exceeded the quota. The workflow failed these steps with the following error in the workflow-controller:What you expected to happen:
The steps should have been run sequentially and succeeded. If separate processes (i.e. other argo workflows) are causing the quota to be exceeded, argo should be able to retry.
How to reproduce it (as minimally and precisely as possible):
Set a requests.memory quota for the workflow namespace...
Submit the following workflow...
Anything else we need to know?:
Environment:
argo: v2.0.0-beta1
BuildDate: 2018-01-18T22:06:03Z
GitCommit: 549870c
GitTreeState: clean
GitTag: v2.0.0-beta1
GoVersion: go1.9.1
Compiler: gc
Platform: linux/amd64
clientVersion:
buildDate: 2018-01-18T10:09:24Z
compiler: gc
gitCommit: 5fa2db2bd46ac79e5e00a4e6ed24191080aa463b
gitTreeState: clean
gitVersion: v1.9.2
goVersion: go1.9.2
major: "1"
minor: "9"
platform: linux/amd64
serverVersion:
buildDate: 2017-12-15T20:55:30Z
compiler: gc
gitCommit: 925c127ec6b946659ad0fd596fa959be43f0cc05
gitTreeState: clean
gitVersion: v1.9.0
goVersion: go1.9.2
major: "1"
minor: "9"
platform: linux/amd64
The text was updated successfully, but these errors were encountered: