Skip to content

Commit

Permalink
remove data race
Browse files Browse the repository at this point in the history
  • Loading branch information
rschalo committed Mar 7, 2025
1 parent 444cfa3 commit a6df450
Showing 1 changed file with 19 additions and 16 deletions.
35 changes: 19 additions & 16 deletions pkg/controllers/state/suite_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -1241,29 +1241,29 @@ var _ = Describe("Cluster State Sync", func() {
})
It("should consider the cluster state synced when nodes register provider id", func() {
// Deploy 1000 nodes and sync them all with the cluster
var nodes []*corev1.Node
nodes := make([]*corev1.Node, 1000)
var wg sync.WaitGroup
for range 1000 {
for i := range 1000 {
wg.Add(1)
go func() {
go func(index int) {
defer wg.Done()
node := test.Node()
ExpectApplied(ctx, env.Client, node)
ExpectReconcileSucceeded(ctx, nodeController, client.ObjectKeyFromObject(node))
nodes = append(nodes, node)
}()
nodes[index] = node
}(i)
}
wg.Wait()
ExpectMetricGaugeValue(state.ClusterStateNodesCount, 1000.0, nil)
Expect(cluster.Synced(ctx)).To(BeTrue())
for i := 0; i < 1000; i++ {
wg.Add(1)
go func() {
go func(index int) {
defer wg.Done()
nodes[i].Spec.ProviderID = test.RandomProviderID()
ExpectApplied(ctx, env.Client, nodes[i])
ExpectReconcileSucceeded(ctx, nodeController, client.ObjectKeyFromObject(nodes[i]))
}()
nodes[index].Spec.ProviderID = test.RandomProviderID()
ExpectApplied(ctx, env.Client, nodes[index])
ExpectReconcileSucceeded(ctx, nodeController, client.ObjectKeyFromObject(nodes[index]))
}(i)
}
wg.Wait()
Expect(cluster.Synced(ctx)).To(BeTrue())
Expand Down Expand Up @@ -1481,13 +1481,16 @@ var _ = Describe("Cluster State Sync", func() {
// Deploy 250 nodes to the cluster
for range 250 {
wg.Add(1)
node := test.Node(test.NodeOptions{
ProviderID: test.RandomProviderID(),
})
ExpectApplied(ctx, env.Client, node)
ExpectReconcileSucceeded(ctx, nodeController, client.ObjectKeyFromObject(node))
wg.Done()
go func() {
defer wg.Done()
node := test.Node(test.NodeOptions{
ProviderID: test.RandomProviderID(),
})
ExpectApplied(ctx, env.Client, node)
ExpectReconcileSucceeded(ctx, nodeController, client.ObjectKeyFromObject(node))
}()
}
wg.Wait()
Expect(cluster.Synced(ctx)).To(BeTrue())

// Add a new node but don't reconcile it
Expand Down

0 comments on commit a6df450

Please sign in to comment.