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
Argo workflow to run E2E tests #72
Conversation
…art. * Log output and test results are written to a local directory. * In a follow on PR we will add a binary to copy all the outputs from the local directory to Gubernator. This way most steps in the test don't need to deal with GCS.
* add Python lint rc file.
the appropriate version of the repo and then invoking the test program. This will allow us to pull the bulk of the test program from the repo at the commit that is being tested.
…on scripts needed to run our tests.
Maybe someone from the argo team could take a look as well - to spot potential issues with the use of the DAGs. |
@jessesuen any chance you could look at our Argo workflow and provide suggestions? Our workflow is generated using ksonnet from workflows.libsonnet, but I've provided the actual YAML spec below. Here are some key points regarding our use of Argo
|
Sure lemme take a look |
Here are my suggestions:
Suggestions 2 and 3 need the 2.0.0-alpha3 version. Here is a simplified yaml after incorporating the above suggestions.
|
http://127.0.0.1:8001/api/v1/proxy/namespaces/kubeflow-test-infra/services/argo-ui:80/ | ||
``` | ||
|
||
TODO(jlewi): We can probably make the UI publicly available since I don't think it offers any ability to launch workflows. |
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.
argo-ui has a feature and API to exec into running containers (enabled using --enable-web-console
install option). This is disabled by default in alpha3 but be aware you would not want this enabled if the UI were to be made public facing.
Thanks Jesse
Since we're using ksonnet to avoid unnecessary code duplication; I think there's less of an incentive to use Argo's templating feature. It looks like using Argo templates requires us to wrap the command in a shell because we can only do string substitution not list substitution. So I think a prefer duplicating the templates.
I prefer to do all the substitution in ksonnet; I think this makes things simpler.
That won't work because the set of environment variables is unknown. The input to the workflow is a comma separated list of key, value pairs which is turned into environment variables. We use ksonnet to split this and turn into an array of environment variables. As an example, |
Resolved Conflicts: testing/README.md testing/test_deploy.py
@foxish Approved? |
@jlewi: The following test failed, say
Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR. 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. I understand the commands that are listed here. |
…ng errors in run-tests (kubeflow#72)
write our tests.
a test script in the repo. This ensures that the bulk of our test logic is pulled from the repo at the
commit being tested.
in parallel and accessing the same files.