Skip to content

Commit 4f7abbd

Browse files
committed
fix test
1 parent 8b82680 commit 4f7abbd

File tree

7 files changed

+492
-87
lines changed

7 files changed

+492
-87
lines changed

controllers/apps/cluster/transformer_cluster_component.go

Lines changed: 21 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -909,7 +909,7 @@ func (h *clusterShardingHandler) update(transCtx *clusterTransformContext, dag *
909909
return err
910910
}
911911

912-
err3, errorSkip := h.handleShardAddNRemove(transCtx, name, runningCompsMap, protoCompsMap, toCreate, toDelete, toUpdate)
912+
errorSkip, err3 := h.handleShardAddNRemove(transCtx, name, runningCompsMap, protoCompsMap, toCreate, toDelete, toUpdate)
913913

914914
// TODO: update strategy
915915
h.deleteComps(transCtx, dag, runningCompsMap, toDelete.Difference(errorSkip))
@@ -1145,6 +1145,9 @@ func (h *clusterShardingHandler) handlePostProvision(transCtx *clusterTransformC
11451145
shardingStatus.PostProvision.CompletionTime = status.CompletionTime
11461146
}
11471147
}
1148+
if transCtx.Cluster.Status.Shardings == nil {
1149+
transCtx.Cluster.Status.Shardings = map[string]appsv1.ClusterShardingStatus{}
1150+
}
11481151
transCtx.Cluster.Status.Shardings[shardingName] = shardingStatus
11491152
}
11501153

@@ -1247,17 +1250,12 @@ func (h *clusterShardingHandler) handlePreTerminate(transCtx *clusterTransformCo
12471250
shardingStatus2.PreTerminate.CompletionTime = status.CompletionTime
12481251
}
12491252
}
1253+
if transCtx.Cluster.Status.Shardings == nil {
1254+
transCtx.Cluster.Status.Shardings = map[string]appsv1.ClusterShardingStatus{}
1255+
}
12501256
transCtx.Cluster.Status.Shardings[shardingName] = shardingStatus2
12511257
}
12521258

