-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
Reduce E2E test dependencies on external components #1372
Comments
This is a first step in making our E2E tests more portable and less dependent on resources outside of the k8s cluster they run into. This changes the build-push-kaniko taskrun example. There is a lot of infra setup required to make sure that the service account used by test is able to push to a registry. The test script replaces the image URL in the resource with the content of the KO_DOCKER_REPO environment variable. If that is a gcr.io url then the service account must be setup for access to it. The updated version runs a local registry as a sidecar in the pod. The task now can push to localhost:5000. The port is not exposed outside of the pod so there is no risk of interference with other tests. Partially fixes tektoncd#1372
This is a first step in making our E2E tests more portable and less dependent on resources outside of the k8s cluster they run into. This changes the build-push-kaniko taskrun example. There is a lot of infra setup required to make sure that the service account used by test is able to push to a registry. The test script replaces the image URL in the resource with the content of the KO_DOCKER_REPO environment variable. If that is a gcr.io url then the service account must be setup for access to it. The updated version runs a local registry as a sidecar in the pod. The task now can push to localhost:5000. The port is not exposed outside of the pod so there is no risk of interference with other tests. Partially fixes #1372
- Accurately report specific example failures - Test failures now use same output format as other tests - Provides greater control over parallelism using args to `go test` - Use the same test harness as other integration tests - De-dupe harness between bash/go Future work: - allow e2e tests to be run entirely locally by expanding SubEnv - (avoid external deps, see tektoncd#1372) Side effects: - new `yaml` build tag added so that existing integration tests aren't affected - Limited to 4 folders for testing - no-ci isn't explicitly excluded - no recursion in examples directory when finding examples to run Fixes tektoncd#1251
- Accurately report specific example failures - Test failures now use same output format as other tests - Provides greater control over parallelism using args to `go test` - Use the same test harness as other integration tests - De-dupe harness between bash/go Future work: - allow e2e tests to be run entirely locally by expanding SubEnv - (avoid external deps, see tektoncd#1372) Side effects: - new `yaml` build tag added so that existing integration tests aren't affected - Limited to 4 folders for testing - no-ci isn't explicitly excluded - no recursion in examples directory when finding examples to run Fixes tektoncd#1251
Update to accurately report specific example failures by name. E2E YAML tests now use same harness and output format as other tests. Fixes tektoncd#1251 Add a new `yaml` build tag so that existing integration tests aren't affected. Future updates to SubEnv may allow e2e tests to be run entirely locally by avoiding external deps, see tektoncd#1372
Update to accurately report specific example failures by name. E2E YAML tests now use same harness and output format as other tests. Fixes tektoncd#1251 Add a new `yaml` build tag so that existing integration tests aren't affected. Future updates to SubEnv may allow e2e tests to be run entirely locally by avoiding external deps, see tektoncd#1372
Update to accurately report specific example failures by name. E2E YAML tests now use same harness and output format as other tests. Fixes tektoncd#1251 Add a new `yaml` build tag so that existing integration tests aren't affected. Future updates to SubEnv may allow e2e tests to be run entirely locally by avoiding external deps, see tektoncd#1372. Parallelism may be able to be increased through more granualar tracking of clustertasks (ie. cleanup clustertasks per subtest by tracking which tests create them)
Update to accurately report specific example failures by name. E2E YAML tests now use same harness and output format as other tests. Fixes tektoncd#1251 Add a new `yaml` build tag so that existing integration tests aren't affected. Future updates to SubEnv may allow e2e tests to be run entirely locally by avoiding external deps, see tektoncd#1372. Parallelism may be able to be increased through more granualar tracking of clustertasks (ie. cleanup clustertasks per subtest by tracking which tests create them)
Update to accurately report specific example failures by name. E2E YAML tests now use same harness and output format as other tests. Fixes tektoncd#1251 Add a new `yaml` build tag so that existing integration tests aren't affected. Future updates to SubEnv may allow e2e tests to be run entirely locally by avoiding external deps, see tektoncd#1372. NOTE: If an example creates more than one clustertask, they will not all be cleaned up.
Update to accurately report specific example failures by name. E2E YAML tests now use same harness and output format as other tests. Fixes tektoncd#1251 Add a new `yaml` build tag so that existing integration tests aren't affected. Future updates to SubEnv may allow e2e tests to be run entirely locally by avoiding external deps, see tektoncd#1372. NOTE: If an example creates more than one clustertask, they will not all be cleaned up.
Update to accurately report specific example failures by name. E2E YAML tests now use same harness and output format as other tests. Fixes tektoncd#1251 Add a new `yaml` build tag so that existing integration tests aren't affected. Future updates to SubEnv may allow e2e tests to be run entirely locally by avoiding external deps, see tektoncd#1372. NOTE: If an example creates more than one clustertask, they will not all be cleaned up.
Update to accurately report specific example failures by name. E2E YAML tests now use same harness and output format as other tests. Fixes tektoncd#1251 Add a new `yaml` build tag so that existing integration tests aren't affected. Future updates to SubEnv may allow e2e tests to be run entirely locally by avoiding external deps, see tektoncd#1372. NOTE: If an example creates more than one clustertask, they will not all be cleaned up.
Update to accurately report specific example failures by name. E2E YAML tests now use same harness and output format as other tests. Fixes tektoncd#1251 Add a new `yaml` build tag so that existing integration tests aren't affected. Future updates to SubEnv may allow e2e tests to be run entirely locally by avoiding external deps, see tektoncd#1372. NOTE: If an example creates more than one clustertask, they will not all be cleaned up.
Update to accurately report specific example failures by name. E2E YAML tests now use same harness and output format as other tests. Fixes tektoncd#1251 Add a new `yaml` build tag so that existing integration tests aren't affected. Future updates to SubEnv may allow e2e tests to be run entirely locally by avoiding external deps, see tektoncd#1372. NOTE: If an example creates more than one clustertask, they will not all be cleaned up.
Update to accurately report specific example failures by name. E2E YAML tests now use same harness and output format as other tests. Fixes tektoncd#1251 Add a new `yaml` build tag so that existing integration tests aren't affected. Future updates to SubEnv may allow e2e tests to be run entirely locally by avoiding external deps, see tektoncd#1372. NOTE: If an example creates more than one clustertask, they will not all be cleaned up.
Update to accurately report specific example failures by name. E2E YAML tests now use same harness and output format as other tests. Fixes tektoncd#1251 Add a new `yaml` build tag so that existing integration tests aren't affected. Future updates to SubEnv may allow e2e tests to be run entirely locally by avoiding external deps, see tektoncd#1372. NOTE: If an example creates more than one clustertask, they will not all be cleaned up.
Update to accurately report specific example failures by name. E2E YAML tests now use same harness and output format as other tests. Fixes tektoncd#1251 Add a new `yaml` build tag so that existing integration tests aren't affected. Future updates to SubEnv may allow e2e tests to be run entirely locally by avoiding external deps, see tektoncd#1372. NOTE: If an example creates more than one clustertask, they will not all be cleaned up.
Update to accurately report specific example failures by name. E2E YAML tests now use same harness and output format as other tests. Fixes tektoncd#1251 Add a new `yaml` build tag so that existing integration tests aren't affected. Future updates to SubEnv may allow e2e tests to be run entirely locally by avoiding external deps, see tektoncd#1372. NOTE: If an example creates more than one clustertask, they will not all be cleaned up.
Update to accurately report specific example failures by name. E2E YAML tests now use same harness and output format as other tests. Fixes #1251 Add a new `yaml` build tag so that existing integration tests aren't affected. Future updates to SubEnv may allow e2e tests to be run entirely locally by avoiding external deps, see #1372. NOTE: If an example creates more than one clustertask, they will not all be cleaned up.
Issues go stale after 90d of inactivity. /lifecycle stale Send feedback to tektoncd/plumbing. |
Stale issues rot after 30d of inactivity. /lifecycle rotten Send feedback to tektoncd/plumbing. |
Rotten issues close after 30d of inactivity. /close Send feedback to tektoncd/plumbing. |
@tekton-robot: Closing this issue. In response to this:
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. |
/remove-lifecycle rotten |
@vdemeester: Reopened this issue. In response to this:
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. |
Issues go stale after 90d of inactivity. /lifecycle stale Send feedback to tektoncd/plumbing. |
/remove-lifecycle stale |
Issues go stale after 90d of inactivity. /lifecycle stale Send feedback to tektoncd/plumbing. |
Stale issues rot after 30d of inactivity. /lifecycle rotten Send feedback to tektoncd/plumbing. |
Rotten issues close after 30d of inactivity. /close Send feedback to tektoncd/plumbing. |
@tekton-robot: Closing this issue. In response to this:
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. |
Expected Behavior
It should be possible to run E2E tests in any k8s cluster with no need for external dependencies. We could use sidecars to run a container registry, a git server, a GCS like service etc.
Actual Behavior
The kaniko test expects a container registry to push images to, which requires credentials.
The GCS tests expects to push to a bucket on GCS, which requires credentials.
This makes it rather complex to setup an environment for E2E tests, which goes in the way of people running the integration tests in their own k8s cluster.
The text was updated successfully, but these errors were encountered: