Skip to content

Commit c2d2ff1

Browse files
remove parallel execution
1 parent 1df2271 commit c2d2ff1

File tree

1 file changed

+16
-53
lines changed
  • cmd/clusterctl/pkg/client/cluster

1 file changed

+16
-53
lines changed

cmd/clusterctl/pkg/client/cluster/mover.go

Lines changed: 16 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ package cluster
1818

1919
import (
2020
"fmt"
21-
"sync"
2221
"time"
2322

2423
"github.com/go-logr/logr"
@@ -237,36 +236,18 @@ const (
237236

238237
// createGroup creates all the Kubernetes objects into the target management cluster corresponding to the object graph nodes in a moveGroup.
239238
func (o *objectMover) createGroup(group moveGroup, toProxy Proxy) error {
240-
241-
// Creates - in parallel - all the nodes in the group.
242-
var wg sync.WaitGroup
243239
errList := []error{}
244-
errCh := make(chan error)
245-
defer close(errCh)
246-
247-
go func() {
248-
for e := range errCh {
249-
errList = append(errList, e)
250-
}
251-
}()
252-
253240
for _, nodeToCreate := range group {
254-
wg.Add(1)
255-
go func(node *node) {
256-
defer wg.Done()
257-
258-
// Creates the Kubernetes object corresponding to the nodeToCreate.
259-
// Nb. The operation is wrapped in a retry loop to make move more resilient to unexpected conditions.
260-
err := retry(retryCreateTargetObject, retryIntervalCreateTargetObject, o.log, func() error {
261-
return o.createTargetObject(node, toProxy)
262-
})
263-
if err != nil {
264-
errCh <- err
265-
}
266-
}(nodeToCreate)
241+
// Creates the Kubernetes object corresponding to the nodeToCreate.
242+
// Nb. The operation is wrapped in a retry loop to make move more resilient to unexpected conditions.
243+
err := retry(retryCreateTargetObject, retryIntervalCreateTargetObject, o.log, func() error {
244+
return o.createTargetObject(nodeToCreate, toProxy)
245+
})
246+
if err != nil {
247+
errList = append(errList, err)
248+
}
267249
}
268250

269-
wg.Wait()
270251
if len(errList) > 0 {
271252
return kerrors.NewAggregate(errList)
272253
}
@@ -372,37 +353,19 @@ const (
372353

373354
// deleteGroup deletes all the Kubernetes objects from the source management cluster corresponding to the object graph nodes in a moveGroup.
374355
func (o *objectMover) deleteGroup(group moveGroup) error {
375-
// Deletes - in parallel - the dependents nodes and the softDependents nodes (with the respective object tree).
376-
var wg sync.WaitGroup
377356
errList := []error{}
378-
errCh := make(chan error)
379-
defer close(errCh)
380-
381-
go func() {
382-
for e := range errCh {
383-
errList = append(errList, e)
384-
}
385-
}()
386-
387357
for _, nodeToDelete := range group {
388-
wg.Add(1)
389-
go func(node *node) {
390-
defer wg.Done()
391-
392-
// Delete the Kubernetes object corresponding to the current node.
393-
// Nb. The operation is wrapped in a retry loop to make move more resilient to unexpected conditions.
394-
err := retry(retryDeleteSourceObject, retryIntervalDeleteSourceObject, o.log, func() error {
395-
return o.deleteSourceObject(node)
396-
})
397-
398-
if err != nil {
399-
errCh <- err
400-
}
358+
// Delete the Kubernetes object corresponding to the current node.
359+
// Nb. The operation is wrapped in a retry loop to make move more resilient to unexpected conditions.
360+
err := retry(retryDeleteSourceObject, retryIntervalDeleteSourceObject, o.log, func() error {
361+
return o.deleteSourceObject(nodeToDelete)
362+
})
401363

402-
}(nodeToDelete)
364+
if err != nil {
365+
errList = append(errList, err)
366+
}
403367
}
404368

405-
wg.Wait()
406369
return kerrors.NewAggregate(errList)
407370
}
408371

0 commit comments

Comments
 (0)