-
Notifications
You must be signed in to change notification settings - Fork 305
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
Expose PVC Provisioning Method #747
Comments
Thank you for opening your first issue in this project! Engagement like this is essential for open source projects! 🤗 |
I call the private method for this reason. I do conditional pvc provisioning in my hooks. +1 |
KubeSpawner has a kubespawner/kubespawner/spawner.py Lines 973 to 993 in dbacf2b
kubespawner/kubespawner/spawner.py Lines 2679 to 2690 in dbacf2b
Would something similar for PVCs cover your requirements? |
@manics Having a |
I'm also interested in this as I'm trying to figure out how to dynamically provide two storage areas per user, one fast and small disk based for the home and virtual environments and one smb-based for larger data sets with big files. My initial plan was to hack something into pre_spawn_hook, but I'm happy to contribute to a more generic solution. |
Proposed change
We would like a publicly exposed extension point on
KubeSpawner
for overriding the user pod PVC provisioning logic that is currently encapsulated by the privately scoped_make_create_pvc_request
method. We have some very specific requirements for provisioning of user pods that include:Ideally, this could be exposed by refactoring
_make_create_pvc_request
to a publicly scoped method named along the lines ofprovision_user_pvc
ormake_user_pvc_request
, with the default implementation being the current logic.Alternative options
We could implement some or all of the above logic:
get_pvc_manifest
, but that feels wrong, given that the purpose of that method is to create the PVC manifest from the provided settings_make_create_pvc_request
, but that breaks encapsulation by conventionWho would use this feature?
Anyone deploying ZTJH where there is a need for a custom user PVC lifecycle or rules for provisioning a user PVC that is not covered by the default use case.
The text was updated successfully, but these errors were encountered: