Skip to content

Commit 115f816

Browse files
committed
resolve the issue with lease operations in e2e_leaderelection_test
1 parent 45e0968 commit 115f816

File tree

2 files changed

+14
-2
lines changed

2 files changed

+14
-2
lines changed

kubernetes/base/rbac.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ rules:
2525
- apiGroups: ["coordination.k8s.io"]
2626
resources: ["leases"]
2727
resourceNames: ["descheduler"]
28-
verbs: ["get", "patch", "delete","create", "update"]
28+
verbs: ["get", "patch", "delete", "create", "update"]
2929
---
3030
apiVersion: v1
3131
kind: ServiceAccount

test/e2e/e2e_leaderelection_test.go

+13-1
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ import (
2727

2828
appsv1 "k8s.io/api/apps/v1"
2929
v1 "k8s.io/api/core/v1"
30+
apierrors "k8s.io/apimachinery/pkg/api/errors"
3031
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
3132
"k8s.io/apimachinery/pkg/labels"
3233
"k8s.io/apimachinery/pkg/runtime"
@@ -124,6 +125,15 @@ func TestLeaderElection(t *testing.T) {
124125
waitForPodsRunning(ctx, t, clientSet, deployment2.Labels, 5, deployment2.Namespace)
125126
podListBOrg := getCurrentPodNames(t, ctx, clientSet, ns2)
126127

128+
// Delete the descheduler lease
129+
err = clientSet.CoordinationV1().Leases("kube-system").Delete(ctx, "descheduler", metav1.DeleteOptions{})
130+
if err != nil {
131+
if !apierrors.IsNotFound(err) {
132+
t.Fatalf("Unable to remove kube-system/descheduler lease: %v", err)
133+
}
134+
}
135+
t.Logf("Removed kube-system/descheduler lease")
136+
127137
t.Log("Starting deschedulers")
128138
pod1Name, deploy1, cm1 := startDeschedulerServer(t, ctx, clientSet, ns1)
129139
time.Sleep(1 * time.Second)
@@ -150,6 +160,8 @@ func TestLeaderElection(t *testing.T) {
150160
t.Fatalf("Unable to delete %q CM: %v", cm.Name, err)
151161
}
152162
}
163+
164+
clientSet.CoordinationV1().Leases("kube-system").Delete(ctx, "descheduler", metav1.DeleteOptions{})
153165
}()
154166

155167
// wait for a while so all the pods are 5 seconds older
@@ -226,7 +238,7 @@ func startDeschedulerServer(t *testing.T, ctx context.Context, clientSet clients
226238
deschedulerDeploymentObj := deschedulerDeployment(testName, func(deployment *appsv1.Deployment) {
227239
deployment.Name = fmt.Sprintf("%s-%s", deployment.Name, testName)
228240
args := deployment.Spec.Template.Spec.Containers[0].Args
229-
deployment.Spec.Template.Spec.Containers[0].Args = append(args, "--leader-elect")
241+
deployment.Spec.Template.Spec.Containers[0].Args = append(args, "--leader-elect", "--leader-elect-retry-period", "1s")
230242
deployment.Spec.Template.Spec.Volumes = []v1.Volume{
231243
{
232244
Name: "policy-volume",

0 commit comments

Comments
 (0)