diff --git a/config/clusters/2i2c-aws-us/itcoocean.values.yaml b/config/clusters/2i2c-aws-us/itcoocean.values.yaml index d1cea4e47..5fe8104a9 100644 --- a/config/clusters/2i2c-aws-us/itcoocean.values.yaml +++ b/config/clusters/2i2c-aws-us/itcoocean.values.yaml @@ -59,6 +59,8 @@ jupyterhub: mountPath: /home/jovyan/shared-public subPath: _shared-public readOnly: false + - name: dev-shm + mountPath: /dev/shm initContainers: - name: volume-mount-ownership-fix image: busybox:1.36.1 diff --git a/config/clusters/2i2c/climatematch.values.yaml b/config/clusters/2i2c/climatematch.values.yaml index d3622d291..af7a50cd1 100644 --- a/config/clusters/2i2c/climatematch.values.yaml +++ b/config/clusters/2i2c/climatematch.values.yaml @@ -16,6 +16,8 @@ jupyterhub: mountPath: /home/jovyan/shared subPath: _shared readOnly: true + - name: dev-shm + mountPath: /dev/shm initContainers: - name: volume-mount-ownership-fix image: busybox:1.36.1 diff --git a/config/clusters/hhmi/daskhub-common.values.yaml b/config/clusters/hhmi/daskhub-common.values.yaml index 6310a322e..5905ae98a 100644 --- a/config/clusters/hhmi/daskhub-common.values.yaml +++ b/config/clusters/hhmi/daskhub-common.values.yaml @@ -68,6 +68,8 @@ basehub: mountPath: /home/jovyan/shared-readonly subPath: _shared readOnly: true + - name: dev-shm + mountPath: /dev/shm initContainers: - name: volume-mount-ownership-fix image: busybox:1.36.1 diff --git a/config/clusters/hhmi/spyglass.values.yaml b/config/clusters/hhmi/spyglass.values.yaml index 7f4e90e6c..93ec1a666 100644 --- a/config/clusters/hhmi/spyglass.values.yaml +++ b/config/clusters/hhmi/spyglass.values.yaml @@ -62,11 +62,16 @@ jupyterhub: - name: shared-dir-pv persistentVolumeClaim: claimName: home-nfs + - name: dev-shm + emptyDir: + medium: Memory extraVolumeMounts: - name: shared-dir-pv mountPath: /home/jovyan/shared-readonly subPath: _shared readOnly: true + - name: dev-shm + mountPath: /dev/shm defaultUrl: /git-pull?repo=https%3A%2F%2Fgithub.com%2FLorenFrankLab%2Fspyglass-demo&urlpath=lab%2Ftree%2Fspyglass-demo%2Fnotebooks%2F00_HubQuickStart.ipynb&branch=main image: name: quay.io/lorenlab/hhmi-spyglass-image diff --git a/config/clusters/nasa-veda/common.values.yaml b/config/clusters/nasa-veda/common.values.yaml index ce5510b18..ab3febd0f 100644 --- a/config/clusters/nasa-veda/common.values.yaml +++ b/config/clusters/nasa-veda/common.values.yaml @@ -121,6 +121,8 @@ basehub: mountPath: /home/jovyan/shared subPath: _shared readOnly: true + - name: dev-shm + mountPath: /dev/shm profileList: - display_name: Choose your environment and resources default: true diff --git a/config/clusters/pchub/common.values.yaml b/config/clusters/pchub/common.values.yaml index e6337848c..6637b1534 100644 --- a/config/clusters/pchub/common.values.yaml +++ b/config/clusters/pchub/common.values.yaml @@ -98,6 +98,8 @@ basehub: mountPath: /home/jovyan/shared subPath: _shared readOnly: true + - name: dev-shm + mountPath: /dev/shm profileList: - display_name: "Pangeo Notebook" slug: pangeo diff --git a/docs/howto/features/ephemeral.md b/docs/howto/features/ephemeral.md index 82e168bc1..3c1c84096 100644 --- a/docs/howto/features/ephemeral.md +++ b/docs/howto/features/ephemeral.md @@ -123,11 +123,18 @@ ephemeral hub's users. # We still don't want to have per-user storage type: none extraVolumes: + # We include the dev-shm extraVolume as the list of extraVolumes from base hub will be overwritten + - name: dev-shm + emptyDir: + medium: Memory - name: shared-dir-pvc persistentVolumeClaim: # The name of the PVC setup by nfs.yaml for the ephemeral hub to use claimName: home-nfs extraVolumeMounts: + # We include the dev-shm extraVolumeMount as the list of extraVolumeMounts from base hub will be overwritten + - name: dev-shm + mountPath: /dev/shm - name: shared-dir-pvc mountPath: /home/jovyan/shared subPath: _shared diff --git a/docs/howto/features/per-user-db.md b/docs/howto/features/per-user-db.md index 6eb3a2027..c4c25b85d 100644 --- a/docs/howto/features/per-user-db.md +++ b/docs/howto/features/per-user-db.md @@ -81,11 +81,18 @@ jupyterhub: subPath: data storage: extraVolumes: + # We include the dev-shm extraVolume as the list of extraVolumes from base hub will be overwritten + - name: dev-shm + emptyDir: + medium: Memory - name: postgres-db persistentVolumeClaim: # This should match what is set as `name` in the earlier step under `custom.singleuser.extraPVCs` claimName: 'postgres-{username}' extraVolumeMounts: + # We include the dev-shm extraVolumeMount as the list of extraVolumeMounts from base hub will be overwritten + - name: dev-shm + mountPath: /dev/shm - name: postgres-db mountPath: /var/lib/postgresql/data # postgres recommends against mounting a volume directly here diff --git a/docs/topic/infrastructure/storage-layer.md b/docs/topic/infrastructure/storage-layer.md index 1a7ed49d7..f976bd202 100644 --- a/docs/topic/infrastructure/storage-layer.md +++ b/docs/topic/infrastructure/storage-layer.md @@ -96,6 +96,8 @@ jupyterhub: # mounts below are copied from basehub's values that we override by # specifying extraVolumeMounts (lists get overridden when helm values # are combined) + - name: dev-shm + mountPath: /dev/shm - name: home mountPath: /home/jovyan/shared-readwrite subPath: _shared diff --git a/helm-charts/basehub/values.yaml b/helm-charts/basehub/values.yaml index 6f91569da..0f7f66869 100644 --- a/helm-charts/basehub/values.yaml +++ b/helm-charts/basehub/values.yaml @@ -773,11 +773,17 @@ jupyterhub: static: pvcName: home-nfs subPath: "{username}" + extraVolumes: + - name: dev-shm + emptyDir: + medium: Memory extraVolumeMounts: - name: home mountPath: /home/jovyan/shared subPath: _shared readOnly: true + - name: dev-shm + mountPath: /dev/shm # For all pods, mount home in both /home/jovyan (done via singleuser.storage.static) # as well as /home/rstudio. This allows rocker images (which use the