1253-
init = func() error {
1254-
upsert(appsv1.LifecycleActionStatus{
1255-
Phase: appsv1.LifecycleActionPending,
1256-
StartTime: &metav1.Time{Time: time.Now()},
1257-
})
1258-
return ictrlutil.NewDelayedRequeueError(time.Second, "requeue to schedule the sharding pre-terminate action")
1259-
}
1260-
12611259
skipAsNotDefined = func() error {
12621260
now := &metav1.Time{Time: time.Now()}
12631261
upsert(appsv1.LifecycleActionStatus{
@@ -1281,18 +1279,21 @@ func (h *clusterShardingHandler) handlePreTerminate(transCtx *clusterTransformCo
12811279
}
12821280

12831281
succeed = func() error {
1282+
now := &metav1.Time{Time: time.Now()}
12841283
upsert(appsv1.LifecycleActionStatus{
12851284
Phase: appsv1.LifecycleActionSucceeded,
12861285
Message: "",
1287-
CompletionTime: &metav1.Time{Time: time.Now()},
1286+
StartTime: now,
1287+
CompletionTime: now,
12881288
})
12891289
return nil
12901290
}
12911291

12921292
fail = func(err error) error {
12931293
upsert(appsv1.LifecycleActionStatus{
1294-
Phase: appsv1.LifecycleActionFailed,
1295-
Message: err.Error(),
1294+
Phase: appsv1.LifecycleActionFailed,
1295+
Message: err.Error(),
1296+
StartTime: &metav1.Time{Time: time.Now()},
12961297
})
12971298
return err // TODO: delay the requeue?
12981299
}
@@ -1327,10 +1328,6 @@ func (h *clusterShardingHandler) handlePreTerminate(transCtx *clusterTransformCo
13271328
}
13281329
}
13291330

1330-
if !initialized {
1331-
return init()
1332-
}
1333-
13341331
if err := h.shardingAction(transCtx, shardingName, shardingPreTerminateAction,
13351332
shardingDef.Spec.LifecycleActions.PreTerminate, nil, runningComps, nil); err != nil {
13361333
return fail(err)
@@ -1340,7 +1337,7 @@ func (h *clusterShardingHandler) handlePreTerminate(transCtx *clusterTransformCo
13401337

13411338
func (h *clusterShardingHandler) handleShardAddNRemove(transCtx *clusterTransformContext, shardingName string,
13421339
runningCompsMap map[string]*appsv1.Component, protoCompsMap map[string]*appsv1.Component,
1343-
toCreate, toDelete, toUpdate sets.Set[string]) (error, sets.Set[string]) {
1340+
toCreate, toDelete, toUpdate sets.Set[string]) (sets.Set[string], error) {
13441341
var (
13451342
errorSkip = sets.Set[string]{}
13461343

@@ -1394,9 +1391,9 @@ func (h *clusterShardingHandler) handleShardAddNRemove(transCtx *clusterTransfor
13941391
err2 := _delete()
13951392

13961393
if err1 != nil {
1397-
return err1, errorSkip
1394+
return errorSkip, err1
13981395
}
1399-
return err2, errorSkip
1396+
return errorSkip, err2
14001397
}
14011398

14021399
func (h *clusterShardingHandler) handleShardAdd(transCtx *clusterTransformContext,
@@ -1408,12 +1405,9 @@ func (h *clusterShardingHandler) handleShardAdd(transCtx *clusterTransformContex
14081405
return runningComp.Annotations[shardingAddShardKey] != ""
14091406
}
14101407

1411-
fail = func(err error) error {
1412-
if protoComp.Annotations == nil {
1413-
protoComp.Annotations = make(map[string]string)
1414-
}
1415-
protoComp.Annotations[shardingAddShardKey] = runningComp.Annotations[shardingAddShardKey]
1416-
return err
1408+
succeed = func() error {
1409+
delete(runningComp.Annotations, shardingAddShardKey)
1410+
return nil
14171411
}
14181412
)
14191413

@@ -1425,10 +1419,10 @@ func (h *clusterShardingHandler) handleShardAdd(transCtx *clusterTransformContex
14251419
args := map[string]string{shardingAddShardNameVar: runningComp.Name}
14261420
if err := h.shardingAction(transCtx, shardingName, shardingAddShardAction,
14271421
shardingDef.Spec.LifecycleActions.ShardAdd, args, runningComps, runningComp); err != nil {
1428-
return fail(err)
1422+
return err
14291423
}
14301424
}
1431-
return nil
1425+
return succeed()
14321426
}
14331427

14341428
func (h *clusterShardingHandler) handleShardRemove(transCtx *clusterTransformContext,

controllers/apps/cluster/transformer_cluster_component_status_test.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -409,7 +409,7 @@ var _ = Describe("cluster component status transformer", func() {
409409

410410
It("sharding spec deleted", func() {
411411
// have seen the sharding1 and sharding2 objects in the cluster
412-
transCtx.Cluster.Status.Shardings = map[string]appsv1.ClusterComponentStatus{
412+
transCtx.Cluster.Status.Shardings = map[string]appsv1.ClusterShardingStatus{
413413
"sharding1": {
414414
Phase: appsv1.RunningComponentPhase,
415415
},
@@ -467,7 +467,7 @@ var _ = Describe("cluster component status transformer", func() {
467467

468468
It("sharding object deleted", func() {
469469
// have seen the sharding1 and sharding2 objects in the cluster
470-
transCtx.Cluster.Status.Shardings = map[string]appsv1.ClusterComponentStatus{
470+
transCtx.Cluster.Status.Shardings = map[string]appsv1.ClusterShardingStatus{
471471
"sharding1": {
472472
Phase: appsv1.RunningComponentPhase,
473473
},
@@ -509,7 +509,7 @@ var _ = Describe("cluster component status transformer", func() {
509509

510510
It("sharding deleted", func() {
511511
// have seen the sharding1 and sharding2 objects in the cluster
512-
transCtx.Cluster.Status.Shardings = map[string]appsv1.ClusterComponentStatus{
512+
transCtx.Cluster.Status.Shardings = map[string]appsv1.ClusterShardingStatus{
513513
"sharding1": {
514514
Phase: appsv1.RunningComponentPhase,
515515
},
@@ -642,7 +642,7 @@ var _ = Describe("cluster component status transformer", func() {
642642
})
643643

644644
It("phase changed", func() {
645-
transCtx.Cluster.Status.Shardings = map[string]appsv1.ClusterComponentStatus{
645+
transCtx.Cluster.Status.Shardings = map[string]appsv1.ClusterShardingStatus{
646646
"sharding1": {
647647
Phase: appsv1.CreatingComponentPhase,
648648
},

0 commit comments

Comments
 (0)