@@ -18,7 +18,6 @@ package cluster
18
18
19
19
import (
20
20
"fmt"
21
- "sync"
22
21
"time"
23
22
24
23
"github.com/go-logr/logr"
@@ -237,36 +236,18 @@ const (
237
236
238
237
// createGroup creates all the Kubernetes objects into the target management cluster corresponding to the object graph nodes in a moveGroup.
239
238
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
243
239
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
-
253
240
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
+ }
267
249
}
268
250
269
- wg .Wait ()
270
251
if len (errList ) > 0 {
271
252
return kerrors .NewAggregate (errList )
272
253
}
@@ -372,37 +353,19 @@ const (
372
353
373
354
// deleteGroup deletes all the Kubernetes objects from the source management cluster corresponding to the object graph nodes in a moveGroup.
374
355
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
377
356
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
-
387
357
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
+ })
401
363
402
- }(nodeToDelete )
364
+ if err != nil {
365
+ errList = append (errList , err )
366
+ }
403
367
}
404
368
405
- wg .Wait ()
406
369
return kerrors .NewAggregate (errList )
407
370
}
408
371
0 commit comments