From 1e07d11e03e786a0cfe4ab0a978148af5cf3df5a Mon Sep 17 00:00:00 2001 From: Pris Nasrat Date: Fri, 10 Mar 2023 10:21:30 -0500 Subject: [PATCH 01/13] QCL turnup add profile options based of linked earth See #2287 --- config/clusters/qcl/common.values.yaml | 120 +++++++++++++++++++++++++ 1 file changed, 120 insertions(+) diff --git a/config/clusters/qcl/common.values.yaml b/config/clusters/qcl/common.values.yaml index 379f86bdde..c099f82c92 100644 --- a/config/clusters/qcl/common.values.yaml +++ b/config/clusters/qcl/common.values.yaml @@ -54,3 +54,123 @@ jupyterhub: - quantifiedcarbon:JupyterHub scope: - read:org + singleuser: + # TODO(pnasrat): Add image customizations initially get community to try using configurator with default to 2i2c-hubs-image + profileList: + # NOTE: About node sharing + # + # CPU/Memory requests/limits are actively considered still. This + # profile list is setup to involve node sharing as considered in + # https://github.com/2i2c-org/infrastructure/issues/2121. + # + # - Memory requests are lower than the description, with a factor + # of (node_max_mem - 4GB) / node_max_mem. + # - CPU requests are lower than the description, with a factor of + # 10%. + # + - display_name: "Small: up to 4 CPU / 32 GB RAM" + description: &profile_list_description "Start a container with at least a chosen share of capacity on a node of this type" + slug: small + profile_options: + requests: + # NOTE: Node share choices are in active development, see comment + # next to profileList: above. + display_name: Node share + choices: + mem_1: + default: true + display_name: ~1 GB, ~0.125 CPU + kubespawner_override: + mem_guarantee: 0.875G + cpu_guarantee: 0.013 + mem_2: + display_name: ~2 GB, ~0.25 CPU + kubespawner_override: + mem_guarantee: 1.75G + cpu_guarantee: 0.025 + mem_4: + display_name: ~4 GB, ~0.5 CPU + kubespawner_override: + mem_guarantee: 3.5G + cpu_guarantee: 0.05 + mem_8: + display_name: ~8 GB, ~1.0 CPU + kubespawner_override: + mem_guarantee: 7.0G + cpu_guarantee: 0.1 + mem_16: + display_name: ~16 GB, ~2.0 CPU + kubespawner_override: + mem_guarantee: 14.0G + cpu_guarantee: 0.2 + mem_32: + display_name: ~32 GB, ~4.0 CPU + kubespawner_override: + mem_guarantee: 28.0G + cpu_guarantee: 0.4 + kubespawner_override: + cpu_limit: null + mem_limit: null + node_selector: + node.kubernetes.io/instance-type: n2-highmem-4 + - display_name: "Medium: up to 16 CPU / 128 GB RAM" + description: *profile_list_description + slug: medium + default: true + profile_options: + requests: + # NOTE: Node share choices are in active development, see comment + # next to profileList: above. + display_name: Node share + choices: + mem_1: + display_name: ~1 GB, ~0.125 CPU + kubespawner_override: + mem_guarantee: 0.969G + cpu_guarantee: 0.013 + mem_2: + display_name: ~2 GB, ~0.25 CPU + kubespawner_override: + mem_guarantee: 1.938G + cpu_guarantee: 0.025 + mem_4: + default: true + display_name: ~4 GB, ~0.5 CPU + kubespawner_override: + mem_guarantee: 3.875G + cpu_guarantee: 0.05 + mem_8: + display_name: ~8 GB, ~1.0 CPU + kubespawner_override: + mem_guarantee: 7.75G + cpu_guarantee: 0.1 + mem_16: + display_name: ~16 GB, ~2.0 CPU + kubespawner_override: + mem_guarantee: 15.5G + cpu_guarantee: 0.2 + mem_32: + display_name: ~32 GB, ~4.0 CPU + kubespawner_override: + mem_guarantee: 31.0G + cpu_guarantee: 0.4 + mem_64: + display_name: ~64 GB, ~8.0 CPU + kubespawner_override: + mem_guarantee: 62.0G + cpu_guarantee: 0.8 + mem_128: + display_name: ~128 GB, ~16.0 CPU + kubespawner_override: + mem_guarantee: 124.0G + cpu_guarantee: 1.6 + kubespawner_override: + cpu_limit: null + mem_limit: null + node_selector: + node.kubernetes.io/instance-type: n2-highmem-16 + - display_name: "HIGH 1" + description: "foo" + slug: "bar" + kubespawner_override: + node.kubernetes.io/instance-type: n2-highcpu-32 \ No newline at end of file From 4d753bb4c7dbbf04fc0490a39ca06a61334a5894 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Fri, 10 Mar 2023 15:30:53 +0000 Subject: [PATCH 02/13] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- config/clusters/qcl/common.values.yaml | 238 ++++++++++++------------- 1 file changed, 119 insertions(+), 119 deletions(-) diff --git a/config/clusters/qcl/common.values.yaml b/config/clusters/qcl/common.values.yaml index c099f82c92..8ba02f5967 100644 --- a/config/clusters/qcl/common.values.yaml +++ b/config/clusters/qcl/common.values.yaml @@ -55,122 +55,122 @@ jupyterhub: scope: - read:org singleuser: - # TODO(pnasrat): Add image customizations initially get community to try using configurator with default to 2i2c-hubs-image - profileList: - # NOTE: About node sharing - # - # CPU/Memory requests/limits are actively considered still. This - # profile list is setup to involve node sharing as considered in - # https://github.com/2i2c-org/infrastructure/issues/2121. - # - # - Memory requests are lower than the description, with a factor - # of (node_max_mem - 4GB) / node_max_mem. - # - CPU requests are lower than the description, with a factor of - # 10%. - # - - display_name: "Small: up to 4 CPU / 32 GB RAM" - description: &profile_list_description "Start a container with at least a chosen share of capacity on a node of this type" - slug: small - profile_options: - requests: - # NOTE: Node share choices are in active development, see comment - # next to profileList: above. - display_name: Node share - choices: - mem_1: - default: true - display_name: ~1 GB, ~0.125 CPU - kubespawner_override: - mem_guarantee: 0.875G - cpu_guarantee: 0.013 - mem_2: - display_name: ~2 GB, ~0.25 CPU - kubespawner_override: - mem_guarantee: 1.75G - cpu_guarantee: 0.025 - mem_4: - display_name: ~4 GB, ~0.5 CPU - kubespawner_override: - mem_guarantee: 3.5G - cpu_guarantee: 0.05 - mem_8: - display_name: ~8 GB, ~1.0 CPU - kubespawner_override: - mem_guarantee: 7.0G - cpu_guarantee: 0.1 - mem_16: - display_name: ~16 GB, ~2.0 CPU - kubespawner_override: - mem_guarantee: 14.0G - cpu_guarantee: 0.2 - mem_32: - display_name: ~32 GB, ~4.0 CPU - kubespawner_override: - mem_guarantee: 28.0G - cpu_guarantee: 0.4 - kubespawner_override: - cpu_limit: null - mem_limit: null - node_selector: - node.kubernetes.io/instance-type: n2-highmem-4 - - display_name: "Medium: up to 16 CPU / 128 GB RAM" - description: *profile_list_description - slug: medium - default: true - profile_options: - requests: - # NOTE: Node share choices are in active development, see comment - # next to profileList: above. - display_name: Node share - choices: - mem_1: - display_name: ~1 GB, ~0.125 CPU - kubespawner_override: - mem_guarantee: 0.969G - cpu_guarantee: 0.013 - mem_2: - display_name: ~2 GB, ~0.25 CPU - kubespawner_override: - mem_guarantee: 1.938G - cpu_guarantee: 0.025 - mem_4: - default: true - display_name: ~4 GB, ~0.5 CPU - kubespawner_override: - mem_guarantee: 3.875G - cpu_guarantee: 0.05 - mem_8: - display_name: ~8 GB, ~1.0 CPU - kubespawner_override: - mem_guarantee: 7.75G - cpu_guarantee: 0.1 - mem_16: - display_name: ~16 GB, ~2.0 CPU - kubespawner_override: - mem_guarantee: 15.5G - cpu_guarantee: 0.2 - mem_32: - display_name: ~32 GB, ~4.0 CPU - kubespawner_override: - mem_guarantee: 31.0G - cpu_guarantee: 0.4 - mem_64: - display_name: ~64 GB, ~8.0 CPU - kubespawner_override: - mem_guarantee: 62.0G - cpu_guarantee: 0.8 - mem_128: - display_name: ~128 GB, ~16.0 CPU - kubespawner_override: - mem_guarantee: 124.0G - cpu_guarantee: 1.6 - kubespawner_override: - cpu_limit: null - mem_limit: null - node_selector: - node.kubernetes.io/instance-type: n2-highmem-16 - - display_name: "HIGH 1" - description: "foo" - slug: "bar" - kubespawner_override: - node.kubernetes.io/instance-type: n2-highcpu-32 \ No newline at end of file + # TODO(pnasrat): Add image customizations initially get community to try using configurator with default to 2i2c-hubs-image + profileList: + # NOTE: About node sharing + # + # CPU/Memory requests/limits are actively considered still. This + # profile list is setup to involve node sharing as considered in + # https://github.com/2i2c-org/infrastructure/issues/2121. + # + # - Memory requests are lower than the description, with a factor + # of (node_max_mem - 4GB) / node_max_mem. + # - CPU requests are lower than the description, with a factor of + # 10%. + # + - display_name: "Small: up to 4 CPU / 32 GB RAM" + description: &profile_list_description "Start a container with at least a chosen share of capacity on a node of this type" + slug: small + profile_options: + requests: + # NOTE: Node share choices are in active development, see comment + # next to profileList: above. + display_name: Node share + choices: + mem_1: + default: true + display_name: ~1 GB, ~0.125 CPU + kubespawner_override: + mem_guarantee: 0.875G + cpu_guarantee: 0.013 + mem_2: + display_name: ~2 GB, ~0.25 CPU + kubespawner_override: + mem_guarantee: 1.75G + cpu_guarantee: 0.025 + mem_4: + display_name: ~4 GB, ~0.5 CPU + kubespawner_override: + mem_guarantee: 3.5G + cpu_guarantee: 0.05 + mem_8: + display_name: ~8 GB, ~1.0 CPU + kubespawner_override: + mem_guarantee: 7.0G + cpu_guarantee: 0.1 + mem_16: + display_name: ~16 GB, ~2.0 CPU + kubespawner_override: + mem_guarantee: 14.0G + cpu_guarantee: 0.2 + mem_32: + display_name: ~32 GB, ~4.0 CPU + kubespawner_override: + mem_guarantee: 28.0G + cpu_guarantee: 0.4 + kubespawner_override: + cpu_limit: null + mem_limit: null + node_selector: + node.kubernetes.io/instance-type: n2-highmem-4 + - display_name: "Medium: up to 16 CPU / 128 GB RAM" + description: *profile_list_description + slug: medium + default: true + profile_options: + requests: + # NOTE: Node share choices are in active development, see comment + # next to profileList: above. + display_name: Node share + choices: + mem_1: + display_name: ~1 GB, ~0.125 CPU + kubespawner_override: + mem_guarantee: 0.969G + cpu_guarantee: 0.013 + mem_2: + display_name: ~2 GB, ~0.25 CPU + kubespawner_override: + mem_guarantee: 1.938G + cpu_guarantee: 0.025 + mem_4: + default: true + display_name: ~4 GB, ~0.5 CPU + kubespawner_override: + mem_guarantee: 3.875G + cpu_guarantee: 0.05 + mem_8: + display_name: ~8 GB, ~1.0 CPU + kubespawner_override: + mem_guarantee: 7.75G + cpu_guarantee: 0.1 + mem_16: + display_name: ~16 GB, ~2.0 CPU + kubespawner_override: + mem_guarantee: 15.5G + cpu_guarantee: 0.2 + mem_32: + display_name: ~32 GB, ~4.0 CPU + kubespawner_override: + mem_guarantee: 31.0G + cpu_guarantee: 0.4 + mem_64: + display_name: ~64 GB, ~8.0 CPU + kubespawner_override: + mem_guarantee: 62.0G + cpu_guarantee: 0.8 + mem_128: + display_name: ~128 GB, ~16.0 CPU + kubespawner_override: + mem_guarantee: 124.0G + cpu_guarantee: 1.6 + kubespawner_override: + cpu_limit: null + mem_limit: null + node_selector: + node.kubernetes.io/instance-type: n2-highmem-16 + - display_name: "HIGH 1" + description: "foo" + slug: "bar" + kubespawner_override: + node.kubernetes.io/instance-type: n2-highcpu-32 From 91ee7ce842dcd735c784361a271d8d5b3b5b67a2 Mon Sep 17 00:00:00 2001 From: Pris Nasrat Date: Mon, 13 Mar 2023 13:32:08 -0400 Subject: [PATCH 03/13] PR Revisions profile and image Update highcpu profile entries Use pangeo image --- config/clusters/qcl/common.values.yaml | 28 +++++++++++++++++++------- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/config/clusters/qcl/common.values.yaml b/config/clusters/qcl/common.values.yaml index 8ba02f5967..c9c45b6da5 100644 --- a/config/clusters/qcl/common.values.yaml +++ b/config/clusters/qcl/common.values.yaml @@ -55,7 +55,10 @@ jupyterhub: scope: - read:org singleuser: - # TODO(pnasrat): Add image customizations initially get community to try using configurator with default to 2i2c-hubs-image + image: + # User image repo: https://quay.io/repository/linkedearth/pyleoclim + name: pangeo/pangeo-notebook + tag: "2023.02.08" profileList: # NOTE: About node sharing # @@ -63,14 +66,17 @@ jupyterhub: # profile list is setup to involve node sharing as considered in # https://github.com/2i2c-org/infrastructure/issues/2121. # - # - Memory requests are lower than the description, with a factor - # of (node_max_mem - 4GB) / node_max_mem. + # - Memory requests are different from the description, based on: + # whats found to remain allocate in k8s, subtracting 1GiB + # overhead for misc system pods, and transitioning from GB in + # description to GiB in mem_guarantee. # - CPU requests are lower than the description, with a factor of # 10%. # - display_name: "Small: up to 4 CPU / 32 GB RAM" description: &profile_list_description "Start a container with at least a chosen share of capacity on a node of this type" slug: small + default: true profile_options: requests: # NOTE: Node share choices are in active development, see comment @@ -116,7 +122,6 @@ jupyterhub: - display_name: "Medium: up to 16 CPU / 128 GB RAM" description: *profile_list_description slug: medium - default: true profile_options: requests: # NOTE: Node share choices are in active development, see comment @@ -169,8 +174,17 @@ jupyterhub: mem_limit: null node_selector: node.kubernetes.io/instance-type: n2-highmem-16 - - display_name: "HIGH 1" - description: "foo" - slug: "bar" + - display_name: "n2-highcpu-32: 32 CPU / 32 GB RAM" + description: "Start a container on a dedicated node" + slug: "n2_highcpu_32" kubespawner_override: node.kubernetes.io/instance-type: n2-highcpu-32 + mem_guarantee: 28.887G + cpu_guarantee: 3.2 + - display_name: "n2-highcpu-96: 96 CPU / 96 GB RAM" + description: "Start a container on a dedicated node" + slug: "n2_highcpu_96" + kubespawner_override: + node.kubernetes.io/instance-type: n2-highcpu-96 + mem_guarantee: 86.662G + cpu_guarantee: 9.6 From f1cdb731c8d64749af14d36c6905822aeeb7c025 Mon Sep 17 00:00:00 2001 From: Pris Nasrat Date: Mon, 13 Mar 2023 13:43:33 -0400 Subject: [PATCH 04/13] Add pullPolicy of Always --- config/clusters/qcl/common.values.yaml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/config/clusters/qcl/common.values.yaml b/config/clusters/qcl/common.values.yaml index c9c45b6da5..9374d627f7 100644 --- a/config/clusters/qcl/common.values.yaml +++ b/config/clusters/qcl/common.values.yaml @@ -58,7 +58,10 @@ jupyterhub: image: # User image repo: https://quay.io/repository/linkedearth/pyleoclim name: pangeo/pangeo-notebook - tag: "2023.02.08" + # pullPolicy set to "Always" because we use the changing over time tag + # "latest". + pullPolicy: Always + tag: "latest" profileList: # NOTE: About node sharing # From ffede54d73427c2337b222d03b2529ce3230e34c Mon Sep 17 00:00:00 2001 From: Pris Nasrat Date: Mon, 13 Mar 2023 14:03:22 -0400 Subject: [PATCH 05/13] Add TODO to check actual allocation once node can be created --- config/clusters/qcl/common.values.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/config/clusters/qcl/common.values.yaml b/config/clusters/qcl/common.values.yaml index 9374d627f7..5ea399daeb 100644 --- a/config/clusters/qcl/common.values.yaml +++ b/config/clusters/qcl/common.values.yaml @@ -72,7 +72,8 @@ jupyterhub: # - Memory requests are different from the description, based on: # whats found to remain allocate in k8s, subtracting 1GiB # overhead for misc system pods, and transitioning from GB in - # description to GiB in mem_guarantee. + # description to GiB in mem_guarantee + # https://cloud.google.com/kubernetes-engine/docs/concepts/plan-node-sizes. # - CPU requests are lower than the description, with a factor of # 10%. # @@ -184,6 +185,7 @@ jupyterhub: node.kubernetes.io/instance-type: n2-highcpu-32 mem_guarantee: 28.887G cpu_guarantee: 3.2 + # TODO(pnasrat): check on value once node running - display_name: "n2-highcpu-96: 96 CPU / 96 GB RAM" description: "Start a container on a dedicated node" slug: "n2_highcpu_96" From 9285d37f8df62a06a35b71bd44dae022fb7264b4 Mon Sep 17 00:00:00 2001 From: Pris Nasrat Date: Mon, 13 Mar 2023 16:42:02 -0400 Subject: [PATCH 06/13] Update config/clusters/qcl/common.values.yaml Oops copy paste faile Co-authored-by: Erik Sundell --- config/clusters/qcl/common.values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/clusters/qcl/common.values.yaml b/config/clusters/qcl/common.values.yaml index 5ea399daeb..f8163fe3bf 100644 --- a/config/clusters/qcl/common.values.yaml +++ b/config/clusters/qcl/common.values.yaml @@ -56,7 +56,7 @@ jupyterhub: - read:org singleuser: image: - # User image repo: https://quay.io/repository/linkedearth/pyleoclim + # pangeo/pangeo-notebook is maintained at: https://github.com/pangeo-data/pangeo-docker-images name: pangeo/pangeo-notebook # pullPolicy set to "Always" because we use the changing over time tag # "latest". From b3c47bf35a1261e9da2b0e67b5378018661212dc Mon Sep 17 00:00:00 2001 From: Pris Nasrat Date: Mon, 13 Mar 2023 16:42:21 -0400 Subject: [PATCH 07/13] Update config/clusters/qcl/common.values.yaml Co-authored-by: Erik Sundell --- config/clusters/qcl/common.values.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/config/clusters/qcl/common.values.yaml b/config/clusters/qcl/common.values.yaml index f8163fe3bf..b35ef3e0aa 100644 --- a/config/clusters/qcl/common.values.yaml +++ b/config/clusters/qcl/common.values.yaml @@ -190,6 +190,7 @@ jupyterhub: description: "Start a container on a dedicated node" slug: "n2_highcpu_96" kubespawner_override: - node.kubernetes.io/instance-type: n2-highcpu-96 + node_selector: + node.kubernetes.io/instance-type: n2-highcpu-96 mem_guarantee: 86.662G cpu_guarantee: 9.6 From adc659f2fe7143d2f335f659a08c3c9c14fc0029 Mon Sep 17 00:00:00 2001 From: Pris Nasrat Date: Mon, 13 Mar 2023 16:42:42 -0400 Subject: [PATCH 08/13] Update config/clusters/qcl/common.values.yaml Co-authored-by: Erik Sundell --- config/clusters/qcl/common.values.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/config/clusters/qcl/common.values.yaml b/config/clusters/qcl/common.values.yaml index b35ef3e0aa..629379728a 100644 --- a/config/clusters/qcl/common.values.yaml +++ b/config/clusters/qcl/common.values.yaml @@ -182,7 +182,8 @@ jupyterhub: description: "Start a container on a dedicated node" slug: "n2_highcpu_32" kubespawner_override: - node.kubernetes.io/instance-type: n2-highcpu-32 + node_selector: + node.kubernetes.io/instance-type: n2-highcpu-32 mem_guarantee: 28.887G cpu_guarantee: 3.2 # TODO(pnasrat): check on value once node running From 4cba414417178ab63e905900fa2aba35bfb3b788 Mon Sep 17 00:00:00 2001 From: Pris Nasrat Date: Mon, 13 Mar 2023 16:43:17 -0400 Subject: [PATCH 09/13] Update config/clusters/qcl/common.values.yaml Co-authored-by: Erik Sundell --- config/clusters/qcl/common.values.yaml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/config/clusters/qcl/common.values.yaml b/config/clusters/qcl/common.values.yaml index 629379728a..38f12339b8 100644 --- a/config/clusters/qcl/common.values.yaml +++ b/config/clusters/qcl/common.values.yaml @@ -135,43 +135,43 @@ jupyterhub: mem_1: display_name: ~1 GB, ~0.125 CPU kubespawner_override: - mem_guarantee: 0.969G + mem_guarantee: 0.903G cpu_guarantee: 0.013 mem_2: display_name: ~2 GB, ~0.25 CPU kubespawner_override: - mem_guarantee: 1.938G + mem_guarantee: 1.805G cpu_guarantee: 0.025 mem_4: default: true display_name: ~4 GB, ~0.5 CPU kubespawner_override: - mem_guarantee: 3.875G + mem_guarantee: 3.611G cpu_guarantee: 0.05 mem_8: display_name: ~8 GB, ~1.0 CPU kubespawner_override: - mem_guarantee: 7.75G + mem_guarantee: 7.222G cpu_guarantee: 0.1 mem_16: display_name: ~16 GB, ~2.0 CPU kubespawner_override: - mem_guarantee: 15.5G + mem_guarantee: 14.444G cpu_guarantee: 0.2 mem_32: display_name: ~32 GB, ~4.0 CPU kubespawner_override: - mem_guarantee: 31.0G + mem_guarantee: 28.887G cpu_guarantee: 0.4 mem_64: display_name: ~64 GB, ~8.0 CPU kubespawner_override: - mem_guarantee: 62.0G + mem_guarantee: 57.775G cpu_guarantee: 0.8 mem_128: display_name: ~128 GB, ~16.0 CPU kubespawner_override: - mem_guarantee: 124.0G + mem_guarantee: 115.549G cpu_guarantee: 1.6 kubespawner_override: cpu_limit: null From 6604513ae3f5985236cf6f51fdf3995e4a238e2a Mon Sep 17 00:00:00 2001 From: Pris Nasrat Date: Mon, 13 Mar 2023 16:43:32 -0400 Subject: [PATCH 10/13] Update config/clusters/qcl/common.values.yaml Co-authored-by: Erik Sundell --- config/clusters/qcl/common.values.yaml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/config/clusters/qcl/common.values.yaml b/config/clusters/qcl/common.values.yaml index 38f12339b8..ab72134e14 100644 --- a/config/clusters/qcl/common.values.yaml +++ b/config/clusters/qcl/common.values.yaml @@ -91,32 +91,32 @@ jupyterhub: default: true display_name: ~1 GB, ~0.125 CPU kubespawner_override: - mem_guarantee: 0.875G + mem_guarantee: 0.836G cpu_guarantee: 0.013 mem_2: display_name: ~2 GB, ~0.25 CPU kubespawner_override: - mem_guarantee: 1.75G + mem_guarantee: 1.671G cpu_guarantee: 0.025 mem_4: display_name: ~4 GB, ~0.5 CPU kubespawner_override: - mem_guarantee: 3.5G + mem_guarantee: 3.342G cpu_guarantee: 0.05 mem_8: display_name: ~8 GB, ~1.0 CPU kubespawner_override: - mem_guarantee: 7.0G + mem_guarantee: 6.684G cpu_guarantee: 0.1 mem_16: display_name: ~16 GB, ~2.0 CPU kubespawner_override: - mem_guarantee: 14.0G + mem_guarantee: 13.369G cpu_guarantee: 0.2 mem_32: display_name: ~32 GB, ~4.0 CPU kubespawner_override: - mem_guarantee: 28.0G + mem_guarantee: 26.738G cpu_guarantee: 0.4 kubespawner_override: cpu_limit: null From 90e310e18841dbaecc8ec50cbc558d48e875fab2 Mon Sep 17 00:00:00 2001 From: Pris Nasrat Date: Tue, 14 Mar 2023 10:55:35 -0400 Subject: [PATCH 11/13] QCL hub spawner config update Add QCL allowed_teams to spawner config Rightsize highcpu memory guarantee based on running nodes --- config/clusters/qcl/common.values.yaml | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/config/clusters/qcl/common.values.yaml b/config/clusters/qcl/common.values.yaml index ab72134e14..3458c209d7 100644 --- a/config/clusters/qcl/common.values.yaml +++ b/config/clusters/qcl/common.values.yaml @@ -46,6 +46,7 @@ jupyterhub: - jtkmckenna - pnasrat JupyterHub: + enable_auth_state: true authenticator_class: github GitHubOAuthenticator: populate_teams_in_auth_state: true @@ -81,6 +82,9 @@ jupyterhub: description: &profile_list_description "Start a container with at least a chosen share of capacity on a node of this type" slug: small default: true + allowed_teams: + - 2i2c-org:hub-access-for-2i2c-staff + - quantifiedcarbon:JupyterHub profile_options: requests: # NOTE: Node share choices are in active development, see comment @@ -126,6 +130,9 @@ jupyterhub: - display_name: "Medium: up to 16 CPU / 128 GB RAM" description: *profile_list_description slug: medium + allowed_teams: + - 2i2c-org:hub-access-for-2i2c-staff + - quantifiedcarbon:JupyterHub profile_options: requests: # NOTE: Node share choices are in active development, see comment @@ -181,17 +188,27 @@ jupyterhub: - display_name: "n2-highcpu-32: 32 CPU / 32 GB RAM" description: "Start a container on a dedicated node" slug: "n2_highcpu_32" + allowed_teams: + - 2i2c-org:hub-access-for-2i2c-staff + - quantifiedcarbon:JupyterHub kubespawner_override: node_selector: node.kubernetes.io/instance-type: n2-highcpu-32 - mem_guarantee: 28.887G + mem_guarantee: 27.13G cpu_guarantee: 3.2 + cpu_limit: null + mem_limit: null # TODO(pnasrat): check on value once node running - display_name: "n2-highcpu-96: 96 CPU / 96 GB RAM" description: "Start a container on a dedicated node" slug: "n2_highcpu_96" + allowed_teams: + - 2i2c-org:hub-access-for-2i2c-staff + - quantifiedcarbon:JupyterHub kubespawner_override: node_selector: node.kubernetes.io/instance-type: n2-highcpu-96 - mem_guarantee: 86.662G + cpu_limit: null + mem_limit: null + mem_guarantee: 86.92G cpu_guarantee: 9.6 From b318c72c7a0f5e291b29f2883a7bfb7fe87b7fbf Mon Sep 17 00:00:00 2001 From: Pris Nasrat Date: Tue, 14 Mar 2023 13:50:28 -0400 Subject: [PATCH 12/13] size tweaks --- config/clusters/qcl/common.values.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/clusters/qcl/common.values.yaml b/config/clusters/qcl/common.values.yaml index 3458c209d7..3df1347cf8 100644 --- a/config/clusters/qcl/common.values.yaml +++ b/config/clusters/qcl/common.values.yaml @@ -194,7 +194,7 @@ jupyterhub: kubespawner_override: node_selector: node.kubernetes.io/instance-type: n2-highcpu-32 - mem_guarantee: 27.13G + mem_guarantee: 27G cpu_guarantee: 3.2 cpu_limit: null mem_limit: null @@ -210,5 +210,5 @@ jupyterhub: node.kubernetes.io/instance-type: n2-highcpu-96 cpu_limit: null mem_limit: null - mem_guarantee: 86.92G + mem_guarantee: 86G cpu_guarantee: 9.6 From 53ecd581e55f4aade24062d0bd2ce08f6960b47c Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 14 Mar 2023 18:39:39 +0000 Subject: [PATCH 13/13] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- config/clusters/qcl/common.values.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/clusters/qcl/common.values.yaml b/config/clusters/qcl/common.values.yaml index 3df1347cf8..0720e64bab 100644 --- a/config/clusters/qcl/common.values.yaml +++ b/config/clusters/qcl/common.values.yaml @@ -190,7 +190,7 @@ jupyterhub: slug: "n2_highcpu_32" allowed_teams: - 2i2c-org:hub-access-for-2i2c-staff - - quantifiedcarbon:JupyterHub + - quantifiedcarbon:JupyterHub kubespawner_override: node_selector: node.kubernetes.io/instance-type: n2-highcpu-32 @@ -204,7 +204,7 @@ jupyterhub: slug: "n2_highcpu_96" allowed_teams: - 2i2c-org:hub-access-for-2i2c-staff - - quantifiedcarbon:JupyterHub + - quantifiedcarbon:JupyterHub kubespawner_override: node_selector: node.kubernetes.io/instance-type: n2-highcpu-96