Skip to content

Commit

Permalink
Merge pull request #89 from ktong/build_labels_as_method
Browse files Browse the repository at this point in the history
Extract method to build labels for notebook pod
  • Loading branch information
minrk committed Nov 17, 2017
2 parents 55f9702 + e470747 commit 380f298
Showing 1 changed file with 26 additions and 27 deletions.
53 changes: 26 additions & 27 deletions kubespawner/spawner.py
Original file line number Diff line number Diff line change
Expand Up @@ -634,6 +634,30 @@ def _expand_all(self, src):
else:
return src

def _build_common_labels(self, extra_labels):
# Default set of labels, picked up from
# https://github.com/kubernetes/helm/blob/master/docs/chart_best_practices/labels.md
labels = {
'heritage': 'jupyterhub',
'app': 'jupyterhub',
'hub.jupyter.org/username': escapism.escape(self.user.name)
}

if self.name:
# FIXME: Make sure this is dns safe?
labels['hub.jupyter.org/servername'] = self.name

return labels.update(extra_labels)

def _build_pod_labels(self, extra_labels):
labels = {
'component': 'singleuser-server'
}
labels.update(extra_labels)
# Make sure pod_reflector.labels in final label list
labels.update(self.pod_reflector.labels)
return self._build_common_labels(labels)

@gen.coroutine
def get_pod_manifest(self):
"""
Expand All @@ -654,20 +678,7 @@ def get_pod_manifest(self):
else:
real_cmd = None

# Default set of labels, picked up from
# https://github.com/kubernetes/helm/blob/master/docs/chart_best_practices/labels.md
labels = {
'heritage': 'jupyterhub',
'component': 'singleuser-server',
'app': 'jupyterhub',
'hub.jupyter.org/username': escapism.escape(self.user.name)
}

if self.name:
# FIXME: Make sure this is dns safe?
labels['hub.jupyter.org/servername'] = self.name

labels.update(self._expand_all(self.singleuser_extra_labels))
labels = self._build_pod_labels(self._expand_all(self.singleuser_extra_labels))

return make_pod(
name=self.pod_name,
Expand Down Expand Up @@ -698,20 +709,8 @@ def get_pvc_manifest(self):
"""
Make a pvc manifest that will spawn current user's pvc.
"""
# Default set of labels, picked up from
# https://github.com/kubernetes/helm/blob/master/docs/chart_best_practices/labels.md
labels = {
'heritage': 'jupyterhub',
'app': 'jupyterhub',
'hub.jupyter.org/username': escapism.escape(self.user.name)
}

# check if a named-server servername has been set and if so, extend pvc labels.
if self.name:
# FIXME: make sure this is DNS safe?
labels['hub.jupyter.org/servername'] = self.name
labels = self._build_common_labels(self._expand_all(self.user_storage_extra_labels))

labels.update(self._expand_all(self.user_storage_extra_labels))
return make_pvc(
name=self.pvc_name,
storage_class=self.user_storage_class,
Expand Down

0 comments on commit 380f298

Please sign in to comment.