Skip to content
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

[Test] Add KFP MKP deployment for e2e tests #2850

Merged
merged 7 commits into from
Jan 18, 2020

Conversation

rui5i
Copy link
Contributor

@rui5i rui5i commented Jan 15, 2020

This pr adds kfp mkp deployment including cluster deployment, argo installation and kfp deployment using mkp cli. E2E tests and sample tests are running successfully when calling deploy_pipeline_mkp_cli.sh in presubmit script.

Part of #2864


This change is Reviewable

This commit adds mkp deployment script including cluster deployment,
argo installation and kfp mkp deployment.
This commits adds sleep 60 after kfp deployment to make sure kfp
resources are ready when running argo submit.
@rui5i
Copy link
Contributor Author

rui5i commented Jan 15, 2020

/assign @numerology

This commit fixes zone variable and deletes extra comments.
test/deploy-pipeline-mkp-cli.sh Outdated Show resolved Hide resolved

echo MKP_VERSION:$MKP_VERSION, GCR_FOLDER:$GCR_FOLDER

export ARGO_VERSION=v2.3.0-license-compliance

Choose a reason for hiding this comment

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

May we need to think about how to sync those version numbers with the actual deployment we use.
@rmgogogo Shall we keep a single source of truth in a dependency file?

Copy link
Contributor

Choose a reason for hiding this comment

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

One idea I thought of, extract MKP release related config from https://github.com/kubeflow/pipelines/blob/master/.release.cloudbuild.yaml into a separate config, so that the extracted config can be parameterized to also get used in this test.

WDYT?

Choose a reason for hiding this comment

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

That sounds like a good idea. One question, where shall we put the MKP config? It seems like yaml does not support import/include. Doe Cloud build workflow support retrieving parameters from config files?

Copy link
Contributor

Choose a reason for hiding this comment

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

We can configure two cloud build triggers on release instead, no need to let one import another.

I think you can add parameters with default values suitable for release. And in tests, we override them to reuse the config.

Anyway, I don't feel these are a blocker to this PR. It could be a separate improvement, because this is already working.

test/manifests/kustomization.yaml Outdated Show resolved Hide resolved
@numerology
Copy link

Two general comments:

  1. Would you mind refactoring out some shared logic b/w test on standalone and test on MKP deployment to some utility functions? So that we don't need to maintain two copies of the code.

  2. Idea for rolling out this change. Maybe we can do some manual test first, and then first add this to prow postsubmit config, and if it's stabled we move it to presubmit tests.

This commit removes cluster deployment and argo installation in mkp
script. Those logic are the same with before and can use existing
script.
@rui5i
Copy link
Contributor Author

rui5i commented Jan 15, 2020

Remove cluster deployment and argo installation. Those logic can use current scripts: deploy_cluster.sh and install_argo.sh. @numerology

Copy link
Contributor

@Bobgy Bobgy left a comment

Choose a reason for hiding this comment

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

Thanks! The changes look great. Really helpful for marketplace.

Two general comments:

Would you mind refactoring out some shared logic b/w test on standalone and test on MKP deployment to some utility functions? So that we don't need to maintain two copies of the code.

Idea for rolling out this change. Maybe we can do some manual test first, and then first add this to prow postsubmit config, and if it's stabled we move it to presubmit tests.

I agree with these except that, I'd prefer this keeping as a postsubmit test, because when the other presubmit tests pass, the chance of marketplace failing is very low. We can fix afterwards for PRs that actually broke MKP.
(For convenient ad-hoc testing, we may also add a presubmit test that is alwaysRun: false in the config map, so it can be triggered when author intentionally test MKP)

test/manifests/kustomization.yaml Outdated Show resolved Hide resolved
test/deploy-pipeline-mkp-cli.sh Outdated Show resolved Hide resolved

echo MKP_VERSION:$MKP_VERSION, GCR_FOLDER:$GCR_FOLDER

export ARGO_VERSION=v2.3.0-license-compliance
Copy link
Contributor

Choose a reason for hiding this comment

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

One idea I thought of, extract MKP release related config from https://github.com/kubeflow/pipelines/blob/master/.release.cloudbuild.yaml into a separate config, so that the extracted config can be parameterized to also get used in this test.

WDYT?

@googlebot
Copy link
Collaborator

We found a Contributor License Agreement for you (the sender of this pull request), but were unable to find agreements for all the commit author(s) or Co-authors. If you authored these, maybe you used a different email address in the git commits than was used to sign the CLA (login here to double check)? If these were authored by someone else, then they will need to sign a CLA as well, and confirm that they're okay with these being contributed to Google.
In order to pass this check, please resolve this problem and then comment @googlebot I fixed it.. If the bot doesn't comment, it means it doesn't think anything has changed.

ℹ️ Googlers: Go here for more info.

@googlebot
Copy link
Collaborator

CLAs look good, thanks!

ℹ️ Googlers: Go here for more info.

This commit reverts unrelated changes on
test/manifests/kustomization.yaml.
@numerology numerology changed the title Add kfp mkp deployment [Test] Add KFP MKP deployment for e2e tests Jan 16, 2020
This commit removes WI set up on mkp deployment.
@numerology
Copy link

Sorry for got to mention. @rui5i do you mind opening an issue regarding this test improvement? And add the following remaining work items there?

  • Investigate which MKP image version should we use.
  • Configure cloud build trigger based on release, and base the MKP deployment in this script on that.
  • Add prow config.

@numerology
Copy link

/lgtm

@IronPan
Copy link
Member

IronPan commented Jan 17, 2020

/lgtm

@IronPan
Copy link
Member

IronPan commented Jan 17, 2020

@Bobgy could you take a look and approve? Thanks!

@Bobgy
Copy link
Contributor

Bobgy commented Jan 18, 2020

Thanks @rui5i, this will improve dev confidence and speed a lot!
/approve

And thanks @numerology for summarizing potential future improvements.

@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: Bobgy

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

The pull request process is described here

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

@numerology
Copy link

/retest

1 similar comment
@numerology
Copy link

/retest

@k8s-ci-robot k8s-ci-robot merged commit 7641121 into kubeflow:master Jan 18, 2020
Jeffwan pushed a commit to Jeffwan/pipelines that referenced this pull request Dec 9, 2020
* Add mkp deployment for test

* Add mkp deployment script

This commit adds mkp deployment script including cluster deployment,
argo installation and kfp mkp deployment.

* Add sleep 60 after kfp deployment

This commits adds sleep 60 after kfp deployment to make sure kfp
resources are ready when running argo submit.

* Typo fix
This commit fixes zone variable and deletes extra comments.

* Remove cluster deployment and argo installation in mkp script

This commit removes cluster deployment and argo installation in mkp
script. Those logic are the same with before and can use existing
script.

* Revert unrelated changes

This commit reverts unrelated changes on
test/manifests/kustomization.yaml.

* Remove WI set up on mkp deployment

This commit removes WI set up on mkp deployment.
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.

6 participants