-
Notifications
You must be signed in to change notification settings - Fork 521
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
testsys: Add support for metal-k8s testing #2871
Conversation
@@ -261,6 +261,14 @@ pub struct GenericVariantConfig { | |||
pub control_plane_endpoint: Option<String>, | |||
/// The path to userdata that should be used for Bottlerocket launch | |||
pub userdata: Option<String>, | |||
/// The directory containing Bottlerocket images. For metal, this is the directory containing |
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.
It's pretty awkward the way this config has things that are required for some variants and other things that are required for other variants. I don't suppose there's much we can do about it right now, but it's worth thinking about. There are different configuration "schemas" for different provisioning scenarios.
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.
There are 2 things that need to be considered.
- It is nice that we can set a value for
aws
and have it work foraws-k8s
andaws-ecs
variants. - The
reduced_config
fn works really well and simply since allGenericConfigs
are the same.
0004592
to
5ea1938
Compare
@@ -65,6 +66,10 @@ pub(crate) struct Run { | |||
#[clap(long, env = "BUILDSYS_OVA")] | |||
ova_name: Option<String>, | |||
|
|||
/// The name of the image that should be used for Bare Metal testing | |||
#[clap(long, env = "BUILDSYS_NAME_FULL")] |
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.
Does this include the extension? i.e. is this the file name?
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.
This is just a cargo make env variable that we are re-using.
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.
LGTM!
In `Test.toml` set `cluster-names = ["cluster1"]` to tell TestSys that we want the cluster config and hardware csv from the directory we just created. | ||
|
||
Metal testing also requires and additional manual step for testing. | ||
The Bottlerocket build system compresses the metal images with lz4, but EKS Anywhere requires them to be gzipped, so before testing make sure to uncompress the lz4 image and gzip it. |
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.
Side-note: it would be nice to have a cargo-make
task that does this for us.
Issue number:
Closes #2152
Description of changes:
Adds support for testing metal k8s variants with testsys. There are several requirements for testing with metal that will be described in
TESTING.md
.Testing done:
Ran
cargo make -e BUILDSYS_VARIANT="aws-k8s-1.24" test
with sample files and made sure the crd was properly created.Test passed after the cluster finished provisioning.
Terms of contribution:
By submitting this pull request, I agree that this contribution is dual-licensed under the terms of both the Apache License, version 2.0, and the MIT license.