Skip to content

pvc_name is expanded before user options/profiles are loaded #877

@manics

Description

@manics

Bug description

pvc_name is expanded in __init__, which means pvc_name_template can't be overridden in kubespawner_overrides:

self.pvc_name = self._expand_user_properties(self.pvc_name_template)

How to reproduce

Reported in https://discourse.jupyter.org/t/creating-1-pvc-per-profile-and-per-user/31755

With Z2JH 4.1.0:

hub:
  db:
    type: sqlite-pvc

proxy:
  service:
    type: NodePort
    nodePorts:
      http: 31080

singleuser:
  profileList:
    - display_name: "profile1"
      description: "desc1"
      kubespawner_override:
        pvc_name_template: claim-{username}-profile1
    - display_name: "profile2"
      description: "desc2"
      kubespawner_override:
        pvc_name_template: claim-{username}-profile2

debug:
  enabled: true

Expected behaviour

pvc_name follows the template pvc_name_template if it is overriden in kubespawner_overrides.

Actual behaviour

The overridden template is ignored, claim-{username} is used for all profiles.

Your personal set up

https://killercoda.com/manics/scenario/jupyterhub-kubernetes

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions