Skip to content
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

[pull] main from 2i2c-org:main #668

Merged
merged 16 commits into from
Jul 2, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ repos:

# Autoformat: Python code, syntax patterns are modernized
- repo: https://github.com/asottile/pyupgrade
rev: v3.15.2
rev: v3.16.0
hooks:
- id: pyupgrade
args:
Expand All @@ -39,7 +39,7 @@ repos:

# Lint: Python code
- repo: https://github.com/pycqa/flake8
rev: "7.0.0"
rev: "7.1.0"
hooks:
- id: flake8
# This is a `.py` file but is encrypted with sops
Expand Down
95 changes: 51 additions & 44 deletions config/clusters/catalystproject-latam/plnc.values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -27,17 +27,16 @@ jupyterhub:

singleuser:
profileList:
- display_name: Jupyter SciPy Notebook
description: Python environment
slug: jupyter
- display_name: "CPU only"
description: "Start a container limited to a chosen share of capacity"
slug: cpu
default: true
kubespawner_override:
image: quay.io/jupyter/scipy-notebook:2024-03-04
default_url: /lab
profile_options: &profile_options
resource_allocation: &resource_allocation
profile_options:
requests:
display_name: Resource Allocation
choices:
choices: &resource_choices
mem_0_7:
display_name: Up to 2G of RAM and 1 CPU
kubespawner_override:
Expand All @@ -59,25 +58,36 @@ jupyterhub:
mem_limit: 24G
cpu_guarantee: 1.5
cpu_limit: 3
image:
display_name: Image
unlisted_choice:
enabled: True
display_name: "Custom image"
validation_regex: "^.+:.+$"
validation_message: "Must be a publicly available docker image, of form <image-name>:<tag>"
kubespawner_override:
image: "{value}"
choices:
rstudio:
display_name: Rocker Geospatial with RStudio
default: true
slug: "rstudio"
kubespawner_override:
image: "rocker/binder:4.3"
image_pull_policy: Always
default_url: /rstudio
working_dir: /home/rstudio # Ensures container working dir is homedir
jupyter:
display_name: Jupyter SciPy Notebook
slug: "jupyter"
kubespawner_override:
image: "quay.io/jupyter/scipy-notebook:2024-03-04"
default_url: /lab

- display_name: Rocker Geospatial with RStudio
description: R environment
slug: rocker
kubespawner_override:
image: rocker/binder:4.3
image_pull_policy: Always
default_url: /rstudio
working_dir: /home/rstudio # Ensures container working dir is homedir
profile_options: *profile_options

- display_name: Pangeo Tensorflow ML Notebook
description: Dedicated node with a NVIDIA Tesla T4
slug: "tensorflow"
kubespawner_override:
image: "quay.io/pangeo/ml-notebook:2024.05.07"
default_url: /lab
profile_options: &profile_gpu_options
resource_allocation:
- display_name: "With GPUs"
description: "Start a container on a dedicated node with a NVIDIA Tesla T4"
profile_options:
requests:
display_name: Resource Allocation
choices:
mem_26_0:
Expand All @@ -87,8 +97,6 @@ jupyterhub:
mem_guarantee: 21G
mem_limit: null
cpu_guarantee: 3
environment:
NVIDIA_DRIVER_CAPABILITIES: compute,utility
node_selector:
node.kubernetes.io/instance-type: n1-highmem-4
extra_resource_limits:
Expand All @@ -99,25 +107,10 @@ jupyterhub:
mem_guarantee: 92G
mem_limit: null
cpu_guarantee: 15
environment:
NVIDIA_DRIVER_CAPABILITIES: compute,utility
node_selector:
node.kubernetes.io/instance-type: n1-highmem-16
extra_resource_limits:
nvidia.com/gpu: "4"

- display_name: Pangeo PyTorch ML Notebook
description: Dedicated node with a NVIDIA Tesla T4
slug: "pytorch"
kubespawner_override:
image: "quay.io/pangeo/pytorch-notebook:2024.05.07"
default_url: /lab
profile_options: *profile_gpu_options

- display_name: Bring your own image
description: Specify your own docker image (must have python and jupyterhub installed in it)
slug: custom
profile_options:
image:
display_name: Image
unlisted_choice:
Expand All @@ -127,5 +120,19 @@ jupyterhub:
validation_message: "Must be a publicly available docker image, of form <image-name>:<tag>"
kubespawner_override:
image: "{value}"
choices: {}
resource_allocation: *resource_allocation
choices:
tensorflow:
display_name: Tensorflow ML Notebook
slug: "tensorflow"
kubespawner_override:
image: "quay.io/jupyter/tensorflow-notebook:cuda-2024-07-01"
pytorch:
display_name: PyTorch ML Notebook
default: true
slug: "pytorch"
kubespawner_override:
image: "quay.io/jupyter/pytorch-notebook:cuda12-2024-07-01"
kubespawner_override:
default_url: /lab
environment:
NVIDIA_DRIVER_CAPABILITIES: compute,utility
5 changes: 5 additions & 0 deletions config/clusters/earthscope/common.values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -165,6 +165,11 @@ basehub:
slug: geolab-general
kubespawner_override:
image: public.ecr.aws/earthscope-dev/geolab:td-dev-dd5851e6
mspass-shortcourse:
display_name: MsPASS
slug: mspass-shortcourse
kubespawner_override:
image: public.ecr.aws/earthscope-dev/mspass_image:mspass_img_test-6db62782
jupyter-scipy:
display_name: Jupyter
slug: jupyter-scipy
Expand Down
2 changes: 1 addition & 1 deletion config/clusters/nasa-esdis/common.values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ jupyterhub:
description: Pangeo based notebook with a Python environment
default: true
kubespawner_override:
image: public.ecr.aws/nasa-veda/nasa-veda-singleuser:2024-04-09
image: public.ecr.aws/nasa-veda/pangeo-notebook-veda-image:53b6fd1256f5
init_containers:
# Need to explicitly fix ownership here, as otherwise these directories will be owned
# by root on most NFS filesystems - neither EFS nor Google Filestore support anonuid
Expand Down
2 changes: 1 addition & 1 deletion config/clusters/nasa-ghg/common.values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ basehub:
- US-GHG-Center:ghg-trial-access
- 2i2c-org:hub-access-for-2i2c-staff
kubespawner_override:
image: public.ecr.aws/nasa-veda/nasa-veda-singleuser:2024-04-09
image: public.ecr.aws/nasa-veda/pangeo-notebook-veda-image:53b6fd1256f5
init_containers:
# Need to explicitly fix ownership here, as otherwise these directories will be owned
# by root on most NFS filesystems - neither EFS nor Google Filestore support anonuid
Expand Down
2 changes: 1 addition & 1 deletion config/clusters/nasa-veda/common.values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ basehub:
description: Pangeo based notebook with a Python environment
default: true
kubespawner_override:
image: public.ecr.aws/nasa-veda/nasa-veda-singleuser:2024-04-09
image: public.ecr.aws/nasa-veda/pangeo-notebook-veda-image:53b6fd1256f5
init_containers:
# Need to explicitly fix ownership here, as otherwise these directories will be owned
# by root on most NFS filesystems - neither EFS nor Google Filestore support anonuid
Expand Down
11 changes: 5 additions & 6 deletions docs/contributing/code-review.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,22 +61,21 @@ See [the guiding principles](https://compass.2i2c.org/engineering/workflow/1-wee
document for more guidance on what else you can do.

You should break this rule when it makes sense, but do not do so
**casually**. This is an important mechanism by which we can build a
team we can all trust in over
**casually**.

This may make you uncomfortable, and that is ok. Ultimately our goal is to
build a **team we can all trust in**, and this is a very important part
of getting there.
build a **team we can all trust in** rather than be a group of individuals
who can trust each other, and this is a very important part of getting there.

## After making the PR

After you make your PR, ask yourself these three questions:
After you make your PR, ask yourself these questions:

1. *If* this PR breaks something, do you feel comfortable debugging it **or**
reverting it to undo the change?
2. Do you know how to *verify* the effects of merging this PR?

If the answer to all these 2 questions are 'yes', you should go ahead
If the answer to all these questions are 'yes', you should go ahead
and self merge.

If it breaks, you can revert your PR, make changes, and try again.
Expand Down
3 changes: 1 addition & 2 deletions requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,7 @@ escapism==1.*

# Used for GCP billing management
pandas
# FIXME: Unpin when https://github.com/unionai-oss/pandera/issues/1656 gets solved
numpy<2
numpy==2.*
pandera
prometheus_pandas
pytest-mock
Expand Down
Loading