-
Notifications
You must be signed in to change notification settings - Fork 876
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Updated and tested Seldon Core 1.15.0 #2326
Merged
google-oss-prow
merged 33 commits into
kubeflow:master
from
axsaucedo:upgrade-seldon-1-15-0
Dec 1, 2022
Merged
Changes from all commits
Commits
Show all changes
33 commits
Select commit
Hold shift + click to select a range
371944c
Updated and tested Seldon Core 1.15.0
axsaucedo 093e9b8
Added testing section
axsaucedo df88a5d
Added upgrading reference
axsaucedo 43d5ab3
Added automated test
axsaucedo 7d3c120
Added automated tests and documentation
axsaucedo 1bee9af
Added upgrade documentation
axsaucedo 8571418
Added description of product
axsaucedo 969c855
Updated contrib to ensure group maps correctly
axsaucedo 0fa1236
Added updated instructions for non-linux
axsaucedo a58a044
Added gh action for seldon test
axsaucedo c214ec2
Added gh action for seldon test
axsaucedo 8efc369
Added description of product
axsaucedo adac982
Updating path for kind
axsaucedo 1dbd88f
Updating path for kind
axsaucedo 441da77
Updating path for kind
axsaucedo ab1f9d1
Added kind cluster and rebase
axsaucedo 56a402e
Updated back to running kind script
axsaucedo 5f73b6d
Fixed typo
axsaucedo c204f63
Updated to include latest manifests
axsaucedo 5ff592a
Create namespace if not exists
axsaucedo e9dd11b
Adding certmanager
axsaucedo 9ce1d9d
Added namespaces
axsaucedo 28b0504
Added waiting for resources
axsaucedo b0fe651
Updating to path
axsaucedo e274072
Added wait for condition
axsaucedo dee4068
Added wait for condition
axsaucedo 5d0d952
Added wait for condition
axsaucedo e139864
Added wait for condition
axsaucedo 1adf573
Added wait for condition
axsaucedo c0fbcf6
Added 1.24 kind tests plus note in the readme
axsaucedo 9d60727
Extending timeout of wait for
axsaucedo 5cf6a0e
Update contrib/seldon/README.md
axsaucedo b2f1f79
Reverted update on readme
axsaucedo File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
name: Build & Apply Seldon manifests in KinD | ||
on: | ||
pull_request: | ||
paths: | ||
- contrib/seldon/** | ||
|
||
jobs: | ||
build: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v3 | ||
|
||
- name: Install KinD | ||
run: ./tests/gh-actions/install_kind.sh | ||
|
||
- name: Create KinD Cluster | ||
run: kind create cluster --config tests/gh-actions/kind-cluster-1-24.yaml | ||
|
||
- name: Install kustomize | ||
run: ./tests/gh-actions/install_kustomize.sh | ||
|
||
- name: Install Istio | ||
run: ./tests/gh-actions/install_istio.sh | ||
|
||
- name: Install cert-manager | ||
run: ./tests/gh-actions/install_cert_manager.sh | ||
|
||
- name: Build & Apply manifests | ||
run: | | ||
cd contrib/seldon/ | ||
make test |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,26 +1,44 @@ | ||
|
||
# Copy values.yaml from desired seldon-core release and modify | ||
# If updating values.yaml | ||
# certManager: true | ||
# Istio.enabled: true | ||
# istio gateway | ||
# kubeflow: true | ||
|
||
# Presently need to remove generated status field from resources.yaml file manually | ||
SELDON_VERSION ?= 1.15.0 | ||
|
||
seldon-core-operator/base: clean-kustomize | ||
mkdir -p seldon-core-operator/base | ||
cd seldon-core-operator/base && helm template -f ../../values.yaml seldon-core seldon-core-operator --repo https://storage.googleapis.com/seldon-charts --namespace kubeflow --version 1.6.0 > resources.yaml | ||
#kfctl strangeness means these variables don't always get resolved see https://github.com/kubeflow/manifests/issues/1660 | ||
#sed -i 's#cert-manager.io/inject-ca-from:.*#cert-manager.io/inject-ca-from: $$(CERTIFICATE_NAMESPACE)/$$(CERTIFICATE_NAME)#g' seldon-core-operator/base/resources.yaml | ||
cd seldon-core-operator/base && helm template -f ../../values.yaml seldon-core seldon-core-operator --repo https://storage.googleapis.com/seldon-charts --namespace kubeflow --version ${SELDON_VERSION} > resources.yaml | ||
sed -i 's#cert-manager.io/inject-ca-from:.*#cert-manager.io/inject-ca-from: kubeflow/seldon-serving-cert#g' seldon-core-operator/base/resources.yaml | ||
sed -i "s#'seldon-webhook-service.kubeflow.svc.cluster.local'#"'$$(SERVICE_NAME).$$(SERVICE_NAMESPACE).svc.cluster.local#' seldon-core-operator/base/resources.yaml | ||
sed -i "s#commonName: 'seldon-webhook-service.kubeflow.svc'#"'commonName: $$(SERVICE_NAME).$$(CERTIFICATE_NAMESPACE).svc#' seldon-core-operator/base/resources.yaml | ||
sed -i "s#'seldon-webhook-service.kubeflow.svc'#"'$$(SERVICE_NAME).$$(SERVICE_NAMESPACE).svc#' seldon-core-operator/base/resources.yaml | ||
sed -i "s#'seldon-webhook-service.kubeflow.svc.cluster.local'#"'seldon-webhook-service.$$(SERVICE_NAMESPACE).svc.cluster.local#' seldon-core-operator/base/resources.yaml | ||
axsaucedo marked this conversation as resolved.
Show resolved
Hide resolved
|
||
sed -i "s#commonName: 'seldon-webhook-service.kubeflow.svc'#"'commonName: seldon-webhook-service.$$(CERTIFICATE_NAMESPACE).svc#' seldon-core-operator/base/resources.yaml | ||
sed -i "s#'seldon-webhook-service.kubeflow.svc'#"'seldon-webhook-service.$$(SERVICE_NAMESPACE).svc#' seldon-core-operator/base/resources.yaml | ||
sed -i 's#kubeflow/kubeflow-gateway#$$(SERVICE_NAMESPACE)/kubeflow-gateway#' seldon-core-operator/base/resources.yaml | ||
cp kustomization.tpl seldon-core-operator/base/kustomization.yaml | ||
cp kustomizeconfig.tpl seldon-core-operator/base/kustomizeconfig.yaml | ||
|
||
.PHONY:clean-kustomize | ||
clean-kustomize: | ||
rm -rf seldon-core-operator/base | ||
|
||
test: | ||
kimwnasptd marked this conversation as resolved.
Show resolved
Hide resolved
|
||
# Create seldon namespace | ||
kubectl create namespace seldon || echo "seldon namespace exists" | ||
# Create kubeflow namespace if not exists | ||
kubectl create namespace kubeflow || echo "kubeflow namespace exists" | ||
# Creating resources | ||
kustomize build seldon-core-operator/base | kubectl apply -n kubeflow -f - | ||
# Waiting for resources | ||
kubectl wait --for condition=Available -n kubeflow deployment/seldon-controller-manager | ||
# Wait for manager resources to be created | ||
sleep 5 | ||
# Create example deployment | ||
kubectl apply -n seldon -f example.yaml | ||
# Wait for manager resources to be created | ||
sleep 5 | ||
kubectl get deploy -A | ||
sleep 5 | ||
kubectl logs -n kubeflow deployment/seldon-controller-manager | ||
sleep 5 | ||
kubectl get deploy -A | ||
# Wait for deployment | ||
kubectl wait --for condition=Available -n seldon deployment/echo-default-0-classifier --timeout=360s | ||
# Remove deployment | ||
kubectl delete -n seldon -f example.yaml | ||
# Cleaning resources | ||
kustomize build seldon-core-operator/base | kubectl delete -n kubeflow -f - |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
# Upgrading Documentation | ||
axsaucedo marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
## Updating manifests | ||
|
||
In order to update manifests make sure you are running the commands in linux. | ||
|
||
If you are running in another OS, please make sure to update the Makefile commands. | ||
|
||
You can refresh the configuration by running: | ||
|
||
``` | ||
make seldon-core-operator/base | ||
``` | ||
|
||
## Updating to specific version | ||
|
||
Upgrading the version can be done by setting the `SELDON_VERSION` environment variable, such as: | ||
|
||
``` | ||
# Set the desired version | ||
export SELDON_VERSION=1.14.0 | ||
|
||
# Rebuild the kustomize base | ||
make seldon-core-operator/base | ||
|
||
# Run new manifests against cluster | ||
kustomize build seldon-core-operator/base | kubectl apply -f - | ||
``` | ||
|
||
## Instructions for breaking changes | ||
|
||
The [core upgrading docs](https://docs.seldon.io/projects/seldon-core/en/latest/reference/upgrading.html.) provide step by step overview of breaking changes across minor and patch versions. | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
apiVersion: machinelearning.seldon.io/v1 | ||
kind: SeldonDeployment | ||
metadata: | ||
name: echo | ||
spec: | ||
predictors: | ||
- name: default | ||
graph: | ||
name: classifier | ||
type: MODEL | ||
componentSpecs: | ||
- spec: | ||
containers: | ||
- image: seldonio/echo-model:1.15.0-dev | ||
name: classifier |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
17 changes: 0 additions & 17 deletions
17
contrib/seldon/seldon-core-operator/base/kubeflow-edit-seldon.yaml
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this should be okay for now, but @kimwnasptd we should think about other ways to trigger
/contrib
tests in the future and not just trigger based on changes to thecontrib/seldon
directory.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Was thinking the same thing! We could probably use the
workflow_dispatch
event as well in these workflows, to be able to manually trigger them https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#workflow_dispatchLet's play around with this more once we have the components update their manifests and have some basic tests in place.