-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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] CreatePVC's default storage class doesn't match default storage class set in the cluster #11396
Labels
Comments
👋🏻 I'm working on this. |
leseb
added a commit
to leseb/pipelines
that referenced
this issue
Nov 28, 2024
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]>
leseb
added a commit
to leseb/pipelines
that referenced
this issue
Nov 28, 2024
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]>
leseb
added a commit
to leseb/pipelines
that referenced
this issue
Nov 28, 2024
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]>
leseb
added a commit
to leseb/pipelines
that referenced
this issue
Nov 28, 2024
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]>
leseb
added a commit
to leseb/pipelines
that referenced
this issue
Nov 28, 2024
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]>
leseb
added a commit
to leseb/pipelines
that referenced
this issue
Dec 9, 2024
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]>
2 tasks
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Kubernetes has a concept of a default Storage Class.
One would expect that by using
kfp.kubernetes.CreatePVC
without specifyingstorage_class_name
results in using this default storage class. Instead, a hardcodedstandard
storage class is used (no matter if such class even exist on the cluster)Environment
Steps to reproduce
Use
kfp.kubernetes.CreatePVC
task withoutstorage_class_name
. A PVC with.spec.storageClassName: "standard"
is created instead of one using the Storage class actually set as the default one in Kubernetes.Expected result
Not specifying
storage_class_name
results in submitting the PVC without.spec.storageClassName
property set and therefore result in the Kubernetes default storage class being applied.Materials and Reference
pipelines/backend/src/v2/driver/driver.go
Lines 1695 to 1703 in 2e05b3d
Impacted by this bug? Give it a 👍.
The text was updated successfully, but these errors were encountered: