Skip to content

Update kfserving manifests for v0.4.1#1575

Merged
k8s-ci-robot merged 4 commits into
kubeflow:masterfrom
pvaneck:update-kfserving
Nov 5, 2020
Merged

Update kfserving manifests for v0.4.1#1575
k8s-ci-robot merged 4 commits into
kubeflow:masterfrom
pvaneck:update-kfserving

Conversation

@pvaneck

@pvaneck pvaneck commented Oct 1, 2020

Copy link
Copy Markdown
Member

Which issue is resolved by this Pull Request:
Resolves kserve/kserve#1015

Description of your changes:
This follows the pattern used in pipelines/upstream where upstream contains the installation manifests from the source component repo. A script is provided to sync the upstream directory (i.e. kfserving/upstream) with the source repo target location. This should make future updates easier.

Essentially, the kfserving.yaml in this patch is the same as the one in https://github.com/kubeflow/kfserving/blob/master/install/v0.4.1/kfserving.yaml. The differences are the removal of the namespace object YAML and some post processing done by the pull script to change instances of kfserving-system to kubeflow. Also the status key from the CRD definition was removed to pass unit tests. This can probably be removed upstream.

Patches are also provided to get kfserving working in the kubeflow namespace.

Checklist:

  • Unit tests have been rebuilt:
    1. cd manifests/tests
    2. make generate-changed-only
    3. make test

@kubeflow-bot

Copy link
Copy Markdown
Contributor

This change is Reviewable

@k8s-ci-robot

Copy link
Copy Markdown
Contributor

Hi @pvaneck. Thanks for your PR.

I'm waiting for a kubeflow member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@pvaneck

pvaneck commented Oct 1, 2020

Copy link
Copy Markdown
Member Author

/assign @adrian555

@PatrickXYS

Copy link
Copy Markdown
Member

After manifest V3 changes, we now consider component's base folder as read-only legacy, can we move changes to base_v3 if there's no must-do reason to change base folder?

@pvaneck

pvaneck commented Oct 3, 2020

Copy link
Copy Markdown
Member Author

Hi @PatrickXYS. Want to double check. Are you saying that I should copy the resource YAMLs into base_v3 folders and reference those? I.e.:

kfserving/kfserving-install/base_v3
kfserving/kfserving-crds/base_v3

Looks like most other components' base_v3 folders only contain a kustomization.yaml file which reference YAMLs in the base directories. Not sure if the deviation from this pattern is intended. In Kfserving's case, looks like https://github.com/kubeflow/manifests/blob/master/kfserving/installs/generic/kustomization.yaml is the V3 manifest that references files in the relevant base directories.

@adrian555

adrian555 commented Oct 3, 2020

Copy link
Copy Markdown
Member

@pvaneck let's follow the pipeline/upstream model and create a kfserving/upstream directory. And update kfserving/install/generic to take resources from kfserving/upstream.

Also remember to run make generate followed by make test commands from tests directory for unit testing and commit the updated test data/file.

Thanks.

@PatrickXYS

Copy link
Copy Markdown
Member

/ok-to-test

@pvaneck

pvaneck commented Oct 9, 2020

Copy link
Copy Markdown
Member Author

Tested on a Minikube and IBM Cloud Kubernetes, and appears to work fine. Ran some inferences using Pytorch and sklearn. Currently validating on Openshift.

@PatrickXYS

Copy link
Copy Markdown
Member

I'm not sure if @kubeflow/kfserving-owners is aware of this, can you also take a look?

@animeshsingh

animeshsingh commented Oct 9, 2020

Copy link
Copy Markdown
Contributor

Thanks @pvaneck This looks great. Thanks @adrian555 for all the help reviewing i.

@yuzisun please take a look.
@pvaneck is going to be the focal point from IBM integrating KFServing in Kubeflow ecosystem moving forward.

One of the questions we have is that should we cut a minor release of KFServing (as there are couple of fixes we need from master for OpenShift). The next release of Kubeflow is coming soon in few weeks time-frame, so wanted to get your opinion on it.

@yuzisun

yuzisun commented Oct 12, 2020

Copy link
Copy Markdown
Member

@animeshsingh you might want to cherry pick the openshift fixes to release-0.4 branch at this point, we can then release 0.4.1 following this doc.


# Replace 'kfserving-system' namespace references with 'kubeflow'.
find kfserving/upstream -name 'kfserving.yaml' -exec \
sed -i.bak 's/kfserving-system/kubeflow/' {} +

@yuzisun yuzisun Oct 12, 2020

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@pvaneck @jazzsir recently added a kubeflow overlay in this PR to directly generate the KFServing release yaml for kubeflow installation.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh nice. I see that you will be potentially generating a kfserving_kubeflow.yaml in the next release? If so, then this can be removed.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@yuzisun who is testing that generated kubeflow overlay? with what versions? And in context of Kubeflow?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we would still need to test and integrate kubeflow for each release, if user can not wait for kubeflow release they can use the yaml KFServing generates but they are responsible for testing out in their setup

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@pvaneck for 0.4 release we still need your change to integrate kubeflow, we can clean up next time when we integrate 0.5.

if [ -d kfserving/upstream ]; then
rm -rf kfserving/upstream
fi
kpt pkg get $KFSERVING_SRC_REPO/install/$KFSERVING_VERSION kfserving/upstream

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just for my knowledge, what does kpt pkg command do ?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pretty much just syncs what is in the targeted kfserving repo directory with the local manifests directory. In this case, it just syncs whatever is in kfserving/install/v0.4.0. I am not particularly tied to this method as I was namely just following what was being done for pipelines. The idea here is that you just increment the value in the script then run it when a new version of kfserving is out, so it's more of a convenience method that can help get the latest kfserving yaml file. Ideally whatever is in the kfserving/upstream folder in this repo matches closely to what you have in the kfserving repo.

matchExpressions:
- key: control-plane
operator: DoesNotExist
objectSelector:

@yuzisun yuzisun Oct 12, 2020

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

just note that this moves the minimal kube requirement to 1.15, not exactly sure what's the min requirement for kubeflow now. It can still work with kube 1.14 but you would need the --validate=false to ignore the error.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yea, not quite sure either as the compatibility matrix here https://www.kubeflow.org/docs/started/k8s/overview/ doesn't seem to have been updated for 1.1.

@adrian555

Copy link
Copy Markdown
Member

/lgtm

@animeshsingh

Copy link
Copy Markdown
Contributor

@k8s-ci-robot k8s-ci-robot removed the lgtm label Oct 21, 2020
@pvaneck pvaneck changed the title Update kfserving manifests for v0.4.0 Update kfserving manifests for v0.4.1 Oct 21, 2020
@pvaneck

pvaneck commented Oct 21, 2020

Copy link
Copy Markdown
Member Author

@animeshsingh Updated to v0.4.1

@Jeffwan

Jeffwan commented Nov 4, 2020

Copy link
Copy Markdown
Member

@PatrickXYS Can you check test case? Seems it's pending and not abled to be scheduled.

@PatrickXYS

PatrickXYS commented Nov 4, 2020

Copy link
Copy Markdown
Member

Let me check the error

@PatrickXYS

Copy link
Copy Markdown
Member

Ah wait, the manifest PR is not yet merged....

I won't expect test passes

@Jeffwan

Jeffwan commented Nov 4, 2020

Copy link
Copy Markdown
Member

@PatrickXYS If not, AWS CI should not add prow job for this repo, right? This will block PR merge.

@PatrickXYS

Copy link
Copy Markdown
Member

@Jeffwan Let me solve this

@PatrickXYS

Copy link
Copy Markdown
Member

/test kubeflow-manifests-presubmit-e2e

@k8s-ci-robot

Copy link
Copy Markdown
Contributor

@PatrickXYS: No presubmit jobs available for kubeflow/manifests@master

Details

In response to this:

/test kubeflow-manifests-presubmit-e2e

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@PatrickXYS

Copy link
Copy Markdown
Member

Can you rebase and run test again?

This follows the pattern used in pipelines/upstream where
'upstream' contains the installation manifests from the
source component repo. A script is provided to sync the upstream
directory with the source repo.

Patches are provided to get kfserving working in the kubeflow namespace.
@PatrickXYS

Copy link
Copy Markdown
Member

@yuzisun @pvaneck Are we good to go?

@pvaneck

pvaneck commented Nov 5, 2020

Copy link
Copy Markdown
Member Author

@PatrickXYS I believe so. /cc @animeshsingh

@animeshsingh

Copy link
Copy Markdown
Contributor

We are good to go

/lgtm
/approve

@k8s-ci-robot

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: animeshsingh, pvaneck

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot merged commit 4b9d01c into kubeflow:master Nov 5, 2020
@Jeffwan

Jeffwan commented Nov 5, 2020

Copy link
Copy Markdown
Member

Thanks everyone. I assume kfserving side has all changes for 1.2.

@animeshsingh

Copy link
Copy Markdown
Contributor

@Jeffwan we are experimenting with KNative 0.14.3 to see if we can position it as a minimum req - if we get it in time, that's the only change you are looking at. What's the final de cut date for you?

@Jeffwan

Jeffwan commented Nov 6, 2020

Copy link
Copy Markdown
Member

@animeshsingh end of this week. cherry-pick is acceptable until Nov 13.

animeshsingh added a commit to animeshsingh/manifests that referenced this pull request Nov 11, 2020
Will be responsible for maintaining manifests for KFServing, OpenShift, IKS etc.

PRs merged: 
kubeflow#1515
kubeflow#1575
kubeflow#1580
kubeflow#1617

Reviews:
kubeflow#1582
kubeflow#1621
kubeflow#1625
kubeflow#1627
kubeflow#1628
kubeflow/kfctl#419
k8s-ci-robot pushed a commit that referenced this pull request Nov 11, 2020
* Add Paul as a reviewer

Will be responsible for maintaining manifests for KFServing, OpenShift, IKS etc.

PRs merged: 
#1515
#1575
#1580
#1617

Reviews:
#1582
#1621
#1625
#1627
#1628
kubeflow/kfctl#419

* Update OWNERS
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

update Kubeflow master manifests to KFServing 0.4 release

8 participants