Skip to content

Commit b1ccf6f

Browse files
committed
Add unit test
1 parent dc2c91a commit b1ccf6f

File tree

2 files changed

+44
-3
lines changed

2 files changed

+44
-3
lines changed

pkg/node/node.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ func (n Node) CordonAndDrain(nodeName string, reason string, recorder recorderIn
145145
}
146146
if n.nthConfig.UseAPIServerCacheToListPods {
147147
if pods != nil {
148-
pods = n.filterOutDaemonSetPods(pods)
148+
pods = n.FilterOutDaemonSetPods(pods)
149149
err = n.drainHelper.DeleteOrEvictPods(pods.Items)
150150
}
151151
} else {
@@ -649,8 +649,8 @@ func (n Node) fetchAllPods(nodeName string) (*corev1.PodList, error) {
649649
return n.drainHelper.Client.CoreV1().Pods("").List(context.TODO(), listOptions)
650650
}
651651

652-
// filterOutDaemonSetPods filters a list of pods to exclude DaemonSet pods when IgnoreDaemonSets is enabled
653-
func (n *Node) filterOutDaemonSetPods(pods *corev1.PodList) *corev1.PodList {
652+
// FilterOutDaemonSetPods filters a list of pods to exclude DaemonSet pods when IgnoreDaemonSets is enabled
653+
func (n *Node) FilterOutDaemonSetPods(pods *corev1.PodList) *corev1.PodList {
654654
if !n.nthConfig.IgnoreDaemonSets {
655655
return pods
656656
}

pkg/node/node_test.go

+41
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ import (
2626
"github.com/aws/aws-node-termination-handler/pkg/node"
2727
h "github.com/aws/aws-node-termination-handler/pkg/test"
2828
"github.com/aws/aws-node-termination-handler/pkg/uptime"
29+
corev1 "k8s.io/api/core/v1"
2930
v1 "k8s.io/api/core/v1"
3031
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
3132
"k8s.io/client-go/kubernetes/fake"
@@ -377,3 +378,43 @@ func TestUncordonIfRebootedTimeParseFailure(t *testing.T) {
377378
err = tNode.UncordonIfRebooted(nodeName)
378379
h.Assert(t, err != nil, "Failed to return error on UncordonIfReboted failure to parse time")
379380
}
381+
382+
func TestFilterOutDaemonSetPods(t *testing.T) {
383+
tNode, err := newNode(config.Config{IgnoreDaemonSets: true}, fake.NewSimpleClientset())
384+
h.Ok(t, err)
385+
386+
mockPodList := &corev1.PodList{
387+
Items: []corev1.Pod{
388+
{
389+
ObjectMeta: metav1.ObjectMeta{
390+
Name: "mock-daemon-pod",
391+
OwnerReferences: []metav1.OwnerReference{
392+
{
393+
Kind: "DaemonSet",
394+
Name: "daemon-1",
395+
},
396+
},
397+
},
398+
},
399+
{
400+
ObjectMeta: metav1.ObjectMeta{
401+
Name: "mock-replica-pod",
402+
OwnerReferences: []metav1.OwnerReference{
403+
{
404+
Kind: "ReplicaSet",
405+
Name: "replica-1",
406+
},
407+
},
408+
},
409+
},
410+
{
411+
ObjectMeta: metav1.ObjectMeta{
412+
Name: "mock-regular-pod",
413+
},
414+
},
415+
},
416+
}
417+
418+
filteredMockPodList := tNode.FilterOutDaemonSetPods(mockPodList)
419+
h.Equals(t, 2, len(filteredMockPodList.Items))
420+
}

0 commit comments

Comments
 (0)