-
Notifications
You must be signed in to change notification settings - Fork 269
🌱 E2E: Image refactor #2570
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
base: main
Are you sure you want to change the base?
🌱 E2E: Image refactor #2570
Conversation
Skipping CI for Draft Pull Request. |
✅ Deploy Preview for kubernetes-sigs-cluster-api-openstack ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
7958ab8
to
8b4159c
Compare
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.
The way the code is currently written was intended to reduce the number of image creations. Before we used ORC for image downloading we downloaded the images once during initialisation, and effectively referenced them from the Machine specs. When we added ORC for images I was trying hard not to regress the runtime or cost of running the e2e tests, so I was basically trying to do the same thing.
Specifically:
- We define
managed
images explicitly in thedefault
namespace, meaning that however many times they are applied they are only actually downloaded once - We define 'non-core' images at their point of use, so if, e.g. we don't run the flatcar tests, we don't download the flatcar images at all
- We only directly reference
unmanaged
in machine specs because we expect them to have been downloaded exactly once by themanaged
versions indefault
I don't think we pay ingress for images downloaded from a GCP source, so perhaps the financial motivation for this isn't so strong as long as we have enough disk space for multiple copies of the images. Pretty sure we'd pay ingress for the flatcar download, though, so ideally we'd continue to minimise downloads of that.
That said, I still think these are reasonable goals. What's not great is that the download locations themselves moved in to code, making them hard to modify when running locally. I see this PR moves them back into e2e_conf. How would you feel about keeping that part of this change, and just updating the references centrally?
test/e2e/data/e2e_conf.yaml
Outdated
@@ -23,8 +17,8 @@ providers: | |||
- name: cluster-api | |||
type: CoreProvider | |||
versions: | |||
- name: v1.10.1 | |||
value: "https://github.com/kubernetes-sigs/cluster-api/releases/download/v1.10.1/core-components.yaml" | |||
- name: "{go://sigs.k8s.io/[email protected]}" |
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.
Where does this syntax come from, btw? I don't think I've seen it before.
Thanks for checking already in WIP state! The other thing I would want to do is to make image downloading optional, i.e. use only unmanaged images throughout. Basically, I want to be able to write a config file for an openstack cloud where some images already exists, and just use them in the tests. |
8b4159c
to
3e0cdaf
Compare
This makes the images configurable through the e2e_conf.yaml. The images are applied together with the cluster-template, instead of in the JustBefore code. Signed-off-by: Lennart Jern <[email protected]>
3e0cdaf
to
6d65885
Compare
/test pull-cluster-api-provider-openstack-e2e |
@lentzi90: The specified target(s) for
The following commands are available to trigger optional jobs:
Use
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-sigs/prow repository. |
/test pull-cluster-api-provider-openstack-e2e-test |
@lentzi90: 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-sigs/prow repository. I understand the commands that are listed here. |
What this PR does / why we need it:
This makes the images configurable through the e2e_conf.yaml.
The images are applied together with the cluster-template, instead of in
the JustBefore code.
Which issue(s) this PR fixes (optional, in
fixes #<issue number>(, fixes #<issue_number>, ...)
format, will close the issue(s) when PR gets merged):Fixes #
Special notes for your reviewer:
TODOs:
/hold