Skip to content

Introduce MachineSet scale test - #162

Draft
Jakob-Naucke wants to merge 4 commits into
confidential-clusters:mainfrom
Jakob-Naucke:scale-test
Draft

Introduce MachineSet scale test#162
Jakob-Naucke wants to merge 4 commits into
confidential-clusters:mainfrom
Jakob-Naucke:scale-test

Conversation

@Jakob-Naucke

@Jakob-Naucke Jakob-Naucke commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

Create MachineConfig, MachineConfigPool & MachineSet. Includes pluggable modules for TEE platforms, and Azure as a first module.

Test with 1 & 2 replicas. Test with a replica after deletion.

Operator components are deployed in the same cluster, i.e. no bootstrap functionality.

Will not work until coreos/fedora-coreos-tracker#2191 is resolved, but already gets to Azure machine creation (with no ignition) in this state.

In a separate, revertable commit, add a workaround for openshift/api#2978.

Before that, update operator and drift cache. Add a skill to do so.

Bundle build is expected to fail until trusted-execution-clusters/operator#337 is merged and can be pulled in.

and drift cache.

Signed-off-by: Jakob Naucke <jnaucke@redhat.com>
Assisted-by: AI
Signed-off-by: Jakob Naucke <jnaucke@redhat.com>
Assisted-by: AI
Comment thread tests/scale.rs
let client = self.test_ctx.client();
let machine_name = &self.machine_name;

self.test_ctx.info("Cleaning up");

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps start with setting replicas=0 for the machine-set (or is it done as part of the tests?)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good point, have added

Comment thread tests/scale.rs
spec: MachineConfigSpec {
os_image_url: Some(bootc_image),
..Default::default()
},

@uril uril Aug 17, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wasn't there one more required configuration for a machine to become a node -- such that OpenShift accepts the custom RHCOS image ?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

None that I remember, but I can't really test it right now

Comment thread tests/scale.rs
test_ctx.info("Updating MachineSet replicas to 0");
let rp = Default::default();
machinesets.replace(machine_name, &rp, &mset).await?;
scale_ctx.has_replicas(0, scaled_duration(60)).await?;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: in a later PR we can write a function to update the machineset replicas (and possibly another one that also waits for the replicas to come up)

@uril uril left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me, with some comments

Comment thread tests/scale.rs Outdated
Create MachineConfig, MachineConfigPool & MachineSet. Includes
pluggable modules for TEE platforms, and Azure as a first module.

Test with 1 & 2 replicas. Test with a replica after deletion.

Operator components are deployed in the same cluster, i.e. no
bootstrap functionality.

Will not work until
coreos/fedora-coreos-tracker#2191 is
resolved, but already gets to Azure machine creation (with no
ignition) in this state.

Signed-off-by: Jakob Naucke <jnaucke@redhat.com>
Assisted-by: AI
has an incompatible validation rule

Signed-off-by: Jakob Naucke <jnaucke@redhat.com>
Assisted-by: AI
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.

2 participants