From 0769b20cb8bab140f5beeb92924779a4c241bc56 Mon Sep 17 00:00:00 2001 From: Mathew Wicks Date: Mon, 16 Nov 2020 13:04:03 +1100 Subject: [PATCH] update jupyter config with tolerations/selectors --- .../base/configs/spawner_ui_config.yaml | 58 ++++++++++++++++++ ...upyter-web-app-jupyter-web-app-config.yaml | 58 ++++++++++++++++++ ...upyter-web-app-jupyter-web-app-config.yaml | 58 ++++++++++++++++++ ...upyter-web-app-jupyter-web-app-config.yaml | 58 ++++++++++++++++++ ...deployment_jupyter-web-app-deployment.yaml | 2 +- ...pp-jupyter-web-app-config-8kcgd8t8th.yaml} | 60 ++++++++++++++++++- ...deployment_jupyter-web-app-deployment.yaml | 2 +- ...pp-jupyter-web-app-config-8kcgd8t8th.yaml} | 60 ++++++++++++++++++- ...upyter-web-app-jupyter-web-app-config.yaml | 58 ++++++++++++++++++ ...upyter-web-app-jupyter-web-app-config.yaml | 58 ++++++++++++++++++ ...upyter-web-app-jupyter-web-app-config.yaml | 58 ++++++++++++++++++ ...upyter-web-app-jupyter-web-app-config.yaml | 58 ++++++++++++++++++ ...upyter-web-app-jupyter-web-app-config.yaml | 58 ++++++++++++++++++ ...deployment_jupyter-web-app-deployment.yaml | 2 +- ...pp-jupyter-web-app-config-8kcgd8t8th.yaml} | 60 ++++++++++++++++++- ...upyter-web-app-jupyter-web-app-config.yaml | 58 ++++++++++++++++++ 16 files changed, 760 insertions(+), 6 deletions(-) rename tests/stacks/gcp/test_data/expected/{~g_v1_configmap_jupyter-web-app-jupyter-web-app-config-dhcbh64467.yaml => ~g_v1_configmap_jupyter-web-app-jupyter-web-app-config-8kcgd8t8th.yaml} (68%) rename tests/stacks/generic/test_data/expected/{~g_v1_configmap_jupyter-web-app-jupyter-web-app-config-dhcbh64467.yaml => ~g_v1_configmap_jupyter-web-app-jupyter-web-app-config-8kcgd8t8th.yaml} (68%) rename tests/stacks/kubernetes/test_data/expected/{~g_v1_configmap_jupyter-web-app-jupyter-web-app-config-dhcbh64467.yaml => ~g_v1_configmap_jupyter-web-app-jupyter-web-app-config-8kcgd8t8th.yaml} (68%) diff --git a/jupyter/jupyter-web-app/base/configs/spawner_ui_config.yaml b/jupyter/jupyter-web-app/base/configs/spawner_ui_config.yaml index f5e63b37b3..903c7786b1 100644 --- a/jupyter/jupyter-web-app/base/configs/spawner_ui_config.yaml +++ b/jupyter/jupyter-web-app/base/configs/spawner_ui_config.yaml @@ -113,6 +113,8 @@ spawnerFormDefaults: vendors: - limitsKey: "nvidia.com/gpu" uiName: "NVIDIA" + - limitsKey: "amd.com/gpu" + uiName: "AMD" # Values: "" or a `limits-key` from the vendors list vendor: "" readOnly: false @@ -125,4 +127,60 @@ spawnerFormDefaults: # - add-gcp-secret # - default-editor value: [] + readOnly: false + affinityConfig: + # The default `configKey` from the options list + # If readonly, the default value will be the only option + value: "none" + # The list of available affinity configs + options: + - configKey: "none" + displayName: "None" + affinity: {} + # # (DESC) Pod gets an exclusive "n1-standard-2" Node + # # (TIP) set PreferNoSchedule taint on this node-pool + # # (TIP) enable cluster-autoscaler on this node-pool + # # (TIP) dont let users request more CPU/MEMORY than the size of this node + # - configKey: "exclusive__n1-standard-2" + # displayName: "Exclusive: n1-standard-2" + # affinity: + # # (Require) Node having label: `node_pool=notebook-n1-standard-2` + # nodeAffinity: + # requiredDuringSchedulingIgnoredDuringExecution: + # nodeSelectorTerms: + # - matchExpressions: + # - key: "node_pool" + # operator: "In" + # values: + # - "notebook-n1-standard-2" + # # (Require) Node WITHOUT existing Pod having label: `notebook-name` + # podAntiAffinity: + # requiredDuringSchedulingIgnoredDuringExecution: + # - labelSelector: + # matchExpressions: + # - key: "notebook-name" + # operator: "Exists" + # namespaces: [] + # topologyKey: "kubernetes.io/hostname" + readOnly: false + tolerationGroup: + # The default `groupKey` from the options list + # If readonly, the default value will be the only option + value: "none" + # The list of available tolerationGroup configs + options: + - groupKey: "none" + displayName: "None" + tolerations: [] + # - groupKey: "group_1" + # displayName: "Group 1: description" + # tolerations: + # - key: "key1" + # operator: "Equal" + # value: "value1" + # effect: "NoSchedule" + # - key: "key2" + # operator: "Equal" + # value: "value2" + # effect: "NoSchedule" readOnly: false \ No newline at end of file diff --git a/tests/stacks/azure/application/jupyter-web-app/base/test_data/expected/~g_v1_configmap_jupyter-web-app-jupyter-web-app-config.yaml b/tests/stacks/azure/application/jupyter-web-app/base/test_data/expected/~g_v1_configmap_jupyter-web-app-jupyter-web-app-config.yaml index 60115c258f..ade4339387 100644 --- a/tests/stacks/azure/application/jupyter-web-app/base/test_data/expected/~g_v1_configmap_jupyter-web-app-jupyter-web-app-config.yaml +++ b/tests/stacks/azure/application/jupyter-web-app/base/test_data/expected/~g_v1_configmap_jupyter-web-app-jupyter-web-app-config.yaml @@ -116,6 +116,8 @@ data: vendors: - limitsKey: "nvidia.com/gpu" uiName: "NVIDIA" + - limitsKey: "amd.com/gpu" + uiName: "AMD" # Values: "" or a `limits-key` from the vendors list vendor: "" readOnly: false @@ -129,6 +131,62 @@ data: # - default-editor value: [] readOnly: false + affinityConfig: + # The default `configKey` from the options list + # If readonly, the default value will be the only option + value: "none" + # The list of available affinity configs + options: + - configKey: "none" + displayName: "None" + affinity: {} + # # (DESC) Pod gets an exclusive "n1-standard-2" Node + # # (TIP) set PreferNoSchedule taint on this node-pool + # # (TIP) enable cluster-autoscaler on this node-pool + # # (TIP) dont let users request more CPU/MEMORY than the size of this node + # - configKey: "exclusive__n1-standard-2" + # displayName: "Exclusive: n1-standard-2" + # affinity: + # # (Require) Node having label: `node_pool=notebook-n1-standard-2` + # nodeAffinity: + # requiredDuringSchedulingIgnoredDuringExecution: + # nodeSelectorTerms: + # - matchExpressions: + # - key: "node_pool" + # operator: "In" + # values: + # - "notebook-n1-standard-2" + # # (Require) Node WITHOUT existing Pod having label: `notebook-name` + # podAntiAffinity: + # requiredDuringSchedulingIgnoredDuringExecution: + # - labelSelector: + # matchExpressions: + # - key: "notebook-name" + # operator: "Exists" + # namespaces: [] + # topologyKey: "kubernetes.io/hostname" + readOnly: false + tolerationGroup: + # The default `groupKey` from the options list + # If readonly, the default value will be the only option + value: "none" + # The list of available tolerationGroup configs + options: + - groupKey: "none" + displayName: "None" + tolerations: [] + # - groupKey: "group_1" + # displayName: "Group 1: description" + # tolerations: + # - key: "key1" + # operator: "Equal" + # value: "value1" + # effect: "NoSchedule" + # - key: "key2" + # operator: "Equal" + # value: "value2" + # effect: "NoSchedule" + readOnly: false kind: ConfigMap metadata: labels: diff --git a/tests/stacks/azure/application/jupyter-web-app/test_data/expected/~g_v1_configmap_jupyter-web-app-jupyter-web-app-config.yaml b/tests/stacks/azure/application/jupyter-web-app/test_data/expected/~g_v1_configmap_jupyter-web-app-jupyter-web-app-config.yaml index 60115c258f..ade4339387 100644 --- a/tests/stacks/azure/application/jupyter-web-app/test_data/expected/~g_v1_configmap_jupyter-web-app-jupyter-web-app-config.yaml +++ b/tests/stacks/azure/application/jupyter-web-app/test_data/expected/~g_v1_configmap_jupyter-web-app-jupyter-web-app-config.yaml @@ -116,6 +116,8 @@ data: vendors: - limitsKey: "nvidia.com/gpu" uiName: "NVIDIA" + - limitsKey: "amd.com/gpu" + uiName: "AMD" # Values: "" or a `limits-key` from the vendors list vendor: "" readOnly: false @@ -129,6 +131,62 @@ data: # - default-editor value: [] readOnly: false + affinityConfig: + # The default `configKey` from the options list + # If readonly, the default value will be the only option + value: "none" + # The list of available affinity configs + options: + - configKey: "none" + displayName: "None" + affinity: {} + # # (DESC) Pod gets an exclusive "n1-standard-2" Node + # # (TIP) set PreferNoSchedule taint on this node-pool + # # (TIP) enable cluster-autoscaler on this node-pool + # # (TIP) dont let users request more CPU/MEMORY than the size of this node + # - configKey: "exclusive__n1-standard-2" + # displayName: "Exclusive: n1-standard-2" + # affinity: + # # (Require) Node having label: `node_pool=notebook-n1-standard-2` + # nodeAffinity: + # requiredDuringSchedulingIgnoredDuringExecution: + # nodeSelectorTerms: + # - matchExpressions: + # - key: "node_pool" + # operator: "In" + # values: + # - "notebook-n1-standard-2" + # # (Require) Node WITHOUT existing Pod having label: `notebook-name` + # podAntiAffinity: + # requiredDuringSchedulingIgnoredDuringExecution: + # - labelSelector: + # matchExpressions: + # - key: "notebook-name" + # operator: "Exists" + # namespaces: [] + # topologyKey: "kubernetes.io/hostname" + readOnly: false + tolerationGroup: + # The default `groupKey` from the options list + # If readonly, the default value will be the only option + value: "none" + # The list of available tolerationGroup configs + options: + - groupKey: "none" + displayName: "None" + tolerations: [] + # - groupKey: "group_1" + # displayName: "Group 1: description" + # tolerations: + # - key: "key1" + # operator: "Equal" + # value: "value1" + # effect: "NoSchedule" + # - key: "key2" + # operator: "Equal" + # value: "value2" + # effect: "NoSchedule" + readOnly: false kind: ConfigMap metadata: labels: diff --git a/tests/stacks/azure/test_data/expected/~g_v1_configmap_jupyter-web-app-jupyter-web-app-config.yaml b/tests/stacks/azure/test_data/expected/~g_v1_configmap_jupyter-web-app-jupyter-web-app-config.yaml index 60115c258f..ade4339387 100644 --- a/tests/stacks/azure/test_data/expected/~g_v1_configmap_jupyter-web-app-jupyter-web-app-config.yaml +++ b/tests/stacks/azure/test_data/expected/~g_v1_configmap_jupyter-web-app-jupyter-web-app-config.yaml @@ -116,6 +116,8 @@ data: vendors: - limitsKey: "nvidia.com/gpu" uiName: "NVIDIA" + - limitsKey: "amd.com/gpu" + uiName: "AMD" # Values: "" or a `limits-key` from the vendors list vendor: "" readOnly: false @@ -129,6 +131,62 @@ data: # - default-editor value: [] readOnly: false + affinityConfig: + # The default `configKey` from the options list + # If readonly, the default value will be the only option + value: "none" + # The list of available affinity configs + options: + - configKey: "none" + displayName: "None" + affinity: {} + # # (DESC) Pod gets an exclusive "n1-standard-2" Node + # # (TIP) set PreferNoSchedule taint on this node-pool + # # (TIP) enable cluster-autoscaler on this node-pool + # # (TIP) dont let users request more CPU/MEMORY than the size of this node + # - configKey: "exclusive__n1-standard-2" + # displayName: "Exclusive: n1-standard-2" + # affinity: + # # (Require) Node having label: `node_pool=notebook-n1-standard-2` + # nodeAffinity: + # requiredDuringSchedulingIgnoredDuringExecution: + # nodeSelectorTerms: + # - matchExpressions: + # - key: "node_pool" + # operator: "In" + # values: + # - "notebook-n1-standard-2" + # # (Require) Node WITHOUT existing Pod having label: `notebook-name` + # podAntiAffinity: + # requiredDuringSchedulingIgnoredDuringExecution: + # - labelSelector: + # matchExpressions: + # - key: "notebook-name" + # operator: "Exists" + # namespaces: [] + # topologyKey: "kubernetes.io/hostname" + readOnly: false + tolerationGroup: + # The default `groupKey` from the options list + # If readonly, the default value will be the only option + value: "none" + # The list of available tolerationGroup configs + options: + - groupKey: "none" + displayName: "None" + tolerations: [] + # - groupKey: "group_1" + # displayName: "Group 1: description" + # tolerations: + # - key: "key1" + # operator: "Equal" + # value: "value1" + # effect: "NoSchedule" + # - key: "key2" + # operator: "Equal" + # value: "value2" + # effect: "NoSchedule" + readOnly: false kind: ConfigMap metadata: labels: diff --git a/tests/stacks/gcp/test_data/expected/apps_v1_deployment_jupyter-web-app-deployment.yaml b/tests/stacks/gcp/test_data/expected/apps_v1_deployment_jupyter-web-app-deployment.yaml index d24d54887e..371b7a5c78 100644 --- a/tests/stacks/gcp/test_data/expected/apps_v1_deployment_jupyter-web-app-deployment.yaml +++ b/tests/stacks/gcp/test_data/expected/apps_v1_deployment_jupyter-web-app-deployment.yaml @@ -42,5 +42,5 @@ spec: serviceAccountName: jupyter-web-app-service-account volumes: - configMap: - name: jupyter-web-app-jupyter-web-app-config-dhcbh64467 + name: jupyter-web-app-jupyter-web-app-config-8kcgd8t8th name: config-volume diff --git a/tests/stacks/gcp/test_data/expected/~g_v1_configmap_jupyter-web-app-jupyter-web-app-config-dhcbh64467.yaml b/tests/stacks/gcp/test_data/expected/~g_v1_configmap_jupyter-web-app-jupyter-web-app-config-8kcgd8t8th.yaml similarity index 68% rename from tests/stacks/gcp/test_data/expected/~g_v1_configmap_jupyter-web-app-jupyter-web-app-config-dhcbh64467.yaml rename to tests/stacks/gcp/test_data/expected/~g_v1_configmap_jupyter-web-app-jupyter-web-app-config-8kcgd8t8th.yaml index 685cf43f45..43cdcb8de3 100644 --- a/tests/stacks/gcp/test_data/expected/~g_v1_configmap_jupyter-web-app-jupyter-web-app-config-dhcbh64467.yaml +++ b/tests/stacks/gcp/test_data/expected/~g_v1_configmap_jupyter-web-app-jupyter-web-app-config-8kcgd8t8th.yaml @@ -116,6 +116,8 @@ data: vendors: - limitsKey: "nvidia.com/gpu" uiName: "NVIDIA" + - limitsKey: "amd.com/gpu" + uiName: "AMD" # Values: "" or a `limits-key` from the vendors list vendor: "" readOnly: false @@ -129,10 +131,66 @@ data: # - default-editor value: [] readOnly: false + affinityConfig: + # The default `configKey` from the options list + # If readonly, the default value will be the only option + value: "none" + # The list of available affinity configs + options: + - configKey: "none" + displayName: "None" + affinity: {} + # # (DESC) Pod gets an exclusive "n1-standard-2" Node + # # (TIP) set PreferNoSchedule taint on this node-pool + # # (TIP) enable cluster-autoscaler on this node-pool + # # (TIP) dont let users request more CPU/MEMORY than the size of this node + # - configKey: "exclusive__n1-standard-2" + # displayName: "Exclusive: n1-standard-2" + # affinity: + # # (Require) Node having label: `node_pool=notebook-n1-standard-2` + # nodeAffinity: + # requiredDuringSchedulingIgnoredDuringExecution: + # nodeSelectorTerms: + # - matchExpressions: + # - key: "node_pool" + # operator: "In" + # values: + # - "notebook-n1-standard-2" + # # (Require) Node WITHOUT existing Pod having label: `notebook-name` + # podAntiAffinity: + # requiredDuringSchedulingIgnoredDuringExecution: + # - labelSelector: + # matchExpressions: + # - key: "notebook-name" + # operator: "Exists" + # namespaces: [] + # topologyKey: "kubernetes.io/hostname" + readOnly: false + tolerationGroup: + # The default `groupKey` from the options list + # If readonly, the default value will be the only option + value: "none" + # The list of available tolerationGroup configs + options: + - groupKey: "none" + displayName: "None" + tolerations: [] + # - groupKey: "group_1" + # displayName: "Group 1: description" + # tolerations: + # - key: "key1" + # operator: "Equal" + # value: "value1" + # effect: "NoSchedule" + # - key: "key2" + # operator: "Equal" + # value: "value2" + # effect: "NoSchedule" + readOnly: false kind: ConfigMap metadata: labels: app: jupyter-web-app kustomize.component: jupyter-web-app - name: jupyter-web-app-jupyter-web-app-config-dhcbh64467 + name: jupyter-web-app-jupyter-web-app-config-8kcgd8t8th namespace: kubeflow diff --git a/tests/stacks/generic/test_data/expected/apps_v1_deployment_jupyter-web-app-deployment.yaml b/tests/stacks/generic/test_data/expected/apps_v1_deployment_jupyter-web-app-deployment.yaml index 2665cd2adb..eb206e68f0 100644 --- a/tests/stacks/generic/test_data/expected/apps_v1_deployment_jupyter-web-app-deployment.yaml +++ b/tests/stacks/generic/test_data/expected/apps_v1_deployment_jupyter-web-app-deployment.yaml @@ -42,5 +42,5 @@ spec: serviceAccountName: jupyter-web-app-service-account volumes: - configMap: - name: jupyter-web-app-jupyter-web-app-config-dhcbh64467 + name: jupyter-web-app-jupyter-web-app-config-8kcgd8t8th name: config-volume diff --git a/tests/stacks/generic/test_data/expected/~g_v1_configmap_jupyter-web-app-jupyter-web-app-config-dhcbh64467.yaml b/tests/stacks/generic/test_data/expected/~g_v1_configmap_jupyter-web-app-jupyter-web-app-config-8kcgd8t8th.yaml similarity index 68% rename from tests/stacks/generic/test_data/expected/~g_v1_configmap_jupyter-web-app-jupyter-web-app-config-dhcbh64467.yaml rename to tests/stacks/generic/test_data/expected/~g_v1_configmap_jupyter-web-app-jupyter-web-app-config-8kcgd8t8th.yaml index 685cf43f45..43cdcb8de3 100644 --- a/tests/stacks/generic/test_data/expected/~g_v1_configmap_jupyter-web-app-jupyter-web-app-config-dhcbh64467.yaml +++ b/tests/stacks/generic/test_data/expected/~g_v1_configmap_jupyter-web-app-jupyter-web-app-config-8kcgd8t8th.yaml @@ -116,6 +116,8 @@ data: vendors: - limitsKey: "nvidia.com/gpu" uiName: "NVIDIA" + - limitsKey: "amd.com/gpu" + uiName: "AMD" # Values: "" or a `limits-key` from the vendors list vendor: "" readOnly: false @@ -129,10 +131,66 @@ data: # - default-editor value: [] readOnly: false + affinityConfig: + # The default `configKey` from the options list + # If readonly, the default value will be the only option + value: "none" + # The list of available affinity configs + options: + - configKey: "none" + displayName: "None" + affinity: {} + # # (DESC) Pod gets an exclusive "n1-standard-2" Node + # # (TIP) set PreferNoSchedule taint on this node-pool + # # (TIP) enable cluster-autoscaler on this node-pool + # # (TIP) dont let users request more CPU/MEMORY than the size of this node + # - configKey: "exclusive__n1-standard-2" + # displayName: "Exclusive: n1-standard-2" + # affinity: + # # (Require) Node having label: `node_pool=notebook-n1-standard-2` + # nodeAffinity: + # requiredDuringSchedulingIgnoredDuringExecution: + # nodeSelectorTerms: + # - matchExpressions: + # - key: "node_pool" + # operator: "In" + # values: + # - "notebook-n1-standard-2" + # # (Require) Node WITHOUT existing Pod having label: `notebook-name` + # podAntiAffinity: + # requiredDuringSchedulingIgnoredDuringExecution: + # - labelSelector: + # matchExpressions: + # - key: "notebook-name" + # operator: "Exists" + # namespaces: [] + # topologyKey: "kubernetes.io/hostname" + readOnly: false + tolerationGroup: + # The default `groupKey` from the options list + # If readonly, the default value will be the only option + value: "none" + # The list of available tolerationGroup configs + options: + - groupKey: "none" + displayName: "None" + tolerations: [] + # - groupKey: "group_1" + # displayName: "Group 1: description" + # tolerations: + # - key: "key1" + # operator: "Equal" + # value: "value1" + # effect: "NoSchedule" + # - key: "key2" + # operator: "Equal" + # value: "value2" + # effect: "NoSchedule" + readOnly: false kind: ConfigMap metadata: labels: app: jupyter-web-app kustomize.component: jupyter-web-app - name: jupyter-web-app-jupyter-web-app-config-dhcbh64467 + name: jupyter-web-app-jupyter-web-app-config-8kcgd8t8th namespace: kubeflow diff --git a/tests/stacks/ibm/application/jupyter-web-app/base/test_data/expected/~g_v1_configmap_jupyter-web-app-jupyter-web-app-config.yaml b/tests/stacks/ibm/application/jupyter-web-app/base/test_data/expected/~g_v1_configmap_jupyter-web-app-jupyter-web-app-config.yaml index 60115c258f..ade4339387 100644 --- a/tests/stacks/ibm/application/jupyter-web-app/base/test_data/expected/~g_v1_configmap_jupyter-web-app-jupyter-web-app-config.yaml +++ b/tests/stacks/ibm/application/jupyter-web-app/base/test_data/expected/~g_v1_configmap_jupyter-web-app-jupyter-web-app-config.yaml @@ -116,6 +116,8 @@ data: vendors: - limitsKey: "nvidia.com/gpu" uiName: "NVIDIA" + - limitsKey: "amd.com/gpu" + uiName: "AMD" # Values: "" or a `limits-key` from the vendors list vendor: "" readOnly: false @@ -129,6 +131,62 @@ data: # - default-editor value: [] readOnly: false + affinityConfig: + # The default `configKey` from the options list + # If readonly, the default value will be the only option + value: "none" + # The list of available affinity configs + options: + - configKey: "none" + displayName: "None" + affinity: {} + # # (DESC) Pod gets an exclusive "n1-standard-2" Node + # # (TIP) set PreferNoSchedule taint on this node-pool + # # (TIP) enable cluster-autoscaler on this node-pool + # # (TIP) dont let users request more CPU/MEMORY than the size of this node + # - configKey: "exclusive__n1-standard-2" + # displayName: "Exclusive: n1-standard-2" + # affinity: + # # (Require) Node having label: `node_pool=notebook-n1-standard-2` + # nodeAffinity: + # requiredDuringSchedulingIgnoredDuringExecution: + # nodeSelectorTerms: + # - matchExpressions: + # - key: "node_pool" + # operator: "In" + # values: + # - "notebook-n1-standard-2" + # # (Require) Node WITHOUT existing Pod having label: `notebook-name` + # podAntiAffinity: + # requiredDuringSchedulingIgnoredDuringExecution: + # - labelSelector: + # matchExpressions: + # - key: "notebook-name" + # operator: "Exists" + # namespaces: [] + # topologyKey: "kubernetes.io/hostname" + readOnly: false + tolerationGroup: + # The default `groupKey` from the options list + # If readonly, the default value will be the only option + value: "none" + # The list of available tolerationGroup configs + options: + - groupKey: "none" + displayName: "None" + tolerations: [] + # - groupKey: "group_1" + # displayName: "Group 1: description" + # tolerations: + # - key: "key1" + # operator: "Equal" + # value: "value1" + # effect: "NoSchedule" + # - key: "key2" + # operator: "Equal" + # value: "value2" + # effect: "NoSchedule" + readOnly: false kind: ConfigMap metadata: labels: diff --git a/tests/stacks/ibm/application/jupyter-web-app/test_data/expected/~g_v1_configmap_jupyter-web-app-jupyter-web-app-config.yaml b/tests/stacks/ibm/application/jupyter-web-app/test_data/expected/~g_v1_configmap_jupyter-web-app-jupyter-web-app-config.yaml index 60115c258f..ade4339387 100644 --- a/tests/stacks/ibm/application/jupyter-web-app/test_data/expected/~g_v1_configmap_jupyter-web-app-jupyter-web-app-config.yaml +++ b/tests/stacks/ibm/application/jupyter-web-app/test_data/expected/~g_v1_configmap_jupyter-web-app-jupyter-web-app-config.yaml @@ -116,6 +116,8 @@ data: vendors: - limitsKey: "nvidia.com/gpu" uiName: "NVIDIA" + - limitsKey: "amd.com/gpu" + uiName: "AMD" # Values: "" or a `limits-key` from the vendors list vendor: "" readOnly: false @@ -129,6 +131,62 @@ data: # - default-editor value: [] readOnly: false + affinityConfig: + # The default `configKey` from the options list + # If readonly, the default value will be the only option + value: "none" + # The list of available affinity configs + options: + - configKey: "none" + displayName: "None" + affinity: {} + # # (DESC) Pod gets an exclusive "n1-standard-2" Node + # # (TIP) set PreferNoSchedule taint on this node-pool + # # (TIP) enable cluster-autoscaler on this node-pool + # # (TIP) dont let users request more CPU/MEMORY than the size of this node + # - configKey: "exclusive__n1-standard-2" + # displayName: "Exclusive: n1-standard-2" + # affinity: + # # (Require) Node having label: `node_pool=notebook-n1-standard-2` + # nodeAffinity: + # requiredDuringSchedulingIgnoredDuringExecution: + # nodeSelectorTerms: + # - matchExpressions: + # - key: "node_pool" + # operator: "In" + # values: + # - "notebook-n1-standard-2" + # # (Require) Node WITHOUT existing Pod having label: `notebook-name` + # podAntiAffinity: + # requiredDuringSchedulingIgnoredDuringExecution: + # - labelSelector: + # matchExpressions: + # - key: "notebook-name" + # operator: "Exists" + # namespaces: [] + # topologyKey: "kubernetes.io/hostname" + readOnly: false + tolerationGroup: + # The default `groupKey` from the options list + # If readonly, the default value will be the only option + value: "none" + # The list of available tolerationGroup configs + options: + - groupKey: "none" + displayName: "None" + tolerations: [] + # - groupKey: "group_1" + # displayName: "Group 1: description" + # tolerations: + # - key: "key1" + # operator: "Equal" + # value: "value1" + # effect: "NoSchedule" + # - key: "key2" + # operator: "Equal" + # value: "value2" + # effect: "NoSchedule" + readOnly: false kind: ConfigMap metadata: labels: diff --git a/tests/stacks/ibm/application/notebooks/test_data/expected/~g_v1_configmap_jupyter-web-app-jupyter-web-app-config.yaml b/tests/stacks/ibm/application/notebooks/test_data/expected/~g_v1_configmap_jupyter-web-app-jupyter-web-app-config.yaml index 60115c258f..ade4339387 100644 --- a/tests/stacks/ibm/application/notebooks/test_data/expected/~g_v1_configmap_jupyter-web-app-jupyter-web-app-config.yaml +++ b/tests/stacks/ibm/application/notebooks/test_data/expected/~g_v1_configmap_jupyter-web-app-jupyter-web-app-config.yaml @@ -116,6 +116,8 @@ data: vendors: - limitsKey: "nvidia.com/gpu" uiName: "NVIDIA" + - limitsKey: "amd.com/gpu" + uiName: "AMD" # Values: "" or a `limits-key` from the vendors list vendor: "" readOnly: false @@ -129,6 +131,62 @@ data: # - default-editor value: [] readOnly: false + affinityConfig: + # The default `configKey` from the options list + # If readonly, the default value will be the only option + value: "none" + # The list of available affinity configs + options: + - configKey: "none" + displayName: "None" + affinity: {} + # # (DESC) Pod gets an exclusive "n1-standard-2" Node + # # (TIP) set PreferNoSchedule taint on this node-pool + # # (TIP) enable cluster-autoscaler on this node-pool + # # (TIP) dont let users request more CPU/MEMORY than the size of this node + # - configKey: "exclusive__n1-standard-2" + # displayName: "Exclusive: n1-standard-2" + # affinity: + # # (Require) Node having label: `node_pool=notebook-n1-standard-2` + # nodeAffinity: + # requiredDuringSchedulingIgnoredDuringExecution: + # nodeSelectorTerms: + # - matchExpressions: + # - key: "node_pool" + # operator: "In" + # values: + # - "notebook-n1-standard-2" + # # (Require) Node WITHOUT existing Pod having label: `notebook-name` + # podAntiAffinity: + # requiredDuringSchedulingIgnoredDuringExecution: + # - labelSelector: + # matchExpressions: + # - key: "notebook-name" + # operator: "Exists" + # namespaces: [] + # topologyKey: "kubernetes.io/hostname" + readOnly: false + tolerationGroup: + # The default `groupKey` from the options list + # If readonly, the default value will be the only option + value: "none" + # The list of available tolerationGroup configs + options: + - groupKey: "none" + displayName: "None" + tolerations: [] + # - groupKey: "group_1" + # displayName: "Group 1: description" + # tolerations: + # - key: "key1" + # operator: "Equal" + # value: "value1" + # effect: "NoSchedule" + # - key: "key2" + # operator: "Equal" + # value: "value2" + # effect: "NoSchedule" + readOnly: false kind: ConfigMap metadata: labels: diff --git a/tests/stacks/ibm/multi-user/test_data/expected/~g_v1_configmap_jupyter-web-app-jupyter-web-app-config.yaml b/tests/stacks/ibm/multi-user/test_data/expected/~g_v1_configmap_jupyter-web-app-jupyter-web-app-config.yaml index 60115c258f..ade4339387 100644 --- a/tests/stacks/ibm/multi-user/test_data/expected/~g_v1_configmap_jupyter-web-app-jupyter-web-app-config.yaml +++ b/tests/stacks/ibm/multi-user/test_data/expected/~g_v1_configmap_jupyter-web-app-jupyter-web-app-config.yaml @@ -116,6 +116,8 @@ data: vendors: - limitsKey: "nvidia.com/gpu" uiName: "NVIDIA" + - limitsKey: "amd.com/gpu" + uiName: "AMD" # Values: "" or a `limits-key` from the vendors list vendor: "" readOnly: false @@ -129,6 +131,62 @@ data: # - default-editor value: [] readOnly: false + affinityConfig: + # The default `configKey` from the options list + # If readonly, the default value will be the only option + value: "none" + # The list of available affinity configs + options: + - configKey: "none" + displayName: "None" + affinity: {} + # # (DESC) Pod gets an exclusive "n1-standard-2" Node + # # (TIP) set PreferNoSchedule taint on this node-pool + # # (TIP) enable cluster-autoscaler on this node-pool + # # (TIP) dont let users request more CPU/MEMORY than the size of this node + # - configKey: "exclusive__n1-standard-2" + # displayName: "Exclusive: n1-standard-2" + # affinity: + # # (Require) Node having label: `node_pool=notebook-n1-standard-2` + # nodeAffinity: + # requiredDuringSchedulingIgnoredDuringExecution: + # nodeSelectorTerms: + # - matchExpressions: + # - key: "node_pool" + # operator: "In" + # values: + # - "notebook-n1-standard-2" + # # (Require) Node WITHOUT existing Pod having label: `notebook-name` + # podAntiAffinity: + # requiredDuringSchedulingIgnoredDuringExecution: + # - labelSelector: + # matchExpressions: + # - key: "notebook-name" + # operator: "Exists" + # namespaces: [] + # topologyKey: "kubernetes.io/hostname" + readOnly: false + tolerationGroup: + # The default `groupKey` from the options list + # If readonly, the default value will be the only option + value: "none" + # The list of available tolerationGroup configs + options: + - groupKey: "none" + displayName: "None" + tolerations: [] + # - groupKey: "group_1" + # displayName: "Group 1: description" + # tolerations: + # - key: "key1" + # operator: "Equal" + # value: "value1" + # effect: "NoSchedule" + # - key: "key2" + # operator: "Equal" + # value: "value2" + # effect: "NoSchedule" + readOnly: false kind: ConfigMap metadata: labels: diff --git a/tests/stacks/ibm/test_data/expected/~g_v1_configmap_jupyter-web-app-jupyter-web-app-config.yaml b/tests/stacks/ibm/test_data/expected/~g_v1_configmap_jupyter-web-app-jupyter-web-app-config.yaml index 60115c258f..ade4339387 100644 --- a/tests/stacks/ibm/test_data/expected/~g_v1_configmap_jupyter-web-app-jupyter-web-app-config.yaml +++ b/tests/stacks/ibm/test_data/expected/~g_v1_configmap_jupyter-web-app-jupyter-web-app-config.yaml @@ -116,6 +116,8 @@ data: vendors: - limitsKey: "nvidia.com/gpu" uiName: "NVIDIA" + - limitsKey: "amd.com/gpu" + uiName: "AMD" # Values: "" or a `limits-key` from the vendors list vendor: "" readOnly: false @@ -129,6 +131,62 @@ data: # - default-editor value: [] readOnly: false + affinityConfig: + # The default `configKey` from the options list + # If readonly, the default value will be the only option + value: "none" + # The list of available affinity configs + options: + - configKey: "none" + displayName: "None" + affinity: {} + # # (DESC) Pod gets an exclusive "n1-standard-2" Node + # # (TIP) set PreferNoSchedule taint on this node-pool + # # (TIP) enable cluster-autoscaler on this node-pool + # # (TIP) dont let users request more CPU/MEMORY than the size of this node + # - configKey: "exclusive__n1-standard-2" + # displayName: "Exclusive: n1-standard-2" + # affinity: + # # (Require) Node having label: `node_pool=notebook-n1-standard-2` + # nodeAffinity: + # requiredDuringSchedulingIgnoredDuringExecution: + # nodeSelectorTerms: + # - matchExpressions: + # - key: "node_pool" + # operator: "In" + # values: + # - "notebook-n1-standard-2" + # # (Require) Node WITHOUT existing Pod having label: `notebook-name` + # podAntiAffinity: + # requiredDuringSchedulingIgnoredDuringExecution: + # - labelSelector: + # matchExpressions: + # - key: "notebook-name" + # operator: "Exists" + # namespaces: [] + # topologyKey: "kubernetes.io/hostname" + readOnly: false + tolerationGroup: + # The default `groupKey` from the options list + # If readonly, the default value will be the only option + value: "none" + # The list of available tolerationGroup configs + options: + - groupKey: "none" + displayName: "None" + tolerations: [] + # - groupKey: "group_1" + # displayName: "Group 1: description" + # tolerations: + # - key: "key1" + # operator: "Equal" + # value: "value1" + # effect: "NoSchedule" + # - key: "key2" + # operator: "Equal" + # value: "value2" + # effect: "NoSchedule" + readOnly: false kind: ConfigMap metadata: labels: diff --git a/tests/stacks/kubernetes/test_data/expected/apps_v1_deployment_jupyter-web-app-deployment.yaml b/tests/stacks/kubernetes/test_data/expected/apps_v1_deployment_jupyter-web-app-deployment.yaml index 2219a633fc..3ed1cf7155 100644 --- a/tests/stacks/kubernetes/test_data/expected/apps_v1_deployment_jupyter-web-app-deployment.yaml +++ b/tests/stacks/kubernetes/test_data/expected/apps_v1_deployment_jupyter-web-app-deployment.yaml @@ -42,5 +42,5 @@ spec: serviceAccountName: jupyter-web-app-service-account volumes: - configMap: - name: jupyter-web-app-jupyter-web-app-config-dhcbh64467 + name: jupyter-web-app-jupyter-web-app-config-8kcgd8t8th name: config-volume diff --git a/tests/stacks/kubernetes/test_data/expected/~g_v1_configmap_jupyter-web-app-jupyter-web-app-config-dhcbh64467.yaml b/tests/stacks/kubernetes/test_data/expected/~g_v1_configmap_jupyter-web-app-jupyter-web-app-config-8kcgd8t8th.yaml similarity index 68% rename from tests/stacks/kubernetes/test_data/expected/~g_v1_configmap_jupyter-web-app-jupyter-web-app-config-dhcbh64467.yaml rename to tests/stacks/kubernetes/test_data/expected/~g_v1_configmap_jupyter-web-app-jupyter-web-app-config-8kcgd8t8th.yaml index 685cf43f45..43cdcb8de3 100644 --- a/tests/stacks/kubernetes/test_data/expected/~g_v1_configmap_jupyter-web-app-jupyter-web-app-config-dhcbh64467.yaml +++ b/tests/stacks/kubernetes/test_data/expected/~g_v1_configmap_jupyter-web-app-jupyter-web-app-config-8kcgd8t8th.yaml @@ -116,6 +116,8 @@ data: vendors: - limitsKey: "nvidia.com/gpu" uiName: "NVIDIA" + - limitsKey: "amd.com/gpu" + uiName: "AMD" # Values: "" or a `limits-key` from the vendors list vendor: "" readOnly: false @@ -129,10 +131,66 @@ data: # - default-editor value: [] readOnly: false + affinityConfig: + # The default `configKey` from the options list + # If readonly, the default value will be the only option + value: "none" + # The list of available affinity configs + options: + - configKey: "none" + displayName: "None" + affinity: {} + # # (DESC) Pod gets an exclusive "n1-standard-2" Node + # # (TIP) set PreferNoSchedule taint on this node-pool + # # (TIP) enable cluster-autoscaler on this node-pool + # # (TIP) dont let users request more CPU/MEMORY than the size of this node + # - configKey: "exclusive__n1-standard-2" + # displayName: "Exclusive: n1-standard-2" + # affinity: + # # (Require) Node having label: `node_pool=notebook-n1-standard-2` + # nodeAffinity: + # requiredDuringSchedulingIgnoredDuringExecution: + # nodeSelectorTerms: + # - matchExpressions: + # - key: "node_pool" + # operator: "In" + # values: + # - "notebook-n1-standard-2" + # # (Require) Node WITHOUT existing Pod having label: `notebook-name` + # podAntiAffinity: + # requiredDuringSchedulingIgnoredDuringExecution: + # - labelSelector: + # matchExpressions: + # - key: "notebook-name" + # operator: "Exists" + # namespaces: [] + # topologyKey: "kubernetes.io/hostname" + readOnly: false + tolerationGroup: + # The default `groupKey` from the options list + # If readonly, the default value will be the only option + value: "none" + # The list of available tolerationGroup configs + options: + - groupKey: "none" + displayName: "None" + tolerations: [] + # - groupKey: "group_1" + # displayName: "Group 1: description" + # tolerations: + # - key: "key1" + # operator: "Equal" + # value: "value1" + # effect: "NoSchedule" + # - key: "key2" + # operator: "Equal" + # value: "value2" + # effect: "NoSchedule" + readOnly: false kind: ConfigMap metadata: labels: app: jupyter-web-app kustomize.component: jupyter-web-app - name: jupyter-web-app-jupyter-web-app-config-dhcbh64467 + name: jupyter-web-app-jupyter-web-app-config-8kcgd8t8th namespace: kubeflow diff --git a/tests/tests/legacy_kustomizations/jupyter-web-app/test_data/expected/~g_v1_configmap_jupyter-web-app-jupyter-web-app-config.yaml b/tests/tests/legacy_kustomizations/jupyter-web-app/test_data/expected/~g_v1_configmap_jupyter-web-app-jupyter-web-app-config.yaml index 09059e0a1e..c8c91f4417 100644 --- a/tests/tests/legacy_kustomizations/jupyter-web-app/test_data/expected/~g_v1_configmap_jupyter-web-app-jupyter-web-app-config.yaml +++ b/tests/tests/legacy_kustomizations/jupyter-web-app/test_data/expected/~g_v1_configmap_jupyter-web-app-jupyter-web-app-config.yaml @@ -116,6 +116,8 @@ data: vendors: - limitsKey: "nvidia.com/gpu" uiName: "NVIDIA" + - limitsKey: "amd.com/gpu" + uiName: "AMD" # Values: "" or a `limits-key` from the vendors list vendor: "" readOnly: false @@ -129,6 +131,62 @@ data: # - default-editor value: [] readOnly: false + affinityConfig: + # The default `configKey` from the options list + # If readonly, the default value will be the only option + value: "none" + # The list of available affinity configs + options: + - configKey: "none" + displayName: "None" + affinity: {} + # # (DESC) Pod gets an exclusive "n1-standard-2" Node + # # (TIP) set PreferNoSchedule taint on this node-pool + # # (TIP) enable cluster-autoscaler on this node-pool + # # (TIP) dont let users request more CPU/MEMORY than the size of this node + # - configKey: "exclusive__n1-standard-2" + # displayName: "Exclusive: n1-standard-2" + # affinity: + # # (Require) Node having label: `node_pool=notebook-n1-standard-2` + # nodeAffinity: + # requiredDuringSchedulingIgnoredDuringExecution: + # nodeSelectorTerms: + # - matchExpressions: + # - key: "node_pool" + # operator: "In" + # values: + # - "notebook-n1-standard-2" + # # (Require) Node WITHOUT existing Pod having label: `notebook-name` + # podAntiAffinity: + # requiredDuringSchedulingIgnoredDuringExecution: + # - labelSelector: + # matchExpressions: + # - key: "notebook-name" + # operator: "Exists" + # namespaces: [] + # topologyKey: "kubernetes.io/hostname" + readOnly: false + tolerationGroup: + # The default `groupKey` from the options list + # If readonly, the default value will be the only option + value: "none" + # The list of available tolerationGroup configs + options: + - groupKey: "none" + displayName: "None" + tolerations: [] + # - groupKey: "group_1" + # displayName: "Group 1: description" + # tolerations: + # - key: "key1" + # operator: "Equal" + # value: "value1" + # effect: "NoSchedule" + # - key: "key2" + # operator: "Equal" + # value: "value2" + # effect: "NoSchedule" + readOnly: false kind: ConfigMap metadata: labels: