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

fix(sdk/backend): allow using cluster's default sc #11417

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

leseb
Copy link
Contributor

@leseb leseb commented Nov 28, 2024

Description of your changes:

7c37f97 fix(sdk/backend): allow using cluster's default sc

commit 7c37f97
Author: Sébastien Han [email protected]
Date: Wed Nov 27 16:52:09 2024 +0100

fix(sdk/backend): allow using cluster's default sc

When using the SDK's function `CreatePVC`, leaving the
`storage_class_name` field empty will result in the cluster’s default
storage class being applied.

To enhance modularity and clarity, the logic for building the PVC
definition has been refactored into a dedicated function. Error messages
have been updated to align with this change, and unit tests have been
implemented to cover all required and optional fields.

In the code handling annotations, the `GetFields` method has replaced
the use of the `AsMap` method. This approach is more convenient and
eliminates the need for type conversion to `structpb.Value`.

Resolves: #11396
Signed-off-by: Sébastien Han <[email protected]>

Checklist:

Resolves #11396

Copy link

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign zijianjoy for approval. For more information see the Kubernetes Code Review Process.

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Copy link

Hi @leseb. Thanks for your PR.

I'm waiting for a kubeflow member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@rimolive
Copy link
Member

rimolive commented Dec 6, 2024

/ok-to-test

Copy link
Contributor

@hbelmiro hbelmiro left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you @leseb.
I left a suggestion.
Also, can you please link this PR to its issue so the issue is automatically closed when this PR gets merged?

backend/src/v2/driver/driver_test.go Outdated Show resolved Hide resolved
@rimolive
Copy link
Member

rimolive commented Dec 6, 2024

@leseb Thanks for your contribution! I just tested your changes and it works fine!

Just take a look at @hbelmiro comment and we can proceed with approval

@leseb
Copy link
Contributor Author

leseb commented Dec 6, 2024

Thank you @leseb. I left a suggestion. Also, can you please link this PR to its issue so the issue is automatically closed when this PR gets merged?

I don't have the permission to edit the issue and add the PR :/

When using the SDK's function `CreatePVC`, leaving the
`storage_class_name` field empty will result in the cluster’s default
storage class being applied.

To enhance modularity and clarity, the logic for building the PVC
definition has been refactored into a dedicated function. Error messages
have been updated to align with this change, and unit tests have been
implemented to cover all required and optional fields.

In the code handling annotations, the `GetFields` method has replaced
the use of the `AsMap` method. This approach is more convenient and
eliminates the need for type conversion to `structpb.Value`.

Resolves: kubeflow#11396
Signed-off-by: Sébastien Han <[email protected]>
@hbelmiro
Copy link
Contributor

hbelmiro commented Dec 9, 2024

Thank you @leseb. I left a suggestion. Also, can you please link this PR to its issue so the issue is automatically closed when this PR gets merged?

I don't have the permission to edit the issue and add the PR :/

@leseb
Don't worry too much about that. We won't block the PR just because of that.
But you can edit #11417 (comment) and add Resolves https://github.com/kubeflow/pipelines/issues/11396. That makes GitHub automatically link the issue.

Copy link
Contributor

@hbelmiro hbelmiro left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm

@leseb
Copy link
Contributor Author

leseb commented Dec 10, 2024

@zijianjoy PTAL, the PR has a lgtm label, thanks.

@hbelmiro
Copy link
Contributor

cc @HumairAK

@@ -65,7 +65,7 @@
* **kubernetes_platform:** fix api-generator docker mount for SELinux ([\#10890](https://github.com/kubeflow/pipelines/issues/10890)) ([e69078b](https://github.com/kubeflow/pipelines/commit/e69078b2b65c0e34fd56499bbe34da882dc6e009))
* **manifests:** Move metacontroller to the top in kustmization.yaml ([\#10669](https://github.com/kubeflow/pipelines/issues/10669)) ([4e9fe75](https://github.com/kubeflow/pipelines/commit/4e9fe75d4564bbcdde7cd358298361e94d4a20be))
* **sdk:** Throw 'exit_task cannot depend on any other tasks.' error when an ExitHandler has a parameter dependent on other task ([\#11005](https://github.com/kubeflow/pipelines/issues/11005)) ([08185e7](https://github.com/kubeflow/pipelines/commit/08185e71717ef628be3cbe2cdeb1fd55b25581d4))

* **sdk/backend**: Use the cluster's default storage class when creating a PVC with an empty storage class ([\#11396](httpshttps://github.com/kubeflow/pipelines/issues/11396))

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like link is incorrect

Suggested change
* **sdk/backend**: Use the cluster's default storage class when creating a PVC with an empty storage class ([\#11396](httpshttps://github.com/kubeflow/pipelines/issues/11396))
* **sdk/backend**: Use the cluster's default storage class when creating a PVC with an empty storage class ([\#11396](https://github.com/kubeflow/pipelines/issues/11396))

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[backend] CreatePVC's default storage class doesn't match default storage class set in the cluster
4 participants