Skip to content
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

[release-1.7] 🌱 test/e2e: add check at anti-affinity test to ensure enough hosts exist #1987

Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 7 additions & 2 deletions test/e2e/anti_affinity_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -59,9 +59,9 @@ var _ = Describe("Cluster creation with anti affined nodes", func() {
})

It("should create a cluster with anti-affined nodes", func() {
// Since the upstream CI has five nodes, worker node count is set to 5
// Since the upstream CI has four nodes, worker node count is set to 4.
VerifyAntiAffinity(ctx, AntiAffinitySpecInput{
WorkerNodeCount: 5,
WorkerNodeCount: 4,
Namespace: namespace,
InfraClients: InfraClients{
Client: vsphereClient,
Expand All @@ -88,6 +88,11 @@ func VerifyAntiAffinity(ctx context.Context, input AntiAffinitySpecInput) {
clusterName := fmt.Sprintf("anti-affinity-%s", util.RandomString(6))
Expect(namespace).NotTo(BeNil())

By("checking if the target system has enough hosts")
hostSystems, err := input.Finder.HostSystemList(ctx, "*")
Expect(err).ToNot(HaveOccurred())
Expect(len(hostSystems) >= int(input.WorkerNodeCount)).To(BeTrue(), "This test requires more or equal number of hosts compared to the WorkerNodeCount. Expected at least %d but only got %d hosts.", input.WorkerNodeCount, len(hostSystems))

Byf("creating a workload cluster %s", clusterName)
configCluster := defaultConfigCluster(clusterName, namespace.Name, "", 1, input.WorkerNodeCount,
input.Global)
Expand Down