-
Notifications
You must be signed in to change notification settings - Fork 36
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
Configurable Storage Class #56
Comments
Also a topic in odh data science pipelines operator There, not immediately related to dashboard, I think. |
the key thing to keep in mind that it is not at all unusual to have Openshift Clusters without any default storage class set at cluster-level. a) So, having a way in Data Science Projects to set a default storageclass name via ODH dashboard config and odh dashboard config CR, evaluating that and setting that when creating the PVC, would be the first step. b) A second step could be to list all storageclasses on workbench creation GUI. @andrewballantyne @lucferbux However, given that data science projects PVC creation do not work at all on clusters without default storage class set in Openshift config, e.g. because the CSI driver does not allow it, would you agree that me making a PR for case a) first would be ok? |
@shalberd We are aware of the limitations -- we were hoping to have avoided doing a hack to get around the default storage class issue for DS Projects -- but this feature got bumped a bit for other engagements. I'm a little weary of a "default storage" setting being done up today without properly following through -- as it will likely be throwaway code in its current form (likely we will merge this functionality in with this feature in the long run). Since I don't really have an idea when we will be able to get to this feature among our other immediate objectives... I'm not "against" a PR to do move this along for the time being. Not sure what is the most future proof idea to setting this up though, since this feature is still in the pre-design stage (architecturally). I'm taking it you have a more immediate need for a default storage class outside of the Jupyter Tile? I think we have a workaround due to JupyterHub's implementations. |
@andrewballantyne yes, I have an immediate or relatively immediate need for per-data-science-project, dynamically-sized PVCs with an explicit storageClassName. I have seen the UI and flow discussions. My suggestion would be to take the value from notebookController.storageClassName, if set.
Meaning, flow-wise, as un-hacky as possible ;-) Background: Both default tag as well as description/display name are in the storageClass metadata annotations, if present A typical storageClass looks like this. Annotations are optional, not always present, i.e. on our cluster, showing this for completeness, though
Also, interestingly, with oc get storageclass, the name column has (default) in case the default annotation is present. In future work, maybe once could make use of that to quickly get the default storageclass, if any. If I were using bash scripting, I'd just parse that or get that default one, if present, with I'd add a dashboard type storageClass with name, isDefault, description fields at the least. Will start with that. We can talk about whether the other fields are necessary app-wise. It could be informative, for example, to know whether a storage class uses file or block storage, but I am not sure how universal that selector is in the parameters. odhStorageClasses array of type odhStorageClass,
Now, for my part, I could imagine doing anything that is not GUI-related, i.e. even the odhStorageClasses type array at typescript level. I just would not add a default-selected dropdown yet at workbench-level, so later on GUI engineering could expand on that functionality. I also had a look at the k8sTypes at https://github.com/shalberd/odh-dashboard/blob/main/frontend/src/k8sTypes.ts#L231 The DisplayNameAnnotation don't work for PersistentVolumeClaimKind, like PVC has kubernetes.io/description key, not openshift.io/description and so on. However, I can fix that and make it work correctly, also it having a key storageclass.kubernetes.io/is-default-class in the annotations. Would that be a feasible way for my PR?
|
Spoke with Sven and have created opendatahub-io/odh-dashboard#1701 to implement a minor version of this feature while we do other tasks. |
This is a tracker for all the various bits we will need to track to complete the feature work to add ability to configure storage classes
Requirements @jedemo please add all the requirements here.
Add requirements
Individual Efforts
The text was updated successfully, but these errors were encountered: