-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
[backend] ResourceCpuLimit, ResourceCpuRequest, ResourceMemoryLimit, and ResourceMemoryRequest are ignored #11500
Labels
Comments
/assign @mprahl |
mprahl
added a commit
to mprahl/pipelines
that referenced
this issue
Jan 6, 2025
The API introduced new fields prefixed with Resource (e.g. ResourceCpuLimit) to replace the old fields without the prefix. The Driver hadn't been updated to honor those fields but the SDK started using them which led to unexpected behavior. The Driver now honors both fields but prioritizes the new fields. The SDK now only sets the new fields. The outcome is that resource limits/requests can now use input parameters. Note that pipeline_spec_builder.py was doing some validation on the limits/requests being set, but that's already handled in the user facing method (e.g. set_cpu_limit). Resolves: kubeflow#11500 Signed-off-by: mprahl <[email protected]>
mprahl
added a commit
to mprahl/pipelines
that referenced
this issue
Jan 6, 2025
The API introduced new fields prefixed with Resource (e.g. ResourceCpuLimit) to replace the old fields without the prefix. The Driver hadn't been updated to honor those fields but the SDK started using them which led to unexpected behavior. The Driver now honors both fields but prioritizes the new fields. The SDK now only sets the new fields. The outcome is that resource limits/requests can now use input parameters. Note that pipeline_spec_builder.py was doing some validation on the limits/requests being set, but that's already handled in the user facing method (e.g. set_cpu_limit). Resolves: kubeflow#11500 Signed-off-by: mprahl <[email protected]>
2 tasks
mprahl
added a commit
to mprahl/pipelines
that referenced
this issue
Jan 6, 2025
The API introduced new fields prefixed with Resource (e.g. ResourceCpuLimit) to replace the old fields without the prefix. The Driver hadn't been updated to honor those fields but the SDK started using them which led to unexpected behavior. The Driver now honors both fields but prioritizes the new fields. The SDK now only sets the new fields. The outcome is that resource limits/requests can now use input parameters. Note that pipeline_spec_builder.py was doing some validation on the limits/requests being set, but that's already handled in the user facing method (e.g. set_cpu_limit). Resolves: kubeflow#11500 Signed-off-by: mprahl <[email protected]>
mprahl
added a commit
to mprahl/pipelines
that referenced
this issue
Jan 6, 2025
The API introduced new fields prefixed with Resource (e.g. ResourceCpuLimit) to replace the old fields without the prefix. The Driver hadn't been updated to honor those fields but the SDK started using them which led to unexpected behavior. The Driver now honors both fields but prioritizes the new fields. The SDK now only sets the new fields. The outcome is that resource limits/requests can now use input parameters. Note that pipeline_spec_builder.py was doing some validation on the limits/requests being set, but that's already handled in the user facing method (e.g. set_cpu_limit). Resolves: kubeflow#11500 Signed-off-by: mprahl <[email protected]>
Here is a Slack thread discussing the issue on the SDK side: |
mprahl
added a commit
to mprahl/pipelines
that referenced
this issue
Jan 6, 2025
The API introduced new fields prefixed with Resource (e.g. ResourceCpuLimit) to replace the old fields without the prefix. The Driver hadn't been updated to honor those fields but the SDK started using them which led to unexpected behavior. The Driver now honors both fields but prioritizes the new fields. The SDK now only sets the new fields. The outcome is that resource limits/requests can now use input parameters. Note that pipeline_spec_builder.py was doing some validation on the limits/requests being set, but that's already handled in the user facing method (e.g. set_cpu_limit). Resolves: kubeflow#11500 Signed-off-by: mprahl <[email protected]>
mprahl
added a commit
to mprahl/pipelines
that referenced
this issue
Jan 9, 2025
The API introduced new fields prefixed with Resource (e.g. ResourceCpuLimit) to replace the old fields without the prefix. The Driver hadn't been updated to honor those fields but the SDK started using them which led to unexpected behavior. The Driver now honors both fields but prioritizes the new fields. The SDK now only sets the new fields. The outcome is that resource limits/requests can now use input parameters. Note that pipeline_spec_builder.py was doing some validation on the limits/requests being set, but that's already handled in the user facing method (e.g. set_cpu_limit). Resolves: kubeflow#11500 Signed-off-by: mprahl <[email protected]>
mprahl
added a commit
to mprahl/pipelines
that referenced
this issue
Jan 9, 2025
The API introduced new fields prefixed with Resource (e.g. ResourceCpuLimit) to replace the old fields without the prefix. The Driver hadn't been updated to honor those fields but the SDK started using them which led to unexpected behavior. The Driver now honors both fields but prioritizes the new fields. The SDK now only sets the new fields. The outcome is that resource limits/requests can now use input parameters. Note that pipeline_spec_builder.py was doing some validation on the limits/requests being set, but that's already handled in the user facing method (e.g. set_cpu_limit). Resolves: kubeflow#11500 Signed-off-by: mprahl <[email protected]>
rimolive
pushed a commit
to rimolive/data-science-pipelines
that referenced
this issue
Jan 20, 2025
…ubeflow#11501) The API introduced new fields prefixed with Resource (e.g. ResourceCpuLimit) to replace the old fields without the prefix. The Driver hadn't been updated to honor those fields but the SDK started using them which led to unexpected behavior. The Driver now honors both fields but prioritizes the new fields. The SDK now only sets the new fields. The outcome is that resource limits/requests can now use input parameters. Note that pipeline_spec_builder.py was doing some validation on the limits/requests being set, but that's already handled in the user facing method (e.g. set_cpu_limit). Resolves: kubeflow#11500 Signed-off-by: mprahl <[email protected]>
1 task
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Environment
I used the manifests from the master branch.
Latest from the master branch.
2.11
Steps to reproduce
The Driver ignores the new fields ResourceCpuLimit, ResourceCpuRequest, ResourceMemoryLimit, and ResourceMemoryRequest. The API fields were added in this commit but the Driver code is only looking at the now deprecated fields:
c2f5649#diff-42023372ccec7209826b2d45768cbac5c1181a3a79645c3e56b9527702b29572L29
Expected result
The new fields should be used first and then fallback to the deprecated fields.
Materials and Reference
Related SDK commit:
boarder7395@10f1dd5
Here is an example reproducer:
Impacted by this bug? Give it a 👍.
The text was updated successfully, but these errors were encountered: