From 034b3d7d272887024cca7536f57b26d9647c64d8 Mon Sep 17 00:00:00 2001 From: Erik Sundell Date: Wed, 11 Oct 2023 15:10:17 +0200 Subject: [PATCH 01/14] nox: add docstring about nox and list command how to use it --- noxfile.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/noxfile.py b/noxfile.py index 0c659213b2..d8c5d41a0c 100644 --- a/noxfile.py +++ b/noxfile.py @@ -1,3 +1,14 @@ +""" +noxfile.py is a configuration file for the command-line tool nox that automates +tasks in multiple Python environments. We use it to setup an environment to +build our documentation. + +Config reference: https://nox.thea.codes/en/stable/config.html#noxfile + +Common tasks: +- Install nox: pip install nox +- Start a live reloading docs server: nox -- live +""" import nox nox.options.reuse_existing_virtualenvs = True From aa09762e4f1c5154ca752671b4a7f3d142ee959f Mon Sep 17 00:00:00 2001 From: Erik Sundell Date: Thu, 12 Oct 2023 00:39:54 +0200 Subject: [PATCH 02/14] basehub: fix bug in profile list filtering influencing a few users I think ths bug led to 500 errors if: - GitHubOAuthenticator was used with the `allowed_teams` filtering of `profile_list` options - A user had been logged in since oauthenticator 15 was used, needed to start a server and arrived to /hub/spawn, and didn't have access to all server options. --- helm-charts/basehub/values.yaml | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/helm-charts/basehub/values.yaml b/helm-charts/basehub/values.yaml index e37753cd5c..0a11cdb63d 100644 --- a/helm-charts/basehub/values.yaml +++ b/helm-charts/basehub/values.yaml @@ -764,8 +764,15 @@ jupyterhub: allowed_profiles.append(profile) continue - access_token = auth_state["token_response"]["access_token"] - token_type = auth_state["token_response"]["token_type"] + if "token_response" in auth_state: + access_token = auth_state["token_response"]["access_token"] + token_type = auth_state["token_response"]["token_type"] + else: + # token_response was introduced to auth_state in + # oauthenticator 16, so this is adjusting to an auth_state + # set by oauthenticator 15 + access_token = auth_state["access_token"] + token_type = "token" for allowed_org in allowed_orgs: user_in_allowed_org = await spawner.authenticator._check_membership_allowed_organizations( allowed_org, spawner.user.name, access_token, token_type From e7ce5783b54322a3e6696610791ed178cb2d5d36 Mon Sep 17 00:00:00 2001 From: Georgiana Dolocan Date: Wed, 11 Oct 2023 16:53:14 +0300 Subject: [PATCH 03/14] Add jackeddy hub --- config/clusters/2i2c/cluster.yaml | 10 ++ config/clusters/2i2c/jackeddy.values.yaml | 184 ++++++++++++++++++++++ terraform/gcp/projects/pilot-hubs.tfvars | 28 +++- 3 files changed, 221 insertions(+), 1 deletion(-) create mode 100644 config/clusters/2i2c/jackeddy.values.yaml diff --git a/config/clusters/2i2c/cluster.yaml b/config/clusters/2i2c/cluster.yaml index 4151b30592..4ad0c2c349 100644 --- a/config/clusters/2i2c/cluster.yaml +++ b/config/clusters/2i2c/cluster.yaml @@ -128,3 +128,13 @@ hubs: - basehub-common.values.yaml - mtu.values.yaml - enc-mtu.secret.values.yaml + - name: jackeddy + display_name: "Jack Eddy Symposium" + domain: jackeddy.2i2c.cloud + helm_chart: daskhub + auth0: + enabled: false + helm_chart_values_files: + - daskhub-common.values.yaml + - jackeddy.values.yaml + - enc-jackeddy.secret.values.yaml diff --git a/config/clusters/2i2c/jackeddy.values.yaml b/config/clusters/2i2c/jackeddy.values.yaml new file mode 100644 index 0000000000..93f7b4ccaf --- /dev/null +++ b/config/clusters/2i2c/jackeddy.values.yaml @@ -0,0 +1,184 @@ +basehub: + userServiceAccount: + annotations: + iam.gke.io/gcp-service-account: pilot-hubs-jackeddy@two-eye-two-see.iam.gserviceaccount.com + jupyterhub: + # https://infrastructure.2i2c.org/howto/features/ephemeral/#pre-pulled-images + prePuller: + continuous: + enabled: true + # FIXME: document this feature + scheduling: + userPlaceholder: + # Needed for continuous prePuller to work + enabled: true + replicas: 0 + userScheduler: + enabled: false + custom: + 2i2c: + add_staff_user_ids_to_admin_users: true + add_staff_user_ids_of_type: "github" + homepage: + templateVars: + org: + name: Jack Eddy Symposium + url: https://cpaess.ucar.edu/meetings/4th-eddy-cross-disciplinary-symposium + logo_url: https://cpaess.ucar.edu/sites/default/files/styles/extra_large/public/2023-08/EddySymposium-900x400.jpg?itok=8qG7Dqi3 + designed_by: + name: 2i2c + url: https://2i2c.org + operated_by: + name: 2i2c + url: https://2i2c.org + funded_by: + name: "" + url: "" + # FIXME: document this feature https://github.com/2i2c-org/default-hub-homepage/pull/25 + custom_html: NASA's Living with a Star program and UCAR/CPAESS + singleuser: + extraFiles: + # FIXME: document this feature + # Currently only documented in the context of culling https://infrastructure.2i2c.org/sre-guide/manage-k8s/culling/#kernel-culling-configuration + jupyter_notebook_config.json: + data: + # Allow jupyterlab option to show hidden files in browser + ContentsManager: + allow_hidden: true + profileList: + requests: + # Configuration setup based on https://github.com/2i2c-org/infrastructure/issues/2121. + # Allocate resources from a n2-highmem-16 node, instead of a + # n2-highmem-4 node to help reduce startup times. + # Based on past usages of this hub, it is highly possible it will use notable + # amounts of RAM. + # The choice of this node, will avoid putting only two users requesting ~16 GB on + # a ~32 GB node (if we went with a n2-highmem-4) and will instead allow for + # at least eight users to fit per node on a n2-highmem-16 machine. + # ref: https://github.com/2i2c-org/infrastructure/issues/3166#issuecomment-1755630637 + display_name: Resource Allocation + choices: + mem_1_9: + display_name: 1.9 GB RAM, upto 3.75 CPUs + description: Fastest spinup time + kubespawner_override: + mem_guarantee: 1992701952 + mem_limit: 1992701952 + cpu_guarantee: 0.234375 + cpu_limit: 3.75 + node_selector: + node.kubernetes.io/instance-type: n2-highmem-16 + default: true + mem_3_7: + display_name: 3.7 GB RAM, upto 3.75 CPUs + kubespawner_override: + mem_guarantee: 3985403904 + mem_limit: 3985403904 + cpu_guarantee: 0.46875 + cpu_limit: 3.75 + node_selector: + node.kubernetes.io/instance-type: n2-highmem-16 + mem_7_4: + display_name: 7.4 GB RAM, upto 3.75 CPUs + kubespawner_override: + mem_guarantee: 7970807808 + mem_limit: 7970807808 + cpu_guarantee: 0.9375 + cpu_limit: 3.75 + node_selector: + node.kubernetes.io/instance-type: n2-highmem-16 + mem_14_8: + display_name: 14.8 GB RAM, upto 3.75 CPUs + kubespawner_override: + mem_guarantee: 15941615616 + mem_limit: 15941615616 + cpu_guarantee: 1.875 + cpu_limit: 3.75 + node_selector: + node.kubernetes.io/instance-type: n2-highmem-16 + mem_29_7: + display_name: 29.7 GB RAM, upto 3.75 CPUs + kubespawner_override: + mem_guarantee: 31883231232 + mem_limit: 31883231232 + cpu_guarantee: 3.75 + cpu_limit: 3.75 + node_selector: + node.kubernetes.io/instance-type: n2-highmem-16 + mem_60_6: + display_name: 60.6 GB RAM, upto 15.72 CPUs + kubespawner_override: + mem_guarantee: 65105797120 + mem_limit: 65105797120 + cpu_guarantee: 7.86 + cpu_limit: 15.72 + node_selector: + node.kubernetes.io/instance-type: n2-highmem-16 + mem_121_3: + display_name: 121.3 GB RAM, upto 15.72 CPUs + kubespawner_override: + mem_guarantee: 130211594240 + mem_limit: 130211594240 + cpu_guarantee: 15.72 + cpu_limit: 15.72 + node_selector: + node.kubernetes.io/instance-type: n2-highmem-16 + image: &profile_list_profile_options_image + display_name: Image + # https://infrastructure.2i2c.org/howto/features/allow-unlisted-profile-choice/ + unlisted_choice: &profile_list_unlisted_choice + enabled: True + display_name: "Custom image" + validation_regex: "^.+:.+$" + validation_message: "Must be a publicly available docker image, of form :" + kubespawner_override: + image: "{value}" + choices: + pangeo: + display_name: Base Pangeo Notebook + default: true + slug: "pangeo" + kubespawner_override: + image: "pangeo/pangeo-notebook:2023.10.03" + # https://infrastructure.2i2c.org/howto/features/dedicated-nodepool/ + nodeSelector: + # Applied to all profile options + 2i2c.org/community: jackeddy + defaultUrl: /lab + extraEnv: + # https://infrastructure.2i2c.org/howto/features/buckets/ + SCRATCH_BUCKET: gcs://pilot-hubs-jackeddy-scratch/$(JUPYTERHUB_USER) + PANGEO_SCRATCH: gcs://pilot-hubs-jackeddy-scratch/$(JUPYTERHUB_USER) + # https://infrastructure.2i2c.org/howto/features/github + GH_SCOPED_CREDS_CLIENT_ID: "Iv1.37646d01f3f58a80" + GH_SCOPED_CREDS_APP_URL: https://github.com/apps/jack-eddy-jupyterhub-push-access + hub: + config: + JupyterHub: + authenticator_class: github + GitHubOAuthenticator: + oauth_callback_url: https://jackeddy.2i2c.cloud/hub/oauth_callback + allowed_organizations: + - jack-eddy-symposium + scope: + - read:org + Authenticator: + # This hub uses GitHub Orgs/Teams auth and so we do not set + # allowed_users in order to not deny access to valid members of + # the listed Orgs/Teams. The following people should have admin + # access though. + admin_users: + - dan800 # Dan Marsh + - rmcgranaghan # Ryan McGranaghan + allowNamedServers: true + networkPolicy: + # FIXME: For dask gateway + enabled: false + readinessProbe: + enabled: false +dask-gateway: + gateway: + extraConfig: + idle: | + # timeout after 30 minutes of inactivity + c.KubeClusterConfig.idle_timeout = 1800 diff --git a/terraform/gcp/projects/pilot-hubs.tfvars b/terraform/gcp/projects/pilot-hubs.tfvars index 572da56d4a..b4db6d3376 100644 --- a/terraform/gcp/projects/pilot-hubs.tfvars +++ b/terraform/gcp/projects/pilot-hubs.tfvars @@ -79,6 +79,23 @@ notebook_nodes = { "community" : "temple" }, } + # Nodepool for jackeddy symposium. https://github.com/2i2c-org/infrastructure/issues/3166 + "jackeddy" : { + min : 0, + max : 100, + machine_type : "n2-highmem-16", + labels : { + "2i2c.org/community" : "jackeddy" + }, + taints : [{ + key : "2i2c.org/community", + value : "jackeddy", + effect : "NO_SCHEDULE" + }], + resource_labels : { + "community" : "jackeddy" + } + } } # Setup a single node pool for dask workers. @@ -94,7 +111,11 @@ dask_nodes = { }, } -user_buckets = {} +user_buckets = { + "jackeddy-scratch" : { + "delete_after" : 7 + } +} hub_cloud_permissions = { @@ -114,6 +135,11 @@ hub_cloud_permissions = { bucket_admin_access : [], hub_namespace : "catalyst-cooperative" }, + "jackeddy" : { + requestor_pays : true, + bucket_admin_access : ["jackeddy-scratch"], + hub_namespace : "jackeddy" + }, } container_repos = [ From 6747a2e4202325c799ef5ab1a2a9dbcd0764b294 Mon Sep 17 00:00:00 2001 From: Georgiana Dolocan Date: Wed, 11 Oct 2023 17:21:42 +0300 Subject: [PATCH 04/14] Update profile list config and set the unlisted_choice_experiment image as the hub image used --- config/clusters/2i2c/jackeddy.values.yaml | 209 +++++++++++----------- 1 file changed, 108 insertions(+), 101 deletions(-) diff --git a/config/clusters/2i2c/jackeddy.values.yaml b/config/clusters/2i2c/jackeddy.values.yaml index 93f7b4ccaf..2c5c03c765 100644 --- a/config/clusters/2i2c/jackeddy.values.yaml +++ b/config/clusters/2i2c/jackeddy.values.yaml @@ -45,101 +45,6 @@ basehub: # Allow jupyterlab option to show hidden files in browser ContentsManager: allow_hidden: true - profileList: - requests: - # Configuration setup based on https://github.com/2i2c-org/infrastructure/issues/2121. - # Allocate resources from a n2-highmem-16 node, instead of a - # n2-highmem-4 node to help reduce startup times. - # Based on past usages of this hub, it is highly possible it will use notable - # amounts of RAM. - # The choice of this node, will avoid putting only two users requesting ~16 GB on - # a ~32 GB node (if we went with a n2-highmem-4) and will instead allow for - # at least eight users to fit per node on a n2-highmem-16 machine. - # ref: https://github.com/2i2c-org/infrastructure/issues/3166#issuecomment-1755630637 - display_name: Resource Allocation - choices: - mem_1_9: - display_name: 1.9 GB RAM, upto 3.75 CPUs - description: Fastest spinup time - kubespawner_override: - mem_guarantee: 1992701952 - mem_limit: 1992701952 - cpu_guarantee: 0.234375 - cpu_limit: 3.75 - node_selector: - node.kubernetes.io/instance-type: n2-highmem-16 - default: true - mem_3_7: - display_name: 3.7 GB RAM, upto 3.75 CPUs - kubespawner_override: - mem_guarantee: 3985403904 - mem_limit: 3985403904 - cpu_guarantee: 0.46875 - cpu_limit: 3.75 - node_selector: - node.kubernetes.io/instance-type: n2-highmem-16 - mem_7_4: - display_name: 7.4 GB RAM, upto 3.75 CPUs - kubespawner_override: - mem_guarantee: 7970807808 - mem_limit: 7970807808 - cpu_guarantee: 0.9375 - cpu_limit: 3.75 - node_selector: - node.kubernetes.io/instance-type: n2-highmem-16 - mem_14_8: - display_name: 14.8 GB RAM, upto 3.75 CPUs - kubespawner_override: - mem_guarantee: 15941615616 - mem_limit: 15941615616 - cpu_guarantee: 1.875 - cpu_limit: 3.75 - node_selector: - node.kubernetes.io/instance-type: n2-highmem-16 - mem_29_7: - display_name: 29.7 GB RAM, upto 3.75 CPUs - kubespawner_override: - mem_guarantee: 31883231232 - mem_limit: 31883231232 - cpu_guarantee: 3.75 - cpu_limit: 3.75 - node_selector: - node.kubernetes.io/instance-type: n2-highmem-16 - mem_60_6: - display_name: 60.6 GB RAM, upto 15.72 CPUs - kubespawner_override: - mem_guarantee: 65105797120 - mem_limit: 65105797120 - cpu_guarantee: 7.86 - cpu_limit: 15.72 - node_selector: - node.kubernetes.io/instance-type: n2-highmem-16 - mem_121_3: - display_name: 121.3 GB RAM, upto 15.72 CPUs - kubespawner_override: - mem_guarantee: 130211594240 - mem_limit: 130211594240 - cpu_guarantee: 15.72 - cpu_limit: 15.72 - node_selector: - node.kubernetes.io/instance-type: n2-highmem-16 - image: &profile_list_profile_options_image - display_name: Image - # https://infrastructure.2i2c.org/howto/features/allow-unlisted-profile-choice/ - unlisted_choice: &profile_list_unlisted_choice - enabled: True - display_name: "Custom image" - validation_regex: "^.+:.+$" - validation_message: "Must be a publicly available docker image, of form :" - kubespawner_override: - image: "{value}" - choices: - pangeo: - display_name: Base Pangeo Notebook - default: true - slug: "pangeo" - kubespawner_override: - image: "pangeo/pangeo-notebook:2023.10.03" # https://infrastructure.2i2c.org/howto/features/dedicated-nodepool/ nodeSelector: # Applied to all profile options @@ -152,7 +57,115 @@ basehub: # https://infrastructure.2i2c.org/howto/features/github GH_SCOPED_CREDS_CLIENT_ID: "Iv1.37646d01f3f58a80" GH_SCOPED_CREDS_APP_URL: https://github.com/apps/jack-eddy-jupyterhub-push-access + profileList: + - display_name: "Image and resource allocation" + description: "Choose the user image and what resources to be allocated for the server" + slug: only-choice + profile_options: + requests: + # Configuration setup based on https://github.com/2i2c-org/infrastructure/issues/2121. + # Allocate resources from a n2-highmem-16 node, instead of a + # n2-highmem-4 node to help reduce startup times. + # Based on past usages of this hub, it is highly possible it will use notable + # amounts of RAM. + # The choice of this node, will avoid putting only two users requesting ~16 GB on + # a ~32 GB node (if we went with a n2-highmem-4) and will instead allow for + # at least eight users to fit per node on a n2-highmem-16 machine. + # ref: https://github.com/2i2c-org/infrastructure/issues/3166#issuecomment-1755630637 + display_name: Resource Allocation + choices: + mem_1_9: + display_name: 1.9 GB RAM, upto 3.75 CPUs + description: Fastest spinup time + kubespawner_override: + mem_guarantee: 1992701952 + mem_limit: 1992701952 + cpu_guarantee: 0.234375 + cpu_limit: 3.75 + node_selector: + node.kubernetes.io/instance-type: n2-highmem-16 + default: true + mem_3_7: + display_name: 3.7 GB RAM, upto 3.75 CPUs + kubespawner_override: + mem_guarantee: 3985403904 + mem_limit: 3985403904 + cpu_guarantee: 0.46875 + cpu_limit: 3.75 + node_selector: + node.kubernetes.io/instance-type: n2-highmem-16 + mem_7_4: + display_name: 7.4 GB RAM, upto 3.75 CPUs + kubespawner_override: + mem_guarantee: 7970807808 + mem_limit: 7970807808 + cpu_guarantee: 0.9375 + cpu_limit: 3.75 + node_selector: + node.kubernetes.io/instance-type: n2-highmem-16 + mem_14_8: + display_name: 14.8 GB RAM, upto 3.75 CPUs + kubespawner_override: + mem_guarantee: 15941615616 + mem_limit: 15941615616 + cpu_guarantee: 1.875 + cpu_limit: 3.75 + node_selector: + node.kubernetes.io/instance-type: n2-highmem-16 + mem_29_7: + display_name: 29.7 GB RAM, upto 3.75 CPUs + kubespawner_override: + mem_guarantee: 31883231232 + mem_limit: 31883231232 + cpu_guarantee: 3.75 + cpu_limit: 3.75 + node_selector: + node.kubernetes.io/instance-type: n2-highmem-16 + mem_60_6: + display_name: 60.6 GB RAM, upto 15.72 CPUs + kubespawner_override: + mem_guarantee: 65105797120 + mem_limit: 65105797120 + cpu_guarantee: 7.86 + cpu_limit: 15.72 + node_selector: + node.kubernetes.io/instance-type: n2-highmem-16 + mem_121_3: + display_name: 121.3 GB RAM, upto 15.72 CPUs + kubespawner_override: + mem_guarantee: 130211594240 + mem_limit: 130211594240 + cpu_guarantee: 15.72 + cpu_limit: 15.72 + node_selector: + node.kubernetes.io/instance-type: n2-highmem-16 + image: + display_name: Image + # https://infrastructure.2i2c.org/howto/features/allow-unlisted-profile-choice/ + unlisted_choice: + enabled: True + display_name: "Custom image" + validation_regex: "^.+:.+$" + validation_message: "Must be a publicly available docker image, of form :" + kubespawner_override: + image: "{value}" + choices: + pangeo: + display_name: Base Pangeo Notebook + default: true + slug: "pangeo" + kubespawner_override: + image: "pangeo/pangeo-notebook:2023.10.03" hub: + allowNamedServers: true + image: + name: quay.io/2i2c/unlisted-choice-experiment + tag: "0.0.1-0.dev.git.7130.h0bdc2d30" + networkPolicy: + # FIXME: For dask gateway + enabled: false + readinessProbe: + enabled: false config: JupyterHub: authenticator_class: github @@ -170,12 +183,6 @@ basehub: admin_users: - dan800 # Dan Marsh - rmcgranaghan # Ryan McGranaghan - allowNamedServers: true - networkPolicy: - # FIXME: For dask gateway - enabled: false - readinessProbe: - enabled: false dask-gateway: gateway: extraConfig: From d8fcb0cd3a8aa300b4a665ff40952261d70b5c4d Mon Sep 17 00:00:00 2001 From: Georgiana Dolocan Date: Wed, 11 Oct 2023 17:24:32 +0300 Subject: [PATCH 05/14] Rm outdated comment --- config/clusters/2i2c/jackeddy.values.yaml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/config/clusters/2i2c/jackeddy.values.yaml b/config/clusters/2i2c/jackeddy.values.yaml index 2c5c03c765..c20d4d7078 100644 --- a/config/clusters/2i2c/jackeddy.values.yaml +++ b/config/clusters/2i2c/jackeddy.values.yaml @@ -176,10 +176,6 @@ basehub: scope: - read:org Authenticator: - # This hub uses GitHub Orgs/Teams auth and so we do not set - # allowed_users in order to not deny access to valid members of - # the listed Orgs/Teams. The following people should have admin - # access though. admin_users: - dan800 # Dan Marsh - rmcgranaghan # Ryan McGranaghan From a0b8b7be99221019729372f3770dc293a26f6aa8 Mon Sep 17 00:00:00 2001 From: Georgiana Dolocan Date: Wed, 11 Oct 2023 17:33:01 +0300 Subject: [PATCH 06/14] Add missing config and fix copy-pasta error --- config/clusters/2i2c/cluster.yaml | 2 -- config/clusters/2i2c/jackeddy.values.yaml | 7 +++++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/config/clusters/2i2c/cluster.yaml b/config/clusters/2i2c/cluster.yaml index 4ad0c2c349..c450f972dc 100644 --- a/config/clusters/2i2c/cluster.yaml +++ b/config/clusters/2i2c/cluster.yaml @@ -132,8 +132,6 @@ hubs: display_name: "Jack Eddy Symposium" domain: jackeddy.2i2c.cloud helm_chart: daskhub - auth0: - enabled: false helm_chart_values_files: - daskhub-common.values.yaml - jackeddy.values.yaml diff --git a/config/clusters/2i2c/jackeddy.values.yaml b/config/clusters/2i2c/jackeddy.values.yaml index c20d4d7078..82e45227f6 100644 --- a/config/clusters/2i2c/jackeddy.values.yaml +++ b/config/clusters/2i2c/jackeddy.values.yaml @@ -15,6 +15,13 @@ basehub: replicas: 0 userScheduler: enabled: false + ingress: + hosts: + - jackeddy.2i2c.cloud + tls: + - secretName: https-auto-tls + hosts: + - jackeddy.2i2c.cloud custom: 2i2c: add_staff_user_ids_to_admin_users: true From fcd3f2a876ecf6c53a05bdc1b7fcba6da80894c8 Mon Sep 17 00:00:00 2001 From: Georgiana Dolocan Date: Wed, 11 Oct 2023 17:34:08 +0300 Subject: [PATCH 07/14] Rm config already in basehub chart --- config/clusters/2i2c/jackeddy.values.yaml | 8 -------- 1 file changed, 8 deletions(-) diff --git a/config/clusters/2i2c/jackeddy.values.yaml b/config/clusters/2i2c/jackeddy.values.yaml index 82e45227f6..39ea8f53d6 100644 --- a/config/clusters/2i2c/jackeddy.values.yaml +++ b/config/clusters/2i2c/jackeddy.values.yaml @@ -7,14 +7,6 @@ basehub: prePuller: continuous: enabled: true - # FIXME: document this feature - scheduling: - userPlaceholder: - # Needed for continuous prePuller to work - enabled: true - replicas: 0 - userScheduler: - enabled: false ingress: hosts: - jackeddy.2i2c.cloud From 1730044b9abe0effb8a804ff0f9ccb7c57845b84 Mon Sep 17 00:00:00 2001 From: Georgiana Dolocan Date: Wed, 11 Oct 2023 18:50:35 +0300 Subject: [PATCH 08/14] Remove uneeded config for dask-gateway --- config/clusters/2i2c/jackeddy.values.yaml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/config/clusters/2i2c/jackeddy.values.yaml b/config/clusters/2i2c/jackeddy.values.yaml index 39ea8f53d6..afe5a7cb56 100644 --- a/config/clusters/2i2c/jackeddy.values.yaml +++ b/config/clusters/2i2c/jackeddy.values.yaml @@ -160,11 +160,6 @@ basehub: image: name: quay.io/2i2c/unlisted-choice-experiment tag: "0.0.1-0.dev.git.7130.h0bdc2d30" - networkPolicy: - # FIXME: For dask gateway - enabled: false - readinessProbe: - enabled: false config: JupyterHub: authenticator_class: github From 47c66a2876e319d0a4640348bfdf5739a30ddcb3 Mon Sep 17 00:00:00 2001 From: Georgiana Date: Thu, 12 Oct 2023 12:23:52 +0300 Subject: [PATCH 09/14] Add extra tolerations for the jackeddy nodepool Co-authored-by: Erik Sundell --- config/clusters/2i2c/jackeddy.values.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/config/clusters/2i2c/jackeddy.values.yaml b/config/clusters/2i2c/jackeddy.values.yaml index afe5a7cb56..d18238988f 100644 --- a/config/clusters/2i2c/jackeddy.values.yaml +++ b/config/clusters/2i2c/jackeddy.values.yaml @@ -48,6 +48,11 @@ basehub: nodeSelector: # Applied to all profile options 2i2c.org/community: jackeddy + extraTolerations: + - key: "2i2c.org/community" + operator: "Equal" + value: "jackeddy" + effect: "NoSchedule" defaultUrl: /lab extraEnv: # https://infrastructure.2i2c.org/howto/features/buckets/ From ad85111f81d77112d60b06dcababaeb401f1b79a Mon Sep 17 00:00:00 2001 From: Georgiana Date: Thu, 12 Oct 2023 12:24:37 +0300 Subject: [PATCH 10/14] Rm fixme comment Co-authored-by: Erik Sundell --- config/clusters/2i2c/jackeddy.values.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/config/clusters/2i2c/jackeddy.values.yaml b/config/clusters/2i2c/jackeddy.values.yaml index d18238988f..1a2135d348 100644 --- a/config/clusters/2i2c/jackeddy.values.yaml +++ b/config/clusters/2i2c/jackeddy.values.yaml @@ -33,7 +33,6 @@ basehub: funded_by: name: "" url: "" - # FIXME: document this feature https://github.com/2i2c-org/default-hub-homepage/pull/25 custom_html: NASA's Living with a Star program and UCAR/CPAESS singleuser: extraFiles: From 19dd5feb85401fd5060059994bb2f7892c7a2e15 Mon Sep 17 00:00:00 2001 From: Georgiana Dolocan Date: Thu, 12 Oct 2023 12:28:29 +0300 Subject: [PATCH 11/14] Fix indentation --- config/clusters/2i2c/jackeddy.values.yaml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/config/clusters/2i2c/jackeddy.values.yaml b/config/clusters/2i2c/jackeddy.values.yaml index 1a2135d348..dc2b597d05 100644 --- a/config/clusters/2i2c/jackeddy.values.yaml +++ b/config/clusters/2i2c/jackeddy.values.yaml @@ -47,11 +47,11 @@ basehub: nodeSelector: # Applied to all profile options 2i2c.org/community: jackeddy - extraTolerations: - - key: "2i2c.org/community" - operator: "Equal" - value: "jackeddy" - effect: "NoSchedule" + extraTolerations: + - key: "2i2c.org/community" + operator: "Equal" + value: "jackeddy" + effect: "NoSchedule" defaultUrl: /lab extraEnv: # https://infrastructure.2i2c.org/howto/features/buckets/ From 9dcb83182fbb038818d97e243b099fb62d56f765 Mon Sep 17 00:00:00 2001 From: Georgiana Dolocan Date: Thu, 12 Oct 2023 12:28:57 +0300 Subject: [PATCH 12/14] Deactivate image pre-pulling --- config/clusters/2i2c/jackeddy.values.yaml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/config/clusters/2i2c/jackeddy.values.yaml b/config/clusters/2i2c/jackeddy.values.yaml index dc2b597d05..09c9480db6 100644 --- a/config/clusters/2i2c/jackeddy.values.yaml +++ b/config/clusters/2i2c/jackeddy.values.yaml @@ -3,10 +3,6 @@ basehub: annotations: iam.gke.io/gcp-service-account: pilot-hubs-jackeddy@two-eye-two-see.iam.gserviceaccount.com jupyterhub: - # https://infrastructure.2i2c.org/howto/features/ephemeral/#pre-pulled-images - prePuller: - continuous: - enabled: true ingress: hosts: - jackeddy.2i2c.cloud From cc5e16ce6228805241e2c8c0b745ced66cb3b18c Mon Sep 17 00:00:00 2001 From: Georgiana Dolocan Date: Thu, 12 Oct 2023 12:44:39 +0300 Subject: [PATCH 13/14] Rm the special hub image, as we already have all the features there --- config/clusters/2i2c/jackeddy.values.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/config/clusters/2i2c/jackeddy.values.yaml b/config/clusters/2i2c/jackeddy.values.yaml index 09c9480db6..94c376529d 100644 --- a/config/clusters/2i2c/jackeddy.values.yaml +++ b/config/clusters/2i2c/jackeddy.values.yaml @@ -157,9 +157,6 @@ basehub: image: "pangeo/pangeo-notebook:2023.10.03" hub: allowNamedServers: true - image: - name: quay.io/2i2c/unlisted-choice-experiment - tag: "0.0.1-0.dev.git.7130.h0bdc2d30" config: JupyterHub: authenticator_class: github From 51d1f94b4d980671fe084db3eec5cff18ca5a28b Mon Sep 17 00:00:00 2001 From: Georgiana Dolocan Date: Thu, 12 Oct 2023 12:54:26 +0300 Subject: [PATCH 14/14] Use a bigger node to account for future event expected usage --- config/clusters/openscapes/prod.values.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/clusters/openscapes/prod.values.yaml b/config/clusters/openscapes/prod.values.yaml index 7e1c6f3b82..b1c55743aa 100644 --- a/config/clusters/openscapes/prod.values.yaml +++ b/config/clusters/openscapes/prod.values.yaml @@ -57,7 +57,7 @@ basehub: cpu_guarantee: 1.875 cpu_limit: 3.75 node_selector: - node.kubernetes.io/instance-type: r5.xlarge + node.kubernetes.io/instance-type: r5.4xlarge mem_29_7: display_name: 29.7 GB RAM, upto 3.75 CPUs kubespawner_override: @@ -66,7 +66,7 @@ basehub: cpu_guarantee: 3.75 cpu_limit: 3.75 node_selector: - node.kubernetes.io/instance-type: r5.xlarge + node.kubernetes.io/instance-type: r5.4xlarge mem_60_6: display_name: 60.6 GB RAM, upto 15.72 CPUs kubespawner_override: