-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Generate images for CAPD machines to be used in our E2E testing #4620
Comments
Overall I think that's a great idea. I think I would prefer the separate job as it's then cleanly separated from the e2e test job. A few questions:
|
A nightly job is more than fine for me.
I think that the easiest way for starting, also because there is no automation that triggers our build after every K/k merge (and TBH we don't need all those images).
I agree.
Let's start simple and use kind from master (the same we have in out E2E test today) |
@fabriziopandini Sounds good to me. I would like to wait with publishing the first images until after the kind v0.11 release (or alternatively overwrite them after the kind release). Otherwise we would be stuck with the PIPEFAIL issue for a while. |
Might be I'm wrong here, and we are pinning the kind version under hack/tools. Let's be consistent and do the same |
@fabriziopandini Currently we pin the kind version in:
But agree we should use the same version for e2e testing and image publishing. |
/milestone Next |
As per discussion. |
The Kubernetes project currently lacks enough contributors to adequately respond to all issues and PRs. This bot triages issues and PRs according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /lifecycle stale |
The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs. This bot triages issues and PRs according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /lifecycle rotten |
The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs. This bot triages issues and PRs according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /close |
@k8s-triage-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. |
/reopen |
@sbueringer: 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. |
The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs. This bot triages issues and PRs according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /close |
@k8s-triage-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. |
/reopen |
@sbueringer: 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. |
/close |
@sbueringer: 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. |
xref: kubernetes-sigs/kind#197 |
As part of the efforts form making our E2E test more reliable, I'm proposing this issue for discussing the opportunity to pre generate images to be used for CAPD machines in our E2E testing and store them into gcr.io/k8s-staging-cluster-api.
Context
Our E2E test use kind images from docker hub for creating CAPD machines in our E2E test; docker hub has rate limits constraints; also, by relying on docker hub, we are linked to the kind team to publish images for new Kubernetes releases timely.
As of today we are compensating the lack of images for specific Kubernetes versions by building such images on the flight inside our E2E test jobs, but this has negative impacts on the overall test duration (building a node images takes from 10 to 15 minutes).
How pre-building images will help?
By pre building required images and publishing them in gcr.io/k8s-staging-cluster-api, we can avoid speed up most of ours E2E tests in case the kind image is missing.
Implementation details
In scripts/ci-e2e-lib.sh we already have all the script required to check published Kubernetes releases for a given release label (e.g stable-1.20 returns the latest stable release in the 1.20 release series).
In the same script there's also all the machinery for checking if a node image exists for a given Kubernetes image and rebuild it if necessary. It makes sense to use the same machinery for the implementation required to address this issue.
I see two options to do so:
Notes
The image we are going to build are de facto kind node images. No additional changes will be applied.
It is also important to notice that we are not planning to replace kind image repository, or to provide a mirror for it. We are publishing those images only for CAPD usage in E2E tests (other use cases usage not agreed on this issue won't be supported).
TDB
Eventually, we want to make CAPD to always use those node images, also outside E2E tests. in order to do so it is required for us to publish node images for all the Kubernetes version in the supported skew.
Eventually, we want to build node images for the latest kubernetes version and make out latest test to use it.
/kind feature
/area testing
The text was updated successfully, but these errors were encountered: