From a7316889f2b3bbe529e8cbabc33ff1e9f6a432fb Mon Sep 17 00:00:00 2001 From: Kimonas Sotirchos Date: Wed, 16 Feb 2022 17:10:07 +0200 Subject: [PATCH] Cherry-picks for v1.5-branch before cutting RC1 (#2138) * tests: Scripts for e2e tests (#2128) * remove old test files Signed-off-by: Kimonas Sotirchos * gitignore: Don't track pyc files Signed-off-by: Kimonas Sotirchos * flake8: Introduce linting file Signed-off-by: Kimonas Sotirchos * hack: Introduce scripts for cluster manipulation Signed-off-by: Kimonas Sotirchos * tests: Add e2e test Signed-off-by: Kimonas Sotirchos * GH action for running e2e test Signed-off-by: Kimonas Sotirchos * Reduce the installed components and system reqs Signed-off-by: Kimonas Sotirchos * kserve: Add simple kustomization file To avoid having to use --load_restrictor none we'll need to wrap the KServe manifests inside a kustomization.yaml file. Signed-off-by: Kimonas Sotirchos * unittests: Fix unit tests Signed-off-by: Kimonas Sotirchos * gh: Remove action for e2e tests We should use prow instead to trigger our e2e tests. Signed-off-by: Kimonas Sotirchos * Add networkpolicies under /contrib/networkpolicies (#2121) * Create .gitkeep * Add files via upload * Create OWNERS * Create README.md * Delete default-deny-not-istio-system.yaml * Create default-allow-same-namespace.yaml * Create centraldashboard.yaml * Create jupyter-web-app.yaml * Create katib-ui.yaml * Create kfserving-models-web-app.yaml * Create ml-pipeline-ui.yaml * Update ml-pipeline.yaml * Create volumes-web-app.yaml * Update kustomization.yaml * Update OWNERS * Sync kubeflow pipelines manifests 1.8.0 rc.2 (#2131) * hack: Update pipelines sync script to change README Signed-off-by: Kimonas Sotirchos * Update kubeflow/pipelines manifests from 1.8.0-rc.2 * Sync kubeflow kubeflow manifests v1.5.0 rc.1 (#2134) * hack: Sync README for kubeflow/kubeflow sync-script Extend the sync-script for kubeflow/kubeflow to also update the components versions in the readme. Signed-off-by: Kimonas Sotirchos * Update kubeflow/kubeflow manifests from v1.5.0-rc.1 * Sync kserve/models-web-app manifests (#2135) * kserve: Rename from upstream to kserve We will be including both kserve/kserve and kserve/models-web-app into the manifests, so the names will need to reflect this. Signed-off-by: Kimonas Sotirchos * kserve: Add manifests for the models-web-app Include the MWA manifests from the v0.7.0 tag. https://github.com/kserve/models-web-app/tree/v0.7.0 Signed-off-by: Kimonas Sotirchos * kserve: Include both kserve and mwa manifests Signed-off-by: Kimonas Sotirchos * Update kubeflow/kfp-tekton manifests from v1.1.1 (#2141) * hack: Update tekton script to edit README The hack script for updating the kfp-tekton manifests should also be updating the README file as well. Signed-off-by: Kimonas Sotirchos * Update kubeflow/kfp-tekton manifests from v1.1.1 * Update manifests for Katib v0.13.0-rc.1 release (#2139) * Update manifests for Katib v0.13.0-rc.1 release * Change README * readme: Remove MPI reference and add ingress distributions link (#2143) * Closes #1963 * Remove unused MPI reference (PR #2119) * Update kubeflow/pipelines manifests from 1.8.0 (#2144) Signed-off-by: Kimonas Sotirchos * hack: Don't error if namespace kubeflow exists (#2140) The helper setup scripts should not error when the namespaces already exist. Signed-off-by: Kimonas Sotirchos Co-authored-by: juliusvonkohout <45896133+juliusvonkohout@users.noreply.github.com> Co-authored-by: Andrey Velichkevich Co-authored-by: a9p <58503488+a9p@users.noreply.github.com> --- .../upstream/base/kustomization.yaml | 6 +++ .../upstream/base/kustomization.yaml | 6 +++ .../base/configs/spawner_ui_config.yaml | 25 ++++++++++ .../upstream/base/kustomization.yaml | 6 +++ .../upstream/base/kustomization.yaml | 6 +++ .../components/controller/katib-config.yaml | 46 +++++++++++++++++++ .../controller/trial-templates.yaml | 18 ++++++++ .../katib-cert-manager/kustomization.yaml | 10 ++++ .../katib-external-db/kustomization.yaml | 13 ++++++ .../katib-openshift/kustomization.yaml | 10 ++++ .../katib-standalone/kustomization.yaml | 13 ++++++ .../katib-with-kubeflow/kustomization.yaml | 10 ++++ .../base/cache-deployer/kustomization.yaml | 4 ++ .../upstream/base/cache/kustomization.yaml | 4 ++ .../upstream/base/pipeline/kustomization.yaml | 17 +++++++ .../tekton-custom-task/kustomization.yaml | 6 +++ .../base/cache-deployer/kustomization.yaml | 4 ++ .../upstream/base/cache/kustomization.yaml | 4 ++ .../generic/pipeline-install-config.yaml | 4 ++ .../base/metadata/base/kustomization.yaml | 4 ++ .../upstream/base/pipeline/kustomization.yaml | 14 ++++++ .../metadata-writer/kustomization.yaml | 4 ++ .../env/gcp/inverse-proxy/kustomization.yaml | 4 ++ .../profiles/upstream/base/kustomization.yaml | 6 +++ .../overlays/kubeflow/kustomization.yaml | 6 +++ .../upstream/base/kustomization.yaml | 31 +++++++++++++ .../upstream/base/kustomization.yaml | 6 +++ .../upstream/base/kustomization.yaml | 6 +++ contrib/kserve/kserve/kustomization.yaml | 9 +++- .../models-web-app/base/deployment.yaml | 2 + .../overlays/kubeflow/kustomization.yaml | 2 + .../kubeflow/patches/web-app-vsvc.yaml | 1 + .../kfserving-models-web-app.yaml | 22 +++++++++ contrib/networkpolicies/kfserving.yaml | 21 +++++++++ contrib/networkpolicies/minio.yaml | 2 + example/kustomization.yaml | 3 ++ hack/kind-cluster-1-20.yaml | 23 ++++++++++ hack/kind-cluster-1-21.yaml | 23 ++++++++++ hack/setup-kubeflow-light.sh | 15 +++++- tests/README.md | 7 +++ tests/e2e/README.md | 4 ++ tests/e2e/hack/cleanup_yamls.sh | 1 + tests/e2e/mnist.py | 1 - tests/e2e/utils/kfserving.py | 29 ++++++++++++ 44 files changed, 455 insertions(+), 3 deletions(-) create mode 100644 contrib/networkpolicies/kfserving-models-web-app.yaml create mode 100644 contrib/networkpolicies/kfserving.yaml create mode 100644 hack/kind-cluster-1-20.yaml create mode 100644 hack/kind-cluster-1-21.yaml create mode 100644 tests/e2e/utils/kfserving.py diff --git a/apps/admission-webhook/upstream/base/kustomization.yaml b/apps/admission-webhook/upstream/base/kustomization.yaml index 4c382cc87e..a0199b3473 100644 --- a/apps/admission-webhook/upstream/base/kustomization.yaml +++ b/apps/admission-webhook/upstream/base/kustomization.yaml @@ -14,8 +14,14 @@ commonLabels: app.kubernetes.io/component: poddefaults app.kubernetes.io/name: poddefaults images: +<<<<<<< HEAD - name: docker.io/kubeflownotebookswg/poddefaults-webhook newTag: v1.6.0-rc.1 +======= +- name: public.ecr.aws/j1r0q0g6/notebooks/admission-webhook + newName: public.ecr.aws/j1r0q0g6/notebooks/admission-webhook + newTag: v1.5.0-rc.1 +>>>>>>> 9195ebfb (Cherry-picks for v1.5-branch before cutting RC1 (#2138)) namespace: kubeflow generatorOptions: disableNameSuffixHash: true diff --git a/apps/centraldashboard/upstream/base/kustomization.yaml b/apps/centraldashboard/upstream/base/kustomization.yaml index 220ca23ec5..d15af247f4 100644 --- a/apps/centraldashboard/upstream/base/kustomization.yaml +++ b/apps/centraldashboard/upstream/base/kustomization.yaml @@ -16,8 +16,14 @@ commonLabels: app.kubernetes.io/component: centraldashboard app.kubernetes.io/name: centraldashboard images: +<<<<<<< HEAD - name: docker.io/kubeflownotebookswg/centraldashboard newTag: v1.6.0-rc.1 +======= +- name: public.ecr.aws/j1r0q0g6/notebooks/central-dashboard + newName: public.ecr.aws/j1r0q0g6/notebooks/central-dashboard + newTag: v1.5.0-rc.1 +>>>>>>> 9195ebfb (Cherry-picks for v1.5-branch before cutting RC1 (#2138)) configMapGenerator: - envs: - params.env diff --git a/apps/jupyter/jupyter-web-app/upstream/base/configs/spawner_ui_config.yaml b/apps/jupyter/jupyter-web-app/upstream/base/configs/spawner_ui_config.yaml index 21b3dac6ac..5340fcc1f3 100644 --- a/apps/jupyter/jupyter-web-app/upstream/base/configs/spawner_ui_config.yaml +++ b/apps/jupyter/jupyter-web-app/upstream/base/configs/spawner_ui_config.yaml @@ -17,6 +17,7 @@ spawnerFormDefaults: image: # The container Image for the user's Jupyter Notebook +<<<<<<< HEAD value: kubeflownotebookswg/jupyter-scipy:v1.6.0-rc.1 # The list of available standard container Images options: @@ -25,15 +26,32 @@ spawnerFormDefaults: - kubeflownotebookswg/jupyter-pytorch-cuda-full:v1.6.0-rc.1 - kubeflownotebookswg/jupyter-tensorflow-full:v1.6.0-rc.1 - kubeflownotebookswg/jupyter-tensorflow-cuda-full:v1.6.0-rc.1 +======= + value: public.ecr.aws/j1r0q0g6/notebooks/notebook-servers/jupyter-scipy:v1.5.0-rc.1 + # The list of available standard container Images + options: + - public.ecr.aws/j1r0q0g6/notebooks/notebook-servers/jupyter-scipy:v1.5.0-rc.1 + - public.ecr.aws/j1r0q0g6/notebooks/notebook-servers/jupyter-pytorch-full:v1.5.0-rc.1 + - public.ecr.aws/j1r0q0g6/notebooks/notebook-servers/jupyter-pytorch-cuda-full:v1.5.0-rc.1 + - public.ecr.aws/j1r0q0g6/notebooks/notebook-servers/jupyter-tensorflow-full:v1.5.0-rc.1 + - public.ecr.aws/j1r0q0g6/notebooks/notebook-servers/jupyter-tensorflow-cuda-full:v1.5.0-rc.1 +>>>>>>> 9195ebfb (Cherry-picks for v1.5-branch before cutting RC1 (#2138)) imageGroupOne: # The container Image for the user's Group One Server # The annotation `notebooks.kubeflow.org/http-rewrite-uri: /` # is applied to notebook in this group, configuring # the Istio rewrite for containers that host their web UI at `/` +<<<<<<< HEAD value: kubeflownotebookswg/codeserver-python:v1.6.0-rc.1 # The list of available standard container Images options: - kubeflownotebookswg/codeserver-python:v1.6.0-rc.1 +======= + value: public.ecr.aws/j1r0q0g6/notebooks/notebook-servers/codeserver-python:v1.5.0-rc.1 + # The list of available standard container Images + options: + - public.ecr.aws/j1r0q0g6/notebooks/notebook-servers/codeserver-python:v1.5.0-rc.1 +>>>>>>> 9195ebfb (Cherry-picks for v1.5-branch before cutting RC1 (#2138)) imageGroupTwo: # The container Image for the user's Group Two Server # The annotation `notebooks.kubeflow.org/http-rewrite-uri: /` @@ -42,10 +60,17 @@ spawnerFormDefaults: # The annotation `notebooks.kubeflow.org/http-headers-request-set` # is applied to notebook in this group, configuring Istio # to add the `X-RStudio-Root-Path` header to requests +<<<<<<< HEAD value: kubeflownotebookswg/rstudio-tidyverse:v1.6.0-rc.1 # The list of available standard container Images options: - kubeflownotebookswg/rstudio-tidyverse:v1.6.0-rc.1 +======= + value: public.ecr.aws/j1r0q0g6/notebooks/notebook-servers/rstudio-tidyverse:v1.5.0-rc.1 + # The list of available standard container Images + options: + - public.ecr.aws/j1r0q0g6/notebooks/notebook-servers/rstudio-tidyverse:v1.5.0-rc.1 +>>>>>>> 9195ebfb (Cherry-picks for v1.5-branch before cutting RC1 (#2138)) # If true, hide registry and/or tag name in the image selection dropdown hideRegistry: true hideTag: false diff --git a/apps/jupyter/jupyter-web-app/upstream/base/kustomization.yaml b/apps/jupyter/jupyter-web-app/upstream/base/kustomization.yaml index 6d5f355861..0ab6270e56 100644 --- a/apps/jupyter/jupyter-web-app/upstream/base/kustomization.yaml +++ b/apps/jupyter/jupyter-web-app/upstream/base/kustomization.yaml @@ -21,8 +21,14 @@ commonLabels: app: jupyter-web-app kustomize.component: jupyter-web-app images: +<<<<<<< HEAD - name: docker.io/kubeflownotebookswg/jupyter-web-app newTag: v1.6.0-rc.1 +======= +- name: public.ecr.aws/j1r0q0g6/notebooks/jupyter-web-app + newName: public.ecr.aws/j1r0q0g6/notebooks/jupyter-web-app + newTag: v1.5.0-rc.1 +>>>>>>> 9195ebfb (Cherry-picks for v1.5-branch before cutting RC1 (#2138)) # We need the name to be unique without the suffix because the original name is what # gets used with patches configMapGenerator: diff --git a/apps/jupyter/notebook-controller/upstream/base/kustomization.yaml b/apps/jupyter/notebook-controller/upstream/base/kustomization.yaml index 6f1213aec4..39339fffc9 100644 --- a/apps/jupyter/notebook-controller/upstream/base/kustomization.yaml +++ b/apps/jupyter/notebook-controller/upstream/base/kustomization.yaml @@ -3,5 +3,11 @@ kind: Kustomization resources: - ../default images: +<<<<<<< HEAD - name: docker.io/kubeflownotebookswg/notebook-controller newTag: v1.6.0-rc.1 +======= +- name: public.ecr.aws/j1r0q0g6/notebooks/notebook-controller + newName: public.ecr.aws/j1r0q0g6/notebooks/notebook-controller + newTag: v1.5.0-rc.1 +>>>>>>> 9195ebfb (Cherry-picks for v1.5-branch before cutting RC1 (#2138)) diff --git a/apps/katib/upstream/components/controller/katib-config.yaml b/apps/katib/upstream/components/controller/katib-config.yaml index 786514f0ba..e3b868b893 100644 --- a/apps/katib/upstream/components/controller/katib-config.yaml +++ b/apps/katib/upstream/components/controller/katib-config.yaml @@ -8,6 +8,7 @@ data: metrics-collector-sidecar: |- { "StdOut": { +<<<<<<< HEAD "image": "docker.io/kubeflowkatib/file-metrics-collector:v0.14.0-rc.0" }, "File": { @@ -15,6 +16,15 @@ data: }, "TensorFlowEvent": { "image": "docker.io/kubeflowkatib/tfevent-metrics-collector:v0.14.0-rc.0", +======= + "image": "docker.io/kubeflowkatib/file-metrics-collector:v0.13.0-rc.1" + }, + "File": { + "image": "docker.io/kubeflowkatib/file-metrics-collector:v0.13.0-rc.1" + }, + "TensorFlowEvent": { + "image": "docker.io/kubeflowkatib/tfevent-metrics-collector:v0.13.0-rc.1", +>>>>>>> 9195ebfb (Cherry-picks for v1.5-branch before cutting RC1 (#2138)) "resources": { "limits": { "memory": "1Gi" @@ -25,6 +35,7 @@ data: suggestion: |- { "random": { +<<<<<<< HEAD "image": "docker.io/kubeflowkatib/suggestion-hyperopt:v0.14.0-rc.0" }, "tpe": { @@ -50,6 +61,33 @@ data: }, "enas": { "image": "docker.io/kubeflowkatib/suggestion-enas:v0.14.0-rc.0", +======= + "image": "docker.io/kubeflowkatib/suggestion-hyperopt:v0.13.0-rc.1" + }, + "tpe": { + "image": "docker.io/kubeflowkatib/suggestion-hyperopt:v0.13.0-rc.1" + }, + "grid": { + "image": "docker.io/kubeflowkatib/suggestion-chocolate:v0.13.0-rc.1" + }, + "hyperband": { + "image": "docker.io/kubeflowkatib/suggestion-hyperband:v0.13.0-rc.1" + }, + "bayesianoptimization": { + "image": "docker.io/kubeflowkatib/suggestion-skopt:v0.13.0-rc.1" + }, + "cmaes": { + "image": "docker.io/kubeflowkatib/suggestion-goptuna:v0.13.0-rc.1" + }, + "sobol": { + "image": "docker.io/kubeflowkatib/suggestion-goptuna:v0.13.0-rc.1" + }, + "multivariate-tpe": { + "image": "docker.io/kubeflowkatib/suggestion-optuna:v0.13.0-rc.1" + }, + "enas": { + "image": "docker.io/kubeflowkatib/suggestion-enas:v0.13.0-rc.1", +>>>>>>> 9195ebfb (Cherry-picks for v1.5-branch before cutting RC1 (#2138)) "resources": { "limits": { "memory": "200Mi" @@ -57,6 +95,7 @@ data: } }, "darts": { +<<<<<<< HEAD "image": "docker.io/kubeflowkatib/suggestion-darts:v0.14.0-rc.0" }, "pbt": { @@ -71,11 +110,18 @@ data: } } } +======= + "image": "docker.io/kubeflowkatib/suggestion-darts:v0.13.0-rc.1" +>>>>>>> 9195ebfb (Cherry-picks for v1.5-branch before cutting RC1 (#2138)) } } early-stopping: |- { "medianstop": { +<<<<<<< HEAD "image": "docker.io/kubeflowkatib/earlystopping-medianstop:v0.14.0-rc.0" +======= + "image": "docker.io/kubeflowkatib/earlystopping-medianstop:v0.13.0-rc.1" +>>>>>>> 9195ebfb (Cherry-picks for v1.5-branch before cutting RC1 (#2138)) } } diff --git a/apps/katib/upstream/components/controller/trial-templates.yaml b/apps/katib/upstream/components/controller/trial-templates.yaml index d7a4820d2d..d38e6772be 100644 --- a/apps/katib/upstream/components/controller/trial-templates.yaml +++ b/apps/katib/upstream/components/controller/trial-templates.yaml @@ -15,7 +15,11 @@ data: spec: containers: - name: training-container +<<<<<<< HEAD image: docker.io/kubeflowkatib/mxnet-mnist:v0.14.0-rc.0 +======= + image: docker.io/kubeflowkatib/mxnet-mnist:v0.13.0-rc.1 +>>>>>>> 9195ebfb (Cherry-picks for v1.5-branch before cutting RC1 (#2138)) command: - "python3" - "/opt/mxnet-mnist/mnist.py" @@ -33,7 +37,11 @@ data: spec: containers: - name: training-container +<<<<<<< HEAD image: docker.io/kubeflowkatib/enas-cnn-cifar10-cpu:v0.14.0-rc.0 +======= + image: docker.io/kubeflowkatib/enas-cnn-cifar10-cpu:v0.13.0-rc.1 +>>>>>>> 9195ebfb (Cherry-picks for v1.5-branch before cutting RC1 (#2138)) command: - python3 - -u @@ -54,7 +62,12 @@ data: spec: containers: - name: pytorch +<<<<<<< HEAD image: docker.io/kubeflowkatib/pytorch-mnist:v0.14.0-rc.0 +======= + image: docker.io/kubeflowkatib/pytorch-mnist:v0.13.0-rc.1 + imagePullPolicy: Always +>>>>>>> 9195ebfb (Cherry-picks for v1.5-branch before cutting RC1 (#2138)) command: - "python3" - "/opt/pytorch-mnist/mnist.py" @@ -68,7 +81,12 @@ data: spec: containers: - name: pytorch +<<<<<<< HEAD image: docker.io/kubeflowkatib/pytorch-mnist:v0.14.0-rc.0 +======= + image: docker.io/kubeflowkatib/pytorch-mnist:v0.13.0-rc.1 + imagePullPolicy: Always +>>>>>>> 9195ebfb (Cherry-picks for v1.5-branch before cutting RC1 (#2138)) command: - "python3" - "/opt/pytorch-mnist/mnist.py" diff --git a/apps/katib/upstream/installs/katib-cert-manager/kustomization.yaml b/apps/katib/upstream/installs/katib-cert-manager/kustomization.yaml index b5cf0d2470..31dc323bf0 100644 --- a/apps/katib/upstream/installs/katib-cert-manager/kustomization.yaml +++ b/apps/katib/upstream/installs/katib-cert-manager/kustomization.yaml @@ -22,6 +22,7 @@ resources: images: - name: docker.io/kubeflowkatib/katib-controller newName: docker.io/kubeflowkatib/katib-controller +<<<<<<< HEAD newTag: v0.14.0-rc.0 - name: docker.io/kubeflowkatib/katib-db-manager newName: docker.io/kubeflowkatib/katib-db-manager @@ -29,6 +30,15 @@ images: - name: docker.io/kubeflowkatib/katib-ui newName: docker.io/kubeflowkatib/katib-ui newTag: v0.14.0-rc.0 +======= + newTag: v0.13.0-rc.1 + - name: docker.io/kubeflowkatib/katib-db-manager + newName: docker.io/kubeflowkatib/katib-db-manager + newTag: v0.13.0-rc.1 + - name: docker.io/kubeflowkatib/katib-ui + newName: docker.io/kubeflowkatib/katib-ui + newTag: v0.13.0-rc.1 +>>>>>>> 9195ebfb (Cherry-picks for v1.5-branch before cutting RC1 (#2138)) patchesStrategicMerge: - patches/katib-cert-injection.yaml diff --git a/apps/katib/upstream/installs/katib-external-db/kustomization.yaml b/apps/katib/upstream/installs/katib-external-db/kustomization.yaml index 43644ff60a..507f0734b3 100644 --- a/apps/katib/upstream/installs/katib-external-db/kustomization.yaml +++ b/apps/katib/upstream/installs/katib-external-db/kustomization.yaml @@ -20,6 +20,7 @@ resources: images: - name: docker.io/kubeflowkatib/katib-controller newName: docker.io/kubeflowkatib/katib-controller +<<<<<<< HEAD newTag: v0.14.0-rc.0 - name: docker.io/kubeflowkatib/katib-db-manager newName: docker.io/kubeflowkatib/katib-db-manager @@ -30,6 +31,18 @@ images: - name: docker.io/kubeflowkatib/cert-generator newName: docker.io/kubeflowkatib/cert-generator newTag: v0.14.0-rc.0 +======= + newTag: v0.13.0-rc.1 + - name: docker.io/kubeflowkatib/katib-db-manager + newName: docker.io/kubeflowkatib/katib-db-manager + newTag: v0.13.0-rc.1 + - name: docker.io/kubeflowkatib/katib-ui + newName: docker.io/kubeflowkatib/katib-ui + newTag: v0.13.0-rc.1 + - name: docker.io/kubeflowkatib/cert-generator + newName: docker.io/kubeflowkatib/cert-generator + newTag: v0.13.0-rc.1 +>>>>>>> 9195ebfb (Cherry-picks for v1.5-branch before cutting RC1 (#2138)) patchesStrategicMerge: - patches/db-manager.yaml # Modify katib-mysql-secrets with parameters for the DB. diff --git a/apps/katib/upstream/installs/katib-openshift/kustomization.yaml b/apps/katib/upstream/installs/katib-openshift/kustomization.yaml index fd913980d4..5f7719a11b 100644 --- a/apps/katib/upstream/installs/katib-openshift/kustomization.yaml +++ b/apps/katib/upstream/installs/katib-openshift/kustomization.yaml @@ -30,6 +30,7 @@ resources: images: - name: docker.io/kubeflowkatib/katib-controller newName: docker.io/kubeflowkatib/katib-controller +<<<<<<< HEAD newTag: v0.14.0-rc.0 - name: docker.io/kubeflowkatib/katib-db-manager newName: docker.io/kubeflowkatib/katib-db-manager @@ -37,6 +38,15 @@ images: - name: docker.io/kubeflowkatib/katib-ui newName: docker.io/kubeflowkatib/katib-ui newTag: v0.14.0-rc.0 +======= + newTag: v0.13.0-rc.1 + - name: docker.io/kubeflowkatib/katib-db-manager + newName: docker.io/kubeflowkatib/katib-db-manager + newTag: v0.13.0-rc.1 + - name: docker.io/kubeflowkatib/katib-ui + newName: docker.io/kubeflowkatib/katib-ui + newTag: v0.13.0-rc.1 +>>>>>>> 9195ebfb (Cherry-picks for v1.5-branch before cutting RC1 (#2138)) patchesJson6902: # Annotate Service to delegate TLS-secret generation to OpenShift service controller diff --git a/apps/katib/upstream/installs/katib-standalone/kustomization.yaml b/apps/katib/upstream/installs/katib-standalone/kustomization.yaml index 6ec2269afe..ffc85ad8ac 100644 --- a/apps/katib/upstream/installs/katib-standalone/kustomization.yaml +++ b/apps/katib/upstream/installs/katib-standalone/kustomization.yaml @@ -22,6 +22,7 @@ resources: images: - name: docker.io/kubeflowkatib/katib-controller newName: docker.io/kubeflowkatib/katib-controller +<<<<<<< HEAD newTag: v0.14.0-rc.0 - name: docker.io/kubeflowkatib/katib-db-manager newName: docker.io/kubeflowkatib/katib-db-manager @@ -32,3 +33,15 @@ images: - name: docker.io/kubeflowkatib/cert-generator newName: docker.io/kubeflowkatib/cert-generator newTag: v0.14.0-rc.0 +======= + newTag: v0.13.0-rc.1 + - name: docker.io/kubeflowkatib/katib-db-manager + newName: docker.io/kubeflowkatib/katib-db-manager + newTag: v0.13.0-rc.1 + - name: docker.io/kubeflowkatib/katib-ui + newName: docker.io/kubeflowkatib/katib-ui + newTag: v0.13.0-rc.1 + - name: docker.io/kubeflowkatib/cert-generator + newName: docker.io/kubeflowkatib/cert-generator + newTag: v0.13.0-rc.1 +>>>>>>> 9195ebfb (Cherry-picks for v1.5-branch before cutting RC1 (#2138)) diff --git a/apps/katib/upstream/installs/katib-with-kubeflow/kustomization.yaml b/apps/katib/upstream/installs/katib-with-kubeflow/kustomization.yaml index f10c361565..b4030a6639 100644 --- a/apps/katib/upstream/installs/katib-with-kubeflow/kustomization.yaml +++ b/apps/katib/upstream/installs/katib-with-kubeflow/kustomization.yaml @@ -10,6 +10,7 @@ resources: images: - name: docker.io/kubeflowkatib/katib-controller newName: docker.io/kubeflowkatib/katib-controller +<<<<<<< HEAD newTag: v0.14.0-rc.0 - name: docker.io/kubeflowkatib/katib-db-manager newName: docker.io/kubeflowkatib/katib-db-manager @@ -17,6 +18,15 @@ images: - name: docker.io/kubeflowkatib/katib-ui newName: docker.io/kubeflowkatib/katib-ui newTag: v0.14.0-rc.0 +======= + newTag: v0.13.0-rc.1 + - name: docker.io/kubeflowkatib/katib-db-manager + newName: docker.io/kubeflowkatib/katib-db-manager + newTag: v0.13.0-rc.1 + - name: docker.io/kubeflowkatib/katib-ui + newName: docker.io/kubeflowkatib/katib-ui + newTag: v0.13.0-rc.1 +>>>>>>> 9195ebfb (Cherry-picks for v1.5-branch before cutting RC1 (#2138)) patchesStrategicMerge: - patches/remove-namespace.yaml diff --git a/apps/kfp-tekton/upstream/base/cache-deployer/kustomization.yaml b/apps/kfp-tekton/upstream/base/cache-deployer/kustomization.yaml index 949fe6300d..234eeccdf2 100644 --- a/apps/kfp-tekton/upstream/base/cache-deployer/kustomization.yaml +++ b/apps/kfp-tekton/upstream/base/cache-deployer/kustomization.yaml @@ -10,4 +10,8 @@ commonLabels: app: cache-deployer images: - name: gcr.io/ml-pipeline/cache-deployer +<<<<<<< HEAD newTag: 1.8.1 +======= + newTag: 1.8.0-rc.3 +>>>>>>> 9195ebfb (Cherry-picks for v1.5-branch before cutting RC1 (#2138)) diff --git a/apps/kfp-tekton/upstream/base/cache/kustomization.yaml b/apps/kfp-tekton/upstream/base/cache/kustomization.yaml index 8e3a0d7bfa..3b166e4b09 100644 --- a/apps/kfp-tekton/upstream/base/cache/kustomization.yaml +++ b/apps/kfp-tekton/upstream/base/cache/kustomization.yaml @@ -11,4 +11,8 @@ commonLabels: images: - name: gcr.io/ml-pipeline/cache-server newName: docker.io/aipipeline/cache-server +<<<<<<< HEAD newTag: 1.2.1 +======= + newTag: 1.1.1 +>>>>>>> 9195ebfb (Cherry-picks for v1.5-branch before cutting RC1 (#2138)) diff --git a/apps/kfp-tekton/upstream/base/pipeline/kustomization.yaml b/apps/kfp-tekton/upstream/base/pipeline/kustomization.yaml index 52d43a533f..a2518e1d24 100644 --- a/apps/kfp-tekton/upstream/base/pipeline/kustomization.yaml +++ b/apps/kfp-tekton/upstream/base/pipeline/kustomization.yaml @@ -43,6 +43,7 @@ patchesStrategicMerge: images: - name: gcr.io/ml-pipeline/api-server newName: docker.io/aipipeline/api-server +<<<<<<< HEAD newTag: 1.2.1 - name: gcr.io/ml-pipeline/persistenceagent newName: docker.io/aipipeline/persistenceagent @@ -53,10 +54,26 @@ images: - name: gcr.io/ml-pipeline/frontend newName: docker.io/aipipeline/frontend newTag: 1.2.1 +======= + newTag: 1.1.1 + - name: gcr.io/ml-pipeline/persistenceagent + newName: docker.io/aipipeline/persistenceagent + newTag: 1.1.1 + - name: gcr.io/ml-pipeline/scheduledworkflow + newName: docker.io/aipipeline/scheduledworkflow + newTag: 1.1.1 + - name: gcr.io/ml-pipeline/frontend + newName: docker.io/aipipeline/frontend + newTag: 1.1.1 +>>>>>>> 9195ebfb (Cherry-picks for v1.5-branch before cutting RC1 (#2138)) - name: gcr.io/ml-pipeline/viewer-crd-controller newTag: 1.8.1 - name: gcr.io/ml-pipeline/visualization-server newTag: 1.8.1 - name: gcr.io/ml-pipeline/metadata-writer newName: docker.io/aipipeline/metadata-writer +<<<<<<< HEAD newTag: 1.2.1 +======= + newTag: 1.1.1 +>>>>>>> 9195ebfb (Cherry-picks for v1.5-branch before cutting RC1 (#2138)) diff --git a/apps/kfp-tekton/upstream/third-party/tekton-custom-task/kustomization.yaml b/apps/kfp-tekton/upstream/third-party/tekton-custom-task/kustomization.yaml index a3bd083211..f9e4f613ec 100644 --- a/apps/kfp-tekton/upstream/third-party/tekton-custom-task/kustomization.yaml +++ b/apps/kfp-tekton/upstream/third-party/tekton-custom-task/kustomization.yaml @@ -8,6 +8,12 @@ namespace: tekton-pipelines images: - name: docker.io/aipipeline/pipelineloop-controller +<<<<<<< HEAD newTag: 1.2.1 - name: docker.io/aipipeline/pipelineloop-webhook newTag: 1.2.1 +======= + newTag: 1.1.1 + - name: docker.io/aipipeline/pipelineloop-webhook + newTag: 1.1.1 +>>>>>>> 9195ebfb (Cherry-picks for v1.5-branch before cutting RC1 (#2138)) diff --git a/apps/pipeline/upstream/base/cache-deployer/kustomization.yaml b/apps/pipeline/upstream/base/cache-deployer/kustomization.yaml index 912d6c290d..ff0d99d8cd 100644 --- a/apps/pipeline/upstream/base/cache-deployer/kustomization.yaml +++ b/apps/pipeline/upstream/base/cache-deployer/kustomization.yaml @@ -8,4 +8,8 @@ commonLabels: app: cache-deployer images: - name: gcr.io/ml-pipeline/cache-deployer +<<<<<<< HEAD newTag: 2.0.0-alpha.3 +======= + newTag: 1.8.0 +>>>>>>> 9195ebfb (Cherry-picks for v1.5-branch before cutting RC1 (#2138)) diff --git a/apps/pipeline/upstream/base/cache/kustomization.yaml b/apps/pipeline/upstream/base/cache/kustomization.yaml index ed3f731ac9..2295a3514c 100644 --- a/apps/pipeline/upstream/base/cache/kustomization.yaml +++ b/apps/pipeline/upstream/base/cache/kustomization.yaml @@ -10,4 +10,8 @@ commonLabels: app: cache-server images: - name: gcr.io/ml-pipeline/cache-server +<<<<<<< HEAD newTag: 2.0.0-alpha.3 +======= + newTag: 1.8.0 +>>>>>>> 9195ebfb (Cherry-picks for v1.5-branch before cutting RC1 (#2138)) diff --git a/apps/pipeline/upstream/base/installs/generic/pipeline-install-config.yaml b/apps/pipeline/upstream/base/installs/generic/pipeline-install-config.yaml index 7f77cd404d..bcb912b920 100644 --- a/apps/pipeline/upstream/base/installs/generic/pipeline-install-config.yaml +++ b/apps/pipeline/upstream/base/installs/generic/pipeline-install-config.yaml @@ -11,7 +11,11 @@ data: until the changes take effect. A quick way to restart all deployments in a namespace: `kubectl rollout restart deployment -n `. appName: pipeline +<<<<<<< HEAD appVersion: 2.0.0-alpha.3 +======= + appVersion: 1.8.0 +>>>>>>> 9195ebfb (Cherry-picks for v1.5-branch before cutting RC1 (#2138)) dbHost: mysql dbPort: "3306" mlmdDb: metadb diff --git a/apps/pipeline/upstream/base/metadata/base/kustomization.yaml b/apps/pipeline/upstream/base/metadata/base/kustomization.yaml index 7f57134927..34d63b0130 100644 --- a/apps/pipeline/upstream/base/metadata/base/kustomization.yaml +++ b/apps/pipeline/upstream/base/metadata/base/kustomization.yaml @@ -9,4 +9,8 @@ resources: - metadata-grpc-sa.yaml images: - name: gcr.io/ml-pipeline/metadata-envoy +<<<<<<< HEAD newTag: 2.0.0-alpha.3 +======= + newTag: 1.8.0 +>>>>>>> 9195ebfb (Cherry-picks for v1.5-branch before cutting RC1 (#2138)) diff --git a/apps/pipeline/upstream/base/pipeline/kustomization.yaml b/apps/pipeline/upstream/base/pipeline/kustomization.yaml index 38a66d0114..0ae0705403 100644 --- a/apps/pipeline/upstream/base/pipeline/kustomization.yaml +++ b/apps/pipeline/upstream/base/pipeline/kustomization.yaml @@ -37,6 +37,7 @@ resources: - kfp-launcher-configmap.yaml images: - name: gcr.io/ml-pipeline/api-server +<<<<<<< HEAD newTag: 2.0.0-alpha.3 - name: gcr.io/ml-pipeline/persistenceagent newTag: 2.0.0-alpha.3 @@ -48,3 +49,16 @@ images: newTag: 2.0.0-alpha.3 - name: gcr.io/ml-pipeline/visualization-server newTag: 2.0.0-alpha.3 +======= + newTag: 1.8.0 + - name: gcr.io/ml-pipeline/persistenceagent + newTag: 1.8.0 + - name: gcr.io/ml-pipeline/scheduledworkflow + newTag: 1.8.0 + - name: gcr.io/ml-pipeline/frontend + newTag: 1.8.0 + - name: gcr.io/ml-pipeline/viewer-crd-controller + newTag: 1.8.0 + - name: gcr.io/ml-pipeline/visualization-server + newTag: 1.8.0 +>>>>>>> 9195ebfb (Cherry-picks for v1.5-branch before cutting RC1 (#2138)) diff --git a/apps/pipeline/upstream/base/pipeline/metadata-writer/kustomization.yaml b/apps/pipeline/upstream/base/pipeline/metadata-writer/kustomization.yaml index 4bbe387cfd..a759b0c01d 100644 --- a/apps/pipeline/upstream/base/pipeline/metadata-writer/kustomization.yaml +++ b/apps/pipeline/upstream/base/pipeline/metadata-writer/kustomization.yaml @@ -7,4 +7,8 @@ resources: - metadata-writer-sa.yaml images: - name: gcr.io/ml-pipeline/metadata-writer +<<<<<<< HEAD newTag: 2.0.0-alpha.3 +======= + newTag: 1.8.0 +>>>>>>> 9195ebfb (Cherry-picks for v1.5-branch before cutting RC1 (#2138)) diff --git a/apps/pipeline/upstream/env/gcp/inverse-proxy/kustomization.yaml b/apps/pipeline/upstream/env/gcp/inverse-proxy/kustomization.yaml index 32d425c474..d8e56f7487 100644 --- a/apps/pipeline/upstream/env/gcp/inverse-proxy/kustomization.yaml +++ b/apps/pipeline/upstream/env/gcp/inverse-proxy/kustomization.yaml @@ -2,7 +2,11 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization images: - name: gcr.io/ml-pipeline/inverse-proxy-agent +<<<<<<< HEAD newTag: 2.0.0-alpha.3 +======= + newTag: 1.8.0 +>>>>>>> 9195ebfb (Cherry-picks for v1.5-branch before cutting RC1 (#2138)) resources: - proxy-configmap.yaml - proxy-deployment.yaml diff --git a/apps/profiles/upstream/base/kustomization.yaml b/apps/profiles/upstream/base/kustomization.yaml index 48d7e6c3d7..b7b8de6ef4 100644 --- a/apps/profiles/upstream/base/kustomization.yaml +++ b/apps/profiles/upstream/base/kustomization.yaml @@ -10,8 +10,14 @@ patchesStrategicMerge: - patches/manager.yaml images: +<<<<<<< HEAD - name: docker.io/kubeflownotebookswg/profile-controller newTag: v1.6.0-rc.1 +======= +- name: public.ecr.aws/j1r0q0g6/notebooks/profile-controller + newName: public.ecr.aws/j1r0q0g6/notebooks/profile-controller + newTag: v1.5.0-rc.1 +>>>>>>> 9195ebfb (Cherry-picks for v1.5-branch before cutting RC1 (#2138)) configMapGenerator: - name: namespace-labels-data diff --git a/apps/profiles/upstream/overlays/kubeflow/kustomization.yaml b/apps/profiles/upstream/overlays/kubeflow/kustomization.yaml index e6bee083c1..46b22944e2 100644 --- a/apps/profiles/upstream/overlays/kubeflow/kustomization.yaml +++ b/apps/profiles/upstream/overlays/kubeflow/kustomization.yaml @@ -27,5 +27,11 @@ vars: apiVersion: v1 images: +<<<<<<< HEAD - name: docker.io/kubeflownotebookswg/kfam newTag: v1.6.0-rc.1 +======= +- name: public.ecr.aws/j1r0q0g6/notebooks/access-management + newName: public.ecr.aws/j1r0q0g6/notebooks/access-management + newTag: v1.5.0-rc.1 +>>>>>>> 9195ebfb (Cherry-picks for v1.5-branch before cutting RC1 (#2138)) diff --git a/apps/tensorboard/tensorboard-controller/upstream/base/kustomization.yaml b/apps/tensorboard/tensorboard-controller/upstream/base/kustomization.yaml index b20097ddda..94ca161c99 100644 --- a/apps/tensorboard/tensorboard-controller/upstream/base/kustomization.yaml +++ b/apps/tensorboard/tensorboard-controller/upstream/base/kustomization.yaml @@ -10,6 +10,37 @@ configMapGenerator: - ISTIO_GATEWAY=kubeflow/kubeflow-gateway patchesStrategicMerge: - patches/add_controller_config.yaml +<<<<<<< HEAD images: - name: docker.io/kubeflownotebookswg/tensorboard-controller newTag: v1.6.0-rc.1 +======= +- patches/add_service_account.yaml +patches: +- patch: | + apiVersion: rbac.authorization.k8s.io/v1 + kind: RoleBinding + metadata: + name: "*" + subjects: + - kind: ServiceAccount + name: tensorboard-controller + target: + kind: "RoleBinding" + group: "rbac.authorization.k8s.io" +- patch: | + apiVersion: rbac.authorization.k8s.io/v1 + kind: ClusterRoleBinding + metadata: + name: "*" + subjects: + - kind: ServiceAccount + name: tensorboard-controller + target: + kind: "ClusterRoleBinding" + group: "rbac.authorization.k8s.io" +images: +- name: public.ecr.aws/j1r0q0g6/notebooks/tensorboard-controller + newName: public.ecr.aws/j1r0q0g6/notebooks/tensorboard-controller + newTag: v1.5.0-rc.1 +>>>>>>> 9195ebfb (Cherry-picks for v1.5-branch before cutting RC1 (#2138)) diff --git a/apps/tensorboard/tensorboards-web-app/upstream/base/kustomization.yaml b/apps/tensorboard/tensorboards-web-app/upstream/base/kustomization.yaml index ff83819d1b..629c442581 100644 --- a/apps/tensorboard/tensorboards-web-app/upstream/base/kustomization.yaml +++ b/apps/tensorboard/tensorboards-web-app/upstream/base/kustomization.yaml @@ -12,8 +12,14 @@ commonLabels: app: tensorboards-web-app kustomize.component: tensorboards-web-app images: +<<<<<<< HEAD - name: docker.io/kubeflownotebookswg/tensorboards-web-app newTag: v1.6.0-rc.1 +======= +- name: public.ecr.aws/j1r0q0g6/notebooks/tensorboards-web-app + newName: public.ecr.aws/j1r0q0g6/notebooks/tensorboards-web-app + newTag: v1.5.0-rc.1 +>>>>>>> 9195ebfb (Cherry-picks for v1.5-branch before cutting RC1 (#2138)) # We need the name to be unique without the suffix because the original name is what # gets used with patches configMapGenerator: diff --git a/apps/volumes-web-app/upstream/base/kustomization.yaml b/apps/volumes-web-app/upstream/base/kustomization.yaml index 5e159ef82d..c017304caf 100644 --- a/apps/volumes-web-app/upstream/base/kustomization.yaml +++ b/apps/volumes-web-app/upstream/base/kustomization.yaml @@ -12,8 +12,14 @@ commonLabels: app: volumes-web-app kustomize.component: volumes-web-app images: +<<<<<<< HEAD - name: docker.io/kubeflownotebookswg/volumes-web-app newTag: v1.6.0-rc.1 +======= +- name: public.ecr.aws/j1r0q0g6/notebooks/volumes-web-app + newName: public.ecr.aws/j1r0q0g6/notebooks/volumes-web-app + newTag: v1.5.0-rc.1 +>>>>>>> 9195ebfb (Cherry-picks for v1.5-branch before cutting RC1 (#2138)) # We need the name to be unique without the suffix because the original name is what # gets used with patches configMapGenerator: diff --git a/contrib/kserve/kserve/kustomization.yaml b/contrib/kserve/kserve/kustomization.yaml index 3e4f20907c..9a048c6bd1 100644 --- a/contrib/kserve/kserve/kustomization.yaml +++ b/contrib/kserve/kserve/kustomization.yaml @@ -1,6 +1,7 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: +<<<<<<< HEAD # Install Kserve in kubeflow namespace - kserve_kubeflow.yaml @@ -14,4 +15,10 @@ resources: # namespace: kserve # behavior: merge # envs: -# - params.env \ No newline at end of file +# - params.env +======= +- kserve.yaml +# For KF 1.5 we are including both KFServing and KServe. Thus we install the +# standalone kserve manifests, to avoid conflicts with 0.6.1 KFServing. +#- kserve_kubeflow.yaml +>>>>>>> 9195ebfb (Cherry-picks for v1.5-branch before cutting RC1 (#2138)) diff --git a/contrib/kserve/models-web-app/base/deployment.yaml b/contrib/kserve/models-web-app/base/deployment.yaml index bc80897d19..140e4ca4ce 100644 --- a/contrib/kserve/models-web-app/base/deployment.yaml +++ b/contrib/kserve/models-web-app/base/deployment.yaml @@ -41,4 +41,6 @@ spec: timeoutSeconds: 1 failureThreshold: 3 successThreshold: 1 +======= +>>>>>>> 9195ebfb (Cherry-picks for v1.5-branch before cutting RC1 (#2138)) serviceAccountName: kserve-models-web-app diff --git a/contrib/kserve/models-web-app/overlays/kubeflow/kustomization.yaml b/contrib/kserve/models-web-app/overlays/kubeflow/kustomization.yaml index 18f0724c00..dca534d8e6 100644 --- a/contrib/kserve/models-web-app/overlays/kubeflow/kustomization.yaml +++ b/contrib/kserve/models-web-app/overlays/kubeflow/kustomization.yaml @@ -38,5 +38,7 @@ configMapGenerator: - USERID_HEADER=kubeflow-userid - APP_PREFIX=/kserve-endpoints +>>>>>>> 9195ebfb (Cherry-picks for v1.5-branch before cutting RC1 (#2138)) + configurations: - params.yaml diff --git a/contrib/kserve/models-web-app/overlays/kubeflow/patches/web-app-vsvc.yaml b/contrib/kserve/models-web-app/overlays/kubeflow/patches/web-app-vsvc.yaml index 22eaa9dbff..70f1ec6d2e 100644 --- a/contrib/kserve/models-web-app/overlays/kubeflow/patches/web-app-vsvc.yaml +++ b/contrib/kserve/models-web-app/overlays/kubeflow/patches/web-app-vsvc.yaml @@ -12,3 +12,4 @@ path: /spec/gateways value: - kubeflow/kubeflow-gateway + diff --git a/contrib/networkpolicies/kfserving-models-web-app.yaml b/contrib/networkpolicies/kfserving-models-web-app.yaml new file mode 100644 index 0000000000..b35a7e7872 --- /dev/null +++ b/contrib/networkpolicies/kfserving-models-web-app.yaml @@ -0,0 +1,22 @@ +kind: NetworkPolicy +apiVersion: networking.k8s.io/v1 +metadata: + name: kfserving-models-web-app + namespace: kubeflow +spec: + podSelector: + matchExpressions: + - key: app.kubernetes.io/component + operator: In + values: + - kfserving-models-web-app + ingress: + - from: + - namespaceSelector: + matchExpressions: + - key: kubernetes.io/metadata.name + operator: In + values: + - istio-system + policyTypes: + - Ingress diff --git a/contrib/networkpolicies/kfserving.yaml b/contrib/networkpolicies/kfserving.yaml new file mode 100644 index 0000000000..64b5b5e297 --- /dev/null +++ b/contrib/networkpolicies/kfserving.yaml @@ -0,0 +1,21 @@ + +kind: NetworkPolicy +apiVersion: networking.k8s.io/v1 +metadata: + name: kfserving + namespace: kubeflow +spec: + podSelector: + matchExpressions: + - key: control-plane + operator: In + values: + - kfserving-controller-manager # mutating webhook + # https://www.elastic.co/guide/en/cloud-on-k8s/1.1/k8s-webhook-network-policies.html + # The kubernetes api server must reach the webhook + ingress: + - ports: + - protocol: TCP + port: 9443 + policyTypes: + - Ingress diff --git a/contrib/networkpolicies/minio.yaml b/contrib/networkpolicies/minio.yaml index b307814773..00df651883 100644 --- a/contrib/networkpolicies/minio.yaml +++ b/contrib/networkpolicies/minio.yaml @@ -24,6 +24,8 @@ spec: operator: In values: - istio-system + +>>>>>>> 9195ebfb (Cherry-picks for v1.5-branch before cutting RC1 (#2138)) - podSelector: {} # allow all pods from the same namespace policyTypes: - Ingress diff --git a/example/kustomization.yaml b/example/kustomization.yaml index 34ba90e2af..a7c5398f4e 100644 --- a/example/kustomization.yaml +++ b/example/kustomization.yaml @@ -53,3 +53,6 @@ resources: # KServe - ../contrib/kserve/kserve - ../contrib/kserve/models-web-app/overlays/kubeflow +======= +- ../contrib/kserve/models-web-app/base +>>>>>>> 9195ebfb (Cherry-picks for v1.5-branch before cutting RC1 (#2138)) diff --git a/hack/kind-cluster-1-20.yaml b/hack/kind-cluster-1-20.yaml new file mode 100644 index 0000000000..b7e84dcedb --- /dev/null +++ b/hack/kind-cluster-1-20.yaml @@ -0,0 +1,23 @@ +# https://github.com/kubernetes-sigs/kind/issues/1954#issuecomment-737775492 +# https://github.com/istio/istio/blob/e02690fbfb8bda564582b27d22d9e8e6e00422a5/prow/config/trustworthy-jwt.yaml#L1-L13 +# This configs KinD to spin up a k8s cluster with trustworthy jwt (Service Account Token Volume Projection) feature. +kind: Cluster +apiVersion: kind.x-k8s.io/v1alpha4 +name: manifests-1-20 +nodes: +- role: control-plane + image: kindest/node:1.20.7@sha256:688fba5ce6b825be62a7c7fe1415b35da2bdfbb5a69227c499ea4cc0008661ca +- role: worker + image: kindest/node:1.20.7@sha256:688fba5ce6b825be62a7c7fe1415b35da2bdfbb5a69227c499ea4cc0008661ca +- role: worker + image: kindest/node:1.20.7@sha256:688fba5ce6b825be62a7c7fe1415b35da2bdfbb5a69227c499ea4cc0008661ca +kubeadmConfigPatches: + - | + apiVersion: kubeadm.k8s.io/v1beta2 + kind: ClusterConfiguration + metadata: + name: config + apiServer: + extraArgs: + "service-account-issuer": "kubernetes.default.svc" + "service-account-signing-key-file": "/etc/kubernetes/pki/sa.key" diff --git a/hack/kind-cluster-1-21.yaml b/hack/kind-cluster-1-21.yaml new file mode 100644 index 0000000000..4aa81ce7fb --- /dev/null +++ b/hack/kind-cluster-1-21.yaml @@ -0,0 +1,23 @@ +# https://github.com/kubernetes-sigs/kind/issues/1954#issuecomment-737775492 +# https://github.com/istio/istio/blob/e02690fbfb8bda564582b27d22d9e8e6e00422a5/prow/config/trustworthy-jwt.yaml#L1-L13 +# This configs KinD to spin up a k8s cluster with trustworthy jwt (Service Account Token Volume Projection) feature. +kind: Cluster +apiVersion: kind.x-k8s.io/v1alpha4 +name: manifests-1-21 +nodes: +- role: control-plane + image: kindest/node:1.21.2@sha256:19c2315068fd5951aa478ef7b9d1771572c8ea58fbfbf7bc81f7b153679d7a6c +- role: worker + image: kindest/node:1.21.2@sha256:19c2315068fd5951aa478ef7b9d1771572c8ea58fbfbf7bc81f7b153679d7a6c +- role: worker + image: kindest/node:1.21.2@sha256:19c2315068fd5951aa478ef7b9d1771572c8ea58fbfbf7bc81f7b153679d7a6c +kubeadmConfigPatches: + - | + apiVersion: kubeadm.k8s.io/v1beta2 + kind: ClusterConfiguration + metadata: + name: config + apiServer: + extraArgs: + "service-account-issuer": "kubernetes.default.svc" + "service-account-signing-key-file": "/etc/kubernetes/pki/sa.key" diff --git a/hack/setup-kubeflow-light.sh b/hack/setup-kubeflow-light.sh index 1be9fe80b0..8c08dcf44e 100755 --- a/hack/setup-kubeflow-light.sh +++ b/hack/setup-kubeflow-light.sh @@ -15,7 +15,6 @@ # limitations under the License. # This shell script is used to setup Kubeflow deployment. -set -euo pipefail TIMEOUT=600s # 10mins @@ -30,9 +29,15 @@ sleep 5 kubectl wait --timeout=${TIMEOUT} -n cert-manager --all --for=condition=Ready pod echo "Deploying Istio." +<<<<<<< HEAD kustomize build common/istio-1-14/istio-crds/base | kubectl apply -f - kustomize build common/istio-1-14/istio-namespace/base | kubectl apply -f - kustomize build common/istio-1-14/istio-install/base | kubectl apply -f - +======= +kustomize build common/istio-1-11/istio-crds/base | kubectl apply -f - +kustomize build common/istio-1-11/istio-namespace/base | kubectl apply -f - +kustomize build common/istio-1-11/istio-install/base | kubectl apply -f - +>>>>>>> 9195ebfb (Cherry-picks for v1.5-branch before cutting RC1 (#2138)) echo "Waiting for istio-system Pods to become ready..." sleep 5 @@ -50,7 +55,11 @@ do done kustomize build common/knative/knative-eventing/base | kubectl apply -f - +<<<<<<< HEAD kustomize build common/istio-1-14/cluster-local-gateway/base | kubectl apply -f - +======= +kustomize build common/istio-1-11/cluster-local-gateway/base | kubectl apply -f - +>>>>>>> 9195ebfb (Cherry-picks for v1.5-branch before cutting RC1 (#2138)) echo "Waiting for knative-serving Pods to become ready..." sleep 5 @@ -58,7 +67,11 @@ kubectl wait --timeout=${TIMEOUT} -n knative-serving --all --for=condition=Ready echo "Deploying KFP." function install_kfp { +<<<<<<< HEAD kustomize build apps/pipeline/upstream/env/cert-manager/platform-agnostic-multi-user | kubectl apply -f - --validate=false +======= + kustomize build apps/pipeline/upstream/env/platform-agnostic-multi-user | kubectl apply -f - --validate=false +>>>>>>> 9195ebfb (Cherry-picks for v1.5-branch before cutting RC1 (#2138)) } while ! install_kfp; diff --git a/tests/README.md b/tests/README.md index e4acd667c0..25a6d2d684 100644 --- a/tests/README.md +++ b/tests/README.md @@ -15,12 +15,19 @@ included in the tests. ### Test Suite +<<<<<<< HEAD **To use KFserving v0.5/0.6 instead of KServe v0.7, comment the 6,7th lines and uncomment the 10,11th lines here [e2e/utils/kserve.py](https://github.com/kubeflow/manifests/compare/master/tests/e2e/utils/kserve.py#L6-L11)** The e2e tests are completely independent of the underlying K8s cluster, as well as the platform of the cluster. These tests should be able to run in real world clusters, as well as ephemeral ones like KinD. +======= +The e2e tests are completely independent of the underlying K8s cluster, as well +as the platform of the cluster. These tests should be able to run in real +world clusters, as well as ephemeral ones like KinD. + +>>>>>>> 9195ebfb (Cherry-picks for v1.5-branch before cutting RC1 (#2138)) The tests are also explicitly bypassing any authentication system of the installation. The goal of these tests are to ensure that a common use case that deploys all of Kubeflow's components can succeed. Thus we only want to test diff --git a/tests/e2e/README.md b/tests/e2e/README.md index c009a3be7d..ccea63be9d 100644 --- a/tests/e2e/README.md +++ b/tests/e2e/README.md @@ -6,7 +6,11 @@ This test is using the following Kubeflow CRDs: 1. Kubeflow Pipelines 2. Katib Experiments 3. TFJobs +<<<<<<< HEAD 4. KServe InferenceServices +======= +4. KFServing InferenceServices +>>>>>>> 9195ebfb (Cherry-picks for v1.5-branch before cutting RC1 (#2138)) ## How to run diff --git a/tests/e2e/hack/cleanup_yamls.sh b/tests/e2e/hack/cleanup_yamls.sh index 3701fe21f3..24758c8f4f 100755 --- a/tests/e2e/hack/cleanup_yamls.sh +++ b/tests/e2e/hack/cleanup_yamls.sh @@ -14,3 +14,4 @@ kubectl delete experiments.kubeflow.org -n kubeflow-user-example-com mnist-e2e kubectl delete tfjobs.kubeflow.org -n kubeflow-user-example-com mnist-e2e kubectl delete inferenceservices.serving.kserve.io -n kubeflow-user-example-com mnist-e2e + diff --git a/tests/e2e/mnist.py b/tests/e2e/mnist.py index e5f4b6f5f1..30a4ee0055 100644 --- a/tests/e2e/mnist.py +++ b/tests/e2e/mnist.py @@ -40,7 +40,6 @@ def mnist_pipeline(name=settings.PIPELINE_NAME, # Create the KServe Inference kserve.create_serving_task(name, namespace, tfjob_op, - model_volume_op) if __name__ == "__main__": diff --git a/tests/e2e/utils/kfserving.py b/tests/e2e/utils/kfserving.py new file mode 100644 index 0000000000..366ff945d5 --- /dev/null +++ b/tests/e2e/utils/kfserving.py @@ -0,0 +1,29 @@ +from kfp import components + + +KFSERVING_URL = "https://raw.githubusercontent.com/kubeflow/pipelines/master/components/kubeflow/kfserving/component.yaml" + + +# You should define the model name, namespace, output of the TFJob and model +# volume tasks in the arguments. +def create_kfserving_task(model_name, model_namespace, tfjob_op, + model_volume_op): + inference_service = ''' +apiVersion: "serving.kubeflow.org/v1beta1" +kind: "InferenceService" +metadata: + name: {} + namespace: {} + annotations: + "sidecar.istio.io/inject": "false" +spec: + predictor: + tensorflow: + storageUri: "pvc://{}/" +'''.format(model_name, model_namespace, str(model_volume_op.outputs["name"])) + + kfserving_launcher_op = components.load_component_from_url(KFSERVING_URL) + kfserving_launcher_op( + action="create", + inferenceservice_yaml=inference_service, + ).after(tfjob_op)