Skip to content

Conversation

gthao313
Copy link
Member

Description of changes:
Move testsys interface components from twoliter repository to testsys repository to enable standalone execution within the testsys codebase. This migration allows testsys to run independently without external dependencies on twoliter infrastructure.

Meanwhile, fix type mismatches and dependency conflicts that arose from the testsys interface migration, ensuring compatibility with the testsys repository structure and dependencies. This change also deprecates the metal k8s test functionality in the testsys interface.

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.

zmrow and others added 30 commits September 24, 2020 18:48
Co-authored-by: Zac Mrowicki <[email protected]>
Co-authored-by: Tom Kirchner <[email protected]>
If the user doesn't define a root role and key themselves in Infra.toml, we'll
generate them so it's easier to get started building images and repos.  The
user should update Infra.toml with more permanent resources and locations, but
this makes it much easier to get started handling your own builds.

Note: this changes the format of Infra.toml to make root roles and keys
specific to a repo.  Roles and keys are necessarily tied to a repo, so this
is simpler than having to specify PUBLISH_REPO *and* PUBLISH_KEY (and manually
changing the root.json file, which wasn't configurable before).

Co-authored-by: Zac Mrowicki <[email protected]>
Co-authored-by: Tom Kirchner <[email protected]>
Without this, a user could have an old-format Infra.toml files with root role
and key defined at the top level, and pubsys wouldn't error, so the user might
think they're being used.  With this change, we give a clear error so the user
knows what to update.

Co-authored-by: Zac Mrowicki <[email protected]>
Co-authored-by: Tom Kirchner <[email protected]>
If the user has no Infra.toml, we can continue with defaults most of the time.
For making an AMI, only passing PUBLISH_REGIONS is required.  For making a
repo, we can use a default configuration and write it under 'default'. SSM
still requires Infra.toml.
This adds everything needed to support VMware specific configuration,
including credentials.
Adds binary (and supporting files) to automatically spin up TUF infra (S3 Bucket+Policy, KMS Keys, and populated root.json) across multiple regions in a single account.
Edits pubsys-config (and supporting files) to accomodate new infrasys fields in Infra.toml.
Runs cargo-fmt over all first-party source code.
Path dependencies without a specified version will be treated as a
wildcard dependency and cause an error, so add the version to each.

Block multiple versions of crates, but skip the existing cases. The
goal is to prevent new instances from coming in unnoticed.

Signed-off-by: Ben Cressey <[email protected]>
Signed-off-by: Ben Cressey <[email protected]>
Clippy warnings about a redundant closure. The closure just makes a call
to a function that would take the passed argument anyway, so we should
remove the closure and just provide the function directly.

Signed-off-by: Sean McGinnis <[email protected]>
Adds support for ecs variants testing. Everything works the same way as aws-k8s variants except ECS clusters are created instead of EKS, and there is not supported conformance testing for ecs variants.
buildsys: extend `external-files` to vendor go modules
With the 1.63.0 versions of rustc/cargo, there is a clippy error due to
`return` being used when it is not needed. This removes the return
statement to make the linter happy.

Signed-off-by: Sean McGinnis <[email protected]>
Also bumps coldsnap, indicatif, tough, tough-kms, and tough-ssm.
This update was partially completed in #2392. Image locations have been
updated and e2e repo config for sonobuoy agents has been added.
Add declarative testing for `cargo make test` this allows users to setup
configuration once and use `cargo make -e BUILDSYS_ARCH=<MY-ARCH> -e
BUILDSYS_VARIANT=<MY-VARIANT> test` without any other needed variables.
Add declarative testing for `cargo make test` this allows users to setup
configuration once and use `cargo make -e BUILDSYS_ARCH=<MY-ARCH> -e
BUILDSYS_VARIANT=<MY-VARIANT> test` without any other needed variables.
testsys the cli was able to handle using the `starting_image_id`
argument, but with `cargo make`, the env variable
`TESTSYS_STARTING_COMMIT` is always passed in, so the conflicting args
made `TESTSYS_STARTING_IMAGE_ID` un-usable. This fix removes the
conflicts with, and uses the `TESTSYS_STARTING_IMAGE_ID` whenever it is
provided.
TestSys uses labels on the crd's to determine which ec2 resources rely
on a specific cluster. If a new instance provider requires a cluster that
is already created, TestSys marks the new instance provider as conflicting with
all other ones which prevents the new instances from being created until the
other instance providers have been deleted.
koooosh and others added 20 commits January 29, 2025 22:53
Signed-off-by: Kush Upadhyay <[email protected]>
Update rust toolchain to the latest nightly release. Address lints and
license clarifications as a result.

Signed-off-by: Gavin Inglis <[email protected]>
Signed-off-by: Patrick J.P. Culp <[email protected]>
Testsys added support for custom EBS volumes when launching EC2
instances. This change enables passing custom EBS volume parameters
to TestSys. Additionally, this upgrades TestSys to version 0.0.16 since
this change requires updates introduced in that version.
Testsys added support for custom EBS volumes when launching EC2
instances. This change enables passing custom EBS volume parameters
to TestSys. Additionally, this upgrades TestSys to version 0.0.16 since
this change requires updates introduced in that version.
TestSys now supports adding license tokens to vSphere cluster templates.
To retrieve these license tokens, TestSys must assume AWS IAM roles.
This update enables the passing of assume_role parameters to TestSys,
allowing it to acquire the necessary role permissions.
…957c933b3ece3d46'

git-subtree-dir: testsys-launcher/testsys
git-subtree-mainline: 06593a8
git-subtree-split: 3c36af6
…2991233918dfc40d69c763b'

git-subtree-dir: testsys-launcher/testsys-config
git-subtree-mainline: a226633
git-subtree-split: fbf68c3
…0193cb2555520287d7c154b'

git-subtree-dir: testsys-launcher/parse-datetime
git-subtree-mainline: 89d4cc8
git-subtree-split: 5468fff
…5fe6318dea7a4074d34c1f'

git-subtree-dir: testsys-launcher/pubsys-config
git-subtree-mainline: daa85fb
git-subtree-split: 1d74be7
…31626e51d07d8a565bd836a129f82'

git-subtree-dir: testsys-launcher/bottlerocket-variant
git-subtree-mainline: 5174559
git-subtree-split: 4814718
Fix type mismatches and dependency conflicts that arose from the
testsys interface migration, ensuring compatibility with the
testsys repository structure and dependencies. This change also deprecates the
metal k8s test functionality in the testsys interface.
@gthao313 gthao313 marked this pull request as draft September 23, 2025 17:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.