Merge pull request #5889 from mszacillo/cleanup-work-immediately
Cleanup works from cluster if purgemode is immediately
This commit is contained in:
commit
c8b033d47d
|
@ -186,8 +186,12 @@ func ObtainBindingSpecExistingClusters(bindingSpec workv1alpha2.ResourceBindingS
|
|||
}
|
||||
|
||||
for _, task := range bindingSpec.GracefulEvictionTasks {
|
||||
// EvictionTasks with Immediately PurgeMode should not be treated as existing clusters
|
||||
// Work on those clusters should be removed immediately and treated as orphans
|
||||
if task.PurgeMode != policyv1alpha1.Immediately {
|
||||
clusterNames.Insert(task.FromCluster)
|
||||
}
|
||||
}
|
||||
|
||||
return clusterNames
|
||||
}
|
||||
|
|
|
@ -35,6 +35,7 @@ import (
|
|||
"sigs.k8s.io/controller-runtime/pkg/client"
|
||||
"sigs.k8s.io/controller-runtime/pkg/client/fake"
|
||||
|
||||
policyv1alpha1 "github.com/karmada-io/karmada/pkg/apis/policy/v1alpha1"
|
||||
workv1alpha1 "github.com/karmada-io/karmada/pkg/apis/work/v1alpha1"
|
||||
workv1alpha2 "github.com/karmada-io/karmada/pkg/apis/work/v1alpha2"
|
||||
"github.com/karmada-io/karmada/pkg/util/fedinformer/genericmanager"
|
||||
|
@ -335,6 +336,36 @@ func TestObtainBindingSpecExistingClusters(t *testing.T) {
|
|||
},
|
||||
want: sets.New("member1", "member2", "member3"),
|
||||
},
|
||||
{
|
||||
name: "unique cluster names with GracefulEvictionTasks with PurgeMode Immediately",
|
||||
bindingSpec: workv1alpha2.ResourceBindingSpec{
|
||||
Clusters: []workv1alpha2.TargetCluster{
|
||||
{
|
||||
Name: "member1",
|
||||
Replicas: 2,
|
||||
},
|
||||
{
|
||||
Name: "member2",
|
||||
Replicas: 3,
|
||||
},
|
||||
},
|
||||
GracefulEvictionTasks: []workv1alpha2.GracefulEvictionTask{
|
||||
{
|
||||
FromCluster: "member3",
|
||||
PurgeMode: policyv1alpha1.Immediately,
|
||||
},
|
||||
{
|
||||
FromCluster: "member4",
|
||||
PurgeMode: policyv1alpha1.Graciously,
|
||||
},
|
||||
{
|
||||
FromCluster: "member5",
|
||||
PurgeMode: policyv1alpha1.Never,
|
||||
},
|
||||
},
|
||||
},
|
||||
want: sets.New("member1", "member2", "member4", "member5"),
|
||||
},
|
||||
}
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
|
|
Loading…
Reference in New Issue