From 5468773b837602b310f2a1b031ac3e495d8bec46 Mon Sep 17 00:00:00 2001 From: zhengjiajin <393926893@qq.com> Date: Wed, 24 May 2017 21:59:45 +0800 Subject: [PATCH] add test and fix typo in daemoncontroller --- pkg/controller/daemon/daemoncontroller.go | 2 +- .../daemon/daemoncontroller_test.go | 25 ++++++++++++++++++- 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/pkg/controller/daemon/daemoncontroller.go b/pkg/controller/daemon/daemoncontroller.go index ac34546ba8b..f6ea60316b6 100644 --- a/pkg/controller/daemon/daemoncontroller.go +++ b/pkg/controller/daemon/daemoncontroller.go @@ -814,7 +814,7 @@ func (dsc *DaemonSetsController) syncDaemonSet(key string) error { // summary. Returned booleans are: // * wantToRun: // Returns true when a user would expect a pod to run on this node and ignores conditions -// such as OutOfDisk or insufficent resource that would cause a daemonset pod not to schedule. +// such as OutOfDisk or insufficient resource that would cause a daemonset pod not to schedule. // This is primarily used to populate daemonset status. // * shouldSchedule: // Returns true when a daemonset should be scheduled to a node if a daemonset pod is not already diff --git a/pkg/controller/daemon/daemoncontroller_test.go b/pkg/controller/daemon/daemoncontroller_test.go index d7ee241d448..6a4505dc63d 100644 --- a/pkg/controller/daemon/daemoncontroller_test.go +++ b/pkg/controller/daemon/daemoncontroller_test.go @@ -455,7 +455,7 @@ func TestInsufficientCapacityNodeDaemonDoesNotLaunchPod(t *testing.T) { } // DaemonSets should not unschedule a daemonset pod from a node with insufficient free resource -func TestInsufficentCapacityNodeDaemonDoesNotUnscheduleRunningPod(t *testing.T) { +func TestInsufficientCapacityNodeDaemonDoesNotUnscheduleRunningPod(t *testing.T) { podSpec := resourcePodSpec("too-much-mem", "75M", "75m") podSpec.NodeName = "too-much-mem" ds := newDaemonSet("foo") @@ -1302,6 +1302,29 @@ func TestGetNodesToDaemonPods(t *testing.T) { } } +func TestAddNode(t *testing.T) { + manager, _, _ := newTestController() + node1 := newNode("node1", nil) + ds := newDaemonSet("ds") + ds.Spec.Template.Spec.NodeSelector = simpleNodeLabel + manager.dsStore.Add(ds) + + manager.addNode(node1) + if got, want := manager.queue.Len(), 0; got != want { + t.Fatalf("queue.Len() = %v, want %v", got, want) + } + + node2 := newNode("node2", simpleNodeLabel) + manager.addNode(node2) + if got, want := manager.queue.Len(), 1; got != want { + t.Fatalf("queue.Len() = %v, want %v", got, want) + } + key, done := manager.queue.Get() + if key == nil || done { + t.Fatalf("failed to enqueue controller for node %v", node2.Name) + } +} + func TestAddPod(t *testing.T) { manager, _, _ := newTestController() ds1 := newDaemonSet("foo1")