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

Use python to define the E2E test workflow for kfctl. #4148

Merged
merged 2 commits into from
Sep 27, 2019

Conversation

jlewi
Copy link
Contributor

@jlewi jlewi commented Sep 18, 2019

  • We need to write an E2E test for kfctl upgrade (E2E test for kfctl upgrade kfctl#35).

    Before we do that we want to remove ksonnet from our existing E2E test.

    The E2E test for upgrades will be very similar to the kfctl E2E test
    so it makes sense to convert that test to python before writing
    the upgrade test.

  • Related to Migrate E2E tests off ksonnet #3035 migrate e2e tests off ksonnet


This change is Reviewable

@jlewi
Copy link
Contributor Author

jlewi commented Sep 23, 2019

So close.
Workflow ran and most steps completed successfully
http://testing-argo.kubeflow.org/workflows/kubeflow-test-infra/kubeflow-presubmit-kfctl-go-iap-istio-4148-96825a4-7760-946c?tab=workflow

It looks like delete test-dir failed.

No longs show up if we filter by pod label (probably because of the known stackdriver issue).
But if we get logs for the pod id it works.

The error is

rm: cannot remove '/mnt/test-data-volume/kubeflow-presubmit-kfctl-go-iap-istio-4148-96825a4-7760-946c/src/kubeflow/kubeflow/output/artifacts/logs/.nfs000000000070af1c0000003b': Device or resource busy

@jlewi
Copy link
Contributor Author

jlewi commented Sep 23, 2019

Basic auth
http://testing-argo.kubeflow.org/workflows/kubeflow-test-infra/kubeflow-presubmit-kfctl-go-basic-auth-4148-96825a4-7760-9d9a?tab=workflow

Failed on build-deploy the error is

INFO Error: couldn't generate KfApp: (kubeflow.error): Code 500 with message: coordinator Generate failed for gcp: Could not configure basic auth; environment variable KUBEFLOW_USERNAME not set

@jlewi
Copy link
Contributor Author

jlewi commented Sep 25, 2019

Looks like both basic-auth and iap workflows ran and only the step test_dir delete failed.

@jlewi
Copy link
Contributor Author

jlewi commented Sep 25, 2019

Tests passed
https://prow.k8s.io/view/gcs/kubernetes-jenkins/pr-logs/pull/kubeflow_kubeflow/4148/kubeflow-presubmit/1176949535604215811/

* We need to write an E2E test for kfctl upgrade (kubeflow/kfctl#35).

  Before we do that we want to remove ksonnet from our existing E2E test.

  The E2E test for upgrades will be very similar to the kfctl E2E test
  so it makes sense to convert that test to python before writing
  the upgrade test.

* Related to kubeflow#3035 migrate e2e tests off ksonnet

* Code to setup default profile should not return an error if the secret
  already exists. This prevents us from calling apply multiple times.

  * Related to kubeflow/issues/3810; kfctl apply fails if we rerun it

* Fixing working directory of juptyer test.

* Update prow_config.yaml to use the new py_funcs for the kfctl_e2e tests

* Update kfctl_go_test.py to determine whether we are using basic_auth from
  the KFDef spec rather than the command line arguments.
@jlewi jlewi marked this pull request as ready for review September 25, 2019 21:10
@jlewi
Copy link
Contributor Author

jlewi commented Sep 25, 2019

/assign @gabrielwen
/assign @yanniszark

@yanniszark @gabrielwen This is ready for review. The tests passed before I rebased. The current run was triggered by the rebase but I expect them to pass as well.

Copy link
Contributor

@gabrielwen gabrielwen left a comment

Choose a reason for hiding this comment

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

/lgtm

"--project=kubeflow-ci",
# TODO(jlewi): Do we need a GITHUB_TOKEN? I'm guessing that
# was for ksonnet.
# "--github_token=$(GITHUB_TOKEN)",
Copy link
Contributor

Choose a reason for hiding this comment

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

seems like we can remove this?

"testing.test_deploy",
"--project=kubeflow-ci",
# TODO(jlewi): Do we still need a GITHUB_TOKEN?
# "--github_token=$(GITHUB_TOKEN)",
Copy link
Contributor

Choose a reason for hiding this comment

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

ditto.

jlewi pushed a commit to jlewi/kubeflow that referenced this pull request Sep 26, 2019
* Once kfctl upgrade is ready we will have to update this test to actually run.

* kubeflow#4148 needs to be submitted first.

* We will also need to update the test after kubeflow#4187 is merged.
  That splits kfctl_go_test.py into separate build and deploy steps.
@jlewi jlewi mentioned this pull request Sep 26, 2019
@k8s-ci-robot k8s-ci-robot removed the lgtm label Sep 26, 2019
@jlewi
Copy link
Contributor Author

jlewi commented Sep 26, 2019

@yanniszark Did you want to take a look at this?

@gabrielwen
Copy link
Contributor

/lgtm

@jlewi
Copy link
Contributor Author

jlewi commented Sep 27, 2019

/approve

@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: jlewi

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

@jlewi
Copy link
Contributor Author

jlewi commented Sep 27, 2019

Looks like the workflow
http://testing-argo.kubeflow.org/workflows/kubeflow-test-infra/kubeflow-presubmit-jupyterui-release-4148-1909805-8608-4f44?tab=workflow

Failed. I'm not sure why we are even running that workflow got triggered. I suspect an issue with computing the modified files because of the clone depth.

@jlewi
Copy link
Contributor Author

jlewi commented Sep 27, 2019

/test all

@jlewi
Copy link
Contributor Author

jlewi commented Sep 27, 2019

INFO|2019-09-27T09:38:16|/src/kubeflow/testing/py/kubeflow/testing/util.py|45| Running: git merge-base HEAD remotes/origin/master 
cwd=/src/kubeflow/kubeflow
INFO|2019-09-27T09:38:16|/src/kubeflow/testing/py/kubeflow/testing/util.py|60| Subprocess output:

WARNING|2019-09-27T09:38:17|/src/kubeflow/testing/py/kubeflow/testing/run_e2e_workflow.py|164| git merge-base failed; see https://github.com/kubeflow/kubeflow/issues/3523. Diff will be computed against the current master and therefore files not changed in the PR might be considered when determining which tests to trigger
...
INFO|2019-09-27T09:39:30|/src/kubeflow/testing/py/kubeflow/testing/run_e2e_workflow.py|239| Triggering workflow jupyterui-release because components/jupyter-web-app/backend/kubeflow_jupyter/common/api.py in dir components/jupyter-web-app/* is modified.

@k8s-ci-robot k8s-ci-robot merged commit 4a3766b into kubeflow:master Sep 27, 2019
nrchakradhar pushed a commit to nrchakradhar/kubeflow that referenced this pull request Sep 30, 2019
* Use python to define the E2E test workflow for kfctl.

* We need to write an E2E test for kfctl upgrade (kubeflow/kfctl#35).

  Before we do that we want to remove ksonnet from our existing E2E test.

  The E2E test for upgrades will be very similar to the kfctl E2E test
  so it makes sense to convert that test to python before writing
  the upgrade test.

* Related to kubeflow#3035 migrate e2e tests off ksonnet

* Code to setup default profile should not return an error if the secret
  already exists. This prevents us from calling apply multiple times.

  * Related to kubeflow/issues/3810; kfctl apply fails if we rerun it

* Fixing working directory of juptyer test.

* Update prow_config.yaml to use the new py_funcs for the kfctl_e2e tests

* Update kfctl_go_test.py to determine whether we are using basic_auth from
  the KFDef spec rather than the command line arguments.

* Address comments.
jlewi pushed a commit to jlewi/kubeflow that referenced this pull request Oct 9, 2019
* We need to write an E2E test for kfctl upgrade (kubeflow/kfctl#35).

* Once kfctl upgrade is ready we will have to update this test to actually run.

* kubeflow#4148 needs to be submitted first.

* We will also need to update the test after kubeflow#4187 is merged.
  That splits kfctl_go_test.py into separate build and deploy steps.
saffaalvi pushed a commit to StatCan/kubeflow that referenced this pull request Feb 11, 2021
* Use python to define the E2E test workflow for kfctl.

* We need to write an E2E test for kfctl upgrade (kubeflow/kfctl#35).

  Before we do that we want to remove ksonnet from our existing E2E test.

  The E2E test for upgrades will be very similar to the kfctl E2E test
  so it makes sense to convert that test to python before writing
  the upgrade test.

* Related to kubeflow#3035 migrate e2e tests off ksonnet

* Code to setup default profile should not return an error if the secret
  already exists. This prevents us from calling apply multiple times.

  * Related to kubeflow/issues/3810; kfctl apply fails if we rerun it

* Fixing working directory of juptyer test.

* Update prow_config.yaml to use the new py_funcs for the kfctl_e2e tests

* Update kfctl_go_test.py to determine whether we are using basic_auth from
  the KFDef spec rather than the command line arguments.

* Address comments.
saffaalvi pushed a commit to StatCan/kubeflow that referenced this pull request Feb 12, 2021
* Use python to define the E2E test workflow for kfctl.

* We need to write an E2E test for kfctl upgrade (kubeflow/kfctl#35).

  Before we do that we want to remove ksonnet from our existing E2E test.

  The E2E test for upgrades will be very similar to the kfctl E2E test
  so it makes sense to convert that test to python before writing
  the upgrade test.

* Related to kubeflow#3035 migrate e2e tests off ksonnet

* Code to setup default profile should not return an error if the secret
  already exists. This prevents us from calling apply multiple times.

  * Related to kubeflow/issues/3810; kfctl apply fails if we rerun it

* Fixing working directory of juptyer test.

* Update prow_config.yaml to use the new py_funcs for the kfctl_e2e tests

* Update kfctl_go_test.py to determine whether we are using basic_auth from
  the KFDef spec rather than the command line arguments.

* Address comments.
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.

5 participants