pkg/controller/util support contextual logging (#115049)
Signed-off-by: Ziqi Zhao <zhaoziqi9146@gmail.com>
This commit is contained in:
@@ -525,7 +525,7 @@ func (nc *Controller) doNodeProcessingPassWorker(ctx context.Context) {
|
||||
}
|
||||
// TODO: re-evaluate whether there are any labels that need to be
|
||||
// reconcile in 1.19. Remove this function if it's no longer necessary.
|
||||
if err := nc.reconcileNodeLabels(nodeName); err != nil {
|
||||
if err := nc.reconcileNodeLabels(ctx, nodeName); err != nil {
|
||||
logger.Error(err, "Failed to reconcile labels for node, requeue it", "node", klog.KRef("", nodeName))
|
||||
// TODO(yujuhong): Add nodeName back to the queue
|
||||
}
|
||||
@@ -675,7 +675,7 @@ func (nc *Controller) monitorNodeHealth(ctx context.Context) error {
|
||||
}
|
||||
for i := range added {
|
||||
logger.V(1).Info("Controller observed a new Node", "node", klog.KRef("", added[i].Name))
|
||||
controllerutil.RecordNodeEvent(nc.recorder, added[i].Name, string(added[i].UID), v1.EventTypeNormal, "RegisteredNode", fmt.Sprintf("Registered Node %v in Controller", added[i].Name))
|
||||
controllerutil.RecordNodeEvent(ctx, nc.recorder, added[i].Name, string(added[i].UID), v1.EventTypeNormal, "RegisteredNode", fmt.Sprintf("Registered Node %v in Controller", added[i].Name))
|
||||
nc.knownNodeSet[added[i].Name] = added[i]
|
||||
nc.addPodEvictorForNewZone(logger, added[i])
|
||||
nc.markNodeAsReachable(ctx, added[i])
|
||||
@@ -683,7 +683,7 @@ func (nc *Controller) monitorNodeHealth(ctx context.Context) error {
|
||||
|
||||
for i := range deleted {
|
||||
logger.V(1).Info("Controller observed a Node deletion", "node", klog.KRef("", deleted[i].Name))
|
||||
controllerutil.RecordNodeEvent(nc.recorder, deleted[i].Name, string(deleted[i].UID), v1.EventTypeNormal, "RemovingNode", fmt.Sprintf("Removing Node %v from Controller", deleted[i].Name))
|
||||
controllerutil.RecordNodeEvent(ctx, nc.recorder, deleted[i].Name, string(deleted[i].UID), v1.EventTypeNormal, "RemovingNode", fmt.Sprintf("Removing Node %v from Controller", deleted[i].Name))
|
||||
delete(nc.knownNodeSet, deleted[i].Name)
|
||||
}
|
||||
|
||||
@@ -1287,7 +1287,7 @@ func (nc *Controller) ComputeZoneState(nodeReadyConditions []*v1.NodeCondition)
|
||||
}
|
||||
|
||||
// reconcileNodeLabels reconciles node labels.
|
||||
func (nc *Controller) reconcileNodeLabels(nodeName string) error {
|
||||
func (nc *Controller) reconcileNodeLabels(ctx context.Context, nodeName string) error {
|
||||
node, err := nc.nodeLister.Get(nodeName)
|
||||
if err != nil {
|
||||
// If node not found, just ignore it.
|
||||
@@ -1327,7 +1327,7 @@ func (nc *Controller) reconcileNodeLabels(nodeName string) error {
|
||||
if len(labelsToUpdate) == 0 {
|
||||
return nil
|
||||
}
|
||||
if !controllerutil.AddOrUpdateLabelsOnNode(nc.kubeClient, labelsToUpdate, node) {
|
||||
if !controllerutil.AddOrUpdateLabelsOnNode(ctx, nc.kubeClient, labelsToUpdate, node) {
|
||||
return fmt.Errorf("failed update labels for node %+v", node)
|
||||
}
|
||||
return nil
|
||||
|
@@ -652,9 +652,10 @@ func TestMonitorNodeHealthEvictPods(t *testing.T) {
|
||||
},
|
||||
}
|
||||
|
||||
_, ctx := ktesting.NewTestContext(t)
|
||||
for _, item := range table {
|
||||
nodeController, _ := newNodeLifecycleControllerFromClient(
|
||||
context.TODO(),
|
||||
ctx,
|
||||
item.fakeNodeHandler,
|
||||
testRateLimiterQPS,
|
||||
testRateLimiterQPS,
|
||||
@@ -673,7 +674,7 @@ func TestMonitorNodeHealthEvictPods(t *testing.T) {
|
||||
if err := nodeController.syncNodeStore(item.fakeNodeHandler); err != nil {
|
||||
t.Errorf("unexpected error: %v", err)
|
||||
}
|
||||
if err := nodeController.monitorNodeHealth(context.TODO()); err != nil {
|
||||
if err := nodeController.monitorNodeHealth(ctx); err != nil {
|
||||
t.Errorf("unexpected error: %v", err)
|
||||
}
|
||||
if item.timeToPass > 0 {
|
||||
@@ -688,7 +689,7 @@ func TestMonitorNodeHealthEvictPods(t *testing.T) {
|
||||
if err := nodeController.syncNodeStore(item.fakeNodeHandler); err != nil {
|
||||
t.Errorf("unexpected error: %v", err)
|
||||
}
|
||||
if err := nodeController.monitorNodeHealth(context.TODO()); err != nil {
|
||||
if err := nodeController.monitorNodeHealth(ctx); err != nil {
|
||||
t.Errorf("unexpected error: %v", err)
|
||||
}
|
||||
zones := testutil.GetZones(item.fakeNodeHandler)
|
||||
@@ -702,7 +703,7 @@ func TestMonitorNodeHealthEvictPods(t *testing.T) {
|
||||
t.Errorf("unexpected error: %v", err)
|
||||
}
|
||||
t.Logf("listed pods %d for node %v", len(pods), value.Value)
|
||||
controllerutil.DeletePods(context.TODO(), item.fakeNodeHandler, pods, nodeController.recorder, value.Value, nodeUID, nodeController.daemonSetInformer.Lister())
|
||||
controllerutil.DeletePods(ctx, item.fakeNodeHandler, pods, nodeController.recorder, value.Value, nodeUID, nodeController.daemonSetInformer.Lister())
|
||||
return true, 0
|
||||
})
|
||||
} else {
|
||||
@@ -820,9 +821,10 @@ func TestPodStatusChange(t *testing.T) {
|
||||
},
|
||||
}
|
||||
|
||||
_, ctx := ktesting.NewTestContext(t)
|
||||
for _, item := range table {
|
||||
nodeController, _ := newNodeLifecycleControllerFromClient(
|
||||
context.TODO(),
|
||||
ctx,
|
||||
item.fakeNodeHandler,
|
||||
testRateLimiterQPS,
|
||||
testRateLimiterQPS,
|
||||
@@ -838,7 +840,7 @@ func TestPodStatusChange(t *testing.T) {
|
||||
if err := nodeController.syncNodeStore(item.fakeNodeHandler); err != nil {
|
||||
t.Errorf("unexpected error: %v", err)
|
||||
}
|
||||
if err := nodeController.monitorNodeHealth(context.TODO()); err != nil {
|
||||
if err := nodeController.monitorNodeHealth(ctx); err != nil {
|
||||
t.Errorf("unexpected error: %v", err)
|
||||
}
|
||||
if item.timeToPass > 0 {
|
||||
@@ -849,7 +851,7 @@ func TestPodStatusChange(t *testing.T) {
|
||||
if err := nodeController.syncNodeStore(item.fakeNodeHandler); err != nil {
|
||||
t.Errorf("unexpected error: %v", err)
|
||||
}
|
||||
if err := nodeController.monitorNodeHealth(context.TODO()); err != nil {
|
||||
if err := nodeController.monitorNodeHealth(ctx); err != nil {
|
||||
t.Errorf("unexpected error: %v", err)
|
||||
}
|
||||
zones := testutil.GetZones(item.fakeNodeHandler)
|
||||
@@ -861,7 +863,7 @@ func TestPodStatusChange(t *testing.T) {
|
||||
if err != nil {
|
||||
t.Errorf("unexpected error: %v", err)
|
||||
}
|
||||
controllerutil.DeletePods(context.TODO(), item.fakeNodeHandler, pods, nodeController.recorder, value.Value, nodeUID, nodeController.daemonSetStore)
|
||||
controllerutil.DeletePods(ctx, item.fakeNodeHandler, pods, nodeController.recorder, value.Value, nodeUID, nodeController.daemonSetStore)
|
||||
return true, 0
|
||||
})
|
||||
}
|
||||
@@ -1102,9 +1104,10 @@ func TestMonitorNodeHealthUpdateStatus(t *testing.T) {
|
||||
expectedPodStatusUpdate: false,
|
||||
},
|
||||
}
|
||||
_, ctx := ktesting.NewTestContext(t)
|
||||
for i, item := range table {
|
||||
nodeController, _ := newNodeLifecycleControllerFromClient(
|
||||
context.TODO(),
|
||||
ctx,
|
||||
item.fakeNodeHandler,
|
||||
testRateLimiterQPS,
|
||||
testRateLimiterQPS,
|
||||
@@ -1120,7 +1123,7 @@ func TestMonitorNodeHealthUpdateStatus(t *testing.T) {
|
||||
if err := nodeController.syncNodeStore(item.fakeNodeHandler); err != nil {
|
||||
t.Errorf("unexpected error: %v", err)
|
||||
}
|
||||
if err := nodeController.monitorNodeHealth(context.TODO()); err != nil {
|
||||
if err := nodeController.monitorNodeHealth(ctx); err != nil {
|
||||
t.Errorf("unexpected error: %v", err)
|
||||
}
|
||||
if item.timeToPass > 0 {
|
||||
@@ -1129,7 +1132,7 @@ func TestMonitorNodeHealthUpdateStatus(t *testing.T) {
|
||||
if err := nodeController.syncNodeStore(item.fakeNodeHandler); err != nil {
|
||||
t.Errorf("unexpected error: %v", err)
|
||||
}
|
||||
if err := nodeController.monitorNodeHealth(context.TODO()); err != nil {
|
||||
if err := nodeController.monitorNodeHealth(ctx); err != nil {
|
||||
t.Errorf("unexpected error: %v", err)
|
||||
}
|
||||
}
|
||||
@@ -1646,8 +1649,9 @@ func TestMonitorNodeHealthUpdateNodeAndPodStatusWithLease(t *testing.T) {
|
||||
|
||||
for _, item := range testcases {
|
||||
t.Run(item.description, func(t *testing.T) {
|
||||
_, ctx := ktesting.NewTestContext(t)
|
||||
nodeController, _ := newNodeLifecycleControllerFromClient(
|
||||
context.TODO(),
|
||||
ctx,
|
||||
item.fakeNodeHandler,
|
||||
testRateLimiterQPS,
|
||||
testRateLimiterQPS,
|
||||
@@ -1666,7 +1670,7 @@ func TestMonitorNodeHealthUpdateNodeAndPodStatusWithLease(t *testing.T) {
|
||||
if err := nodeController.syncLeaseStore(item.lease); err != nil {
|
||||
t.Fatalf("unexpected error: %v", err)
|
||||
}
|
||||
if err := nodeController.monitorNodeHealth(context.TODO()); err != nil {
|
||||
if err := nodeController.monitorNodeHealth(ctx); err != nil {
|
||||
t.Fatalf("unexpected error: %v", err)
|
||||
}
|
||||
if item.timeToPass > 0 {
|
||||
@@ -1678,7 +1682,7 @@ func TestMonitorNodeHealthUpdateNodeAndPodStatusWithLease(t *testing.T) {
|
||||
if err := nodeController.syncLeaseStore(item.newLease); err != nil {
|
||||
t.Fatalf("unexpected error: %v", err)
|
||||
}
|
||||
if err := nodeController.monitorNodeHealth(context.TODO()); err != nil {
|
||||
if err := nodeController.monitorNodeHealth(ctx); err != nil {
|
||||
t.Fatalf("unexpected error: %v", err)
|
||||
}
|
||||
}
|
||||
@@ -1809,9 +1813,10 @@ func TestMonitorNodeHealthMarkPodsNotReady(t *testing.T) {
|
||||
},
|
||||
}
|
||||
|
||||
_, ctx := ktesting.NewTestContext(t)
|
||||
for i, item := range table {
|
||||
nodeController, _ := newNodeLifecycleControllerFromClient(
|
||||
context.TODO(),
|
||||
ctx,
|
||||
item.fakeNodeHandler,
|
||||
testRateLimiterQPS,
|
||||
testRateLimiterQPS,
|
||||
@@ -1827,7 +1832,7 @@ func TestMonitorNodeHealthMarkPodsNotReady(t *testing.T) {
|
||||
if err := nodeController.syncNodeStore(item.fakeNodeHandler); err != nil {
|
||||
t.Errorf("unexpected error: %v", err)
|
||||
}
|
||||
if err := nodeController.monitorNodeHealth(context.TODO()); err != nil {
|
||||
if err := nodeController.monitorNodeHealth(ctx); err != nil {
|
||||
t.Errorf("Case[%d] unexpected error: %v", i, err)
|
||||
}
|
||||
if item.timeToPass > 0 {
|
||||
@@ -1836,7 +1841,7 @@ func TestMonitorNodeHealthMarkPodsNotReady(t *testing.T) {
|
||||
if err := nodeController.syncNodeStore(item.fakeNodeHandler); err != nil {
|
||||
t.Errorf("unexpected error: %v", err)
|
||||
}
|
||||
if err := nodeController.monitorNodeHealth(context.TODO()); err != nil {
|
||||
if err := nodeController.monitorNodeHealth(ctx); err != nil {
|
||||
t.Errorf("Case[%d] unexpected error: %v", i, err)
|
||||
}
|
||||
}
|
||||
@@ -1903,6 +1908,7 @@ func TestMonitorNodeHealthMarkPodsNotReadyWithWorkerSize(t *testing.T) {
|
||||
{workers: 1},
|
||||
}
|
||||
|
||||
_, ctx := ktesting.NewTestContext(t)
|
||||
for i, item := range table {
|
||||
fakeNow := metav1.Date(2015, 1, 1, 12, 0, 0, 0, time.UTC)
|
||||
|
||||
@@ -1912,7 +1918,7 @@ func TestMonitorNodeHealthMarkPodsNotReadyWithWorkerSize(t *testing.T) {
|
||||
}
|
||||
|
||||
nodeController, _ := newNodeLifecycleControllerFromClient(
|
||||
context.TODO(),
|
||||
ctx,
|
||||
fakeNodeHandler,
|
||||
testRateLimiterQPS,
|
||||
testRateLimiterQPS,
|
||||
@@ -1930,7 +1936,7 @@ func TestMonitorNodeHealthMarkPodsNotReadyWithWorkerSize(t *testing.T) {
|
||||
if err := nodeController.syncNodeStore(fakeNodeHandler); err != nil {
|
||||
t.Errorf("unexpected error: %v", err)
|
||||
}
|
||||
if err := nodeController.monitorNodeHealth(context.TODO()); err != nil {
|
||||
if err := nodeController.monitorNodeHealth(ctx); err != nil {
|
||||
t.Errorf("Case[%d] unexpected error: %v", i, err)
|
||||
}
|
||||
|
||||
@@ -1956,7 +1962,7 @@ func TestMonitorNodeHealthMarkPodsNotReadyWithWorkerSize(t *testing.T) {
|
||||
if err := nodeController.syncNodeStore(fakeNodeHandler); err != nil {
|
||||
t.Errorf("unexpected error: %v", err)
|
||||
}
|
||||
if err := nodeController.monitorNodeHealth(context.TODO()); err != nil {
|
||||
if err := nodeController.monitorNodeHealth(ctx); err != nil {
|
||||
t.Errorf("Case[%d] unexpected error: %v", i, err)
|
||||
}
|
||||
|
||||
@@ -2113,8 +2119,9 @@ func TestMonitorNodeHealthMarkPodsNotReadyRetry(t *testing.T) {
|
||||
|
||||
for _, item := range table {
|
||||
t.Run(item.desc, func(t *testing.T) {
|
||||
_, ctx := ktesting.NewTestContext(t)
|
||||
nodeController, _ := newNodeLifecycleControllerFromClient(
|
||||
context.TODO(),
|
||||
ctx,
|
||||
item.fakeNodeHandler,
|
||||
testRateLimiterQPS,
|
||||
testRateLimiterQPS,
|
||||
@@ -2136,7 +2143,7 @@ func TestMonitorNodeHealthMarkPodsNotReadyRetry(t *testing.T) {
|
||||
if err := nodeController.syncNodeStore(item.fakeNodeHandler); err != nil {
|
||||
t.Errorf("unexpected error: %v", err)
|
||||
}
|
||||
if err := nodeController.monitorNodeHealth(context.TODO()); err != nil {
|
||||
if err := nodeController.monitorNodeHealth(ctx); err != nil {
|
||||
t.Errorf("unexpected error: %v", err)
|
||||
}
|
||||
}
|
||||
@@ -2250,8 +2257,9 @@ func TestApplyNoExecuteTaints(t *testing.T) {
|
||||
},
|
||||
}
|
||||
originalTaint := UnreachableTaintTemplate
|
||||
_, ctx := ktesting.NewTestContext(t)
|
||||
nodeController, _ := newNodeLifecycleControllerFromClient(
|
||||
context.TODO(),
|
||||
ctx,
|
||||
fakeNodeHandler,
|
||||
testRateLimiterQPS,
|
||||
testRateLimiterQPS,
|
||||
@@ -2267,11 +2275,11 @@ func TestApplyNoExecuteTaints(t *testing.T) {
|
||||
if err := nodeController.syncNodeStore(fakeNodeHandler); err != nil {
|
||||
t.Errorf("unexpected error: %v", err)
|
||||
}
|
||||
if err := nodeController.monitorNodeHealth(context.TODO()); err != nil {
|
||||
if err := nodeController.monitorNodeHealth(ctx); err != nil {
|
||||
t.Errorf("unexpected error: %v", err)
|
||||
}
|
||||
nodeController.doNoExecuteTaintingPass(context.TODO())
|
||||
node0, err := fakeNodeHandler.Get(context.TODO(), "node0", metav1.GetOptions{})
|
||||
nodeController.doNoExecuteTaintingPass(ctx)
|
||||
node0, err := fakeNodeHandler.Get(ctx, "node0", metav1.GetOptions{})
|
||||
if err != nil {
|
||||
t.Errorf("Can't get current node0...")
|
||||
return
|
||||
@@ -2279,7 +2287,7 @@ func TestApplyNoExecuteTaints(t *testing.T) {
|
||||
if !taintutils.TaintExists(node0.Spec.Taints, UnreachableTaintTemplate) {
|
||||
t.Errorf("Can't find taint %v in %v", originalTaint, node0.Spec.Taints)
|
||||
}
|
||||
node2, err := fakeNodeHandler.Get(context.TODO(), "node2", metav1.GetOptions{})
|
||||
node2, err := fakeNodeHandler.Get(ctx, "node2", metav1.GetOptions{})
|
||||
if err != nil {
|
||||
t.Errorf("Can't get current node2...")
|
||||
return
|
||||
@@ -2290,7 +2298,7 @@ func TestApplyNoExecuteTaints(t *testing.T) {
|
||||
|
||||
// Make node3 healthy again.
|
||||
node2.Status = healthyNodeNewStatus
|
||||
_, err = fakeNodeHandler.UpdateStatus(context.TODO(), node2, metav1.UpdateOptions{})
|
||||
_, err = fakeNodeHandler.UpdateStatus(ctx, node2, metav1.UpdateOptions{})
|
||||
if err != nil {
|
||||
t.Errorf(err.Error())
|
||||
return
|
||||
@@ -2298,12 +2306,12 @@ func TestApplyNoExecuteTaints(t *testing.T) {
|
||||
if err := nodeController.syncNodeStore(fakeNodeHandler); err != nil {
|
||||
t.Errorf("unexpected error: %v", err)
|
||||
}
|
||||
if err := nodeController.monitorNodeHealth(context.TODO()); err != nil {
|
||||
if err := nodeController.monitorNodeHealth(ctx); err != nil {
|
||||
t.Errorf("unexpected error: %v", err)
|
||||
}
|
||||
nodeController.doNoExecuteTaintingPass(context.TODO())
|
||||
nodeController.doNoExecuteTaintingPass(ctx)
|
||||
|
||||
node2, err = fakeNodeHandler.Get(context.TODO(), "node2", metav1.GetOptions{})
|
||||
node2, err = fakeNodeHandler.Get(ctx, "node2", metav1.GetOptions{})
|
||||
if err != nil {
|
||||
t.Errorf("Can't get current node2...")
|
||||
return
|
||||
@@ -2403,8 +2411,9 @@ func TestApplyNoExecuteTaintsToNodesEnqueueTwice(t *testing.T) {
|
||||
},
|
||||
},
|
||||
}
|
||||
_, ctx := ktesting.NewTestContext(t)
|
||||
nodeController, _ := newNodeLifecycleControllerFromClient(
|
||||
context.TODO(),
|
||||
ctx,
|
||||
fakeNodeHandler,
|
||||
testRateLimiterQPS,
|
||||
testRateLimiterQPS,
|
||||
@@ -2421,21 +2430,21 @@ func TestApplyNoExecuteTaintsToNodesEnqueueTwice(t *testing.T) {
|
||||
t.Errorf("unexpected error: %v", err)
|
||||
}
|
||||
// 1. monitor node health twice, add untainted node once
|
||||
if err := nodeController.monitorNodeHealth(context.TODO()); err != nil {
|
||||
if err := nodeController.monitorNodeHealth(ctx); err != nil {
|
||||
t.Errorf("unexpected error: %v", err)
|
||||
}
|
||||
if err := nodeController.monitorNodeHealth(context.TODO()); err != nil {
|
||||
if err := nodeController.monitorNodeHealth(ctx); err != nil {
|
||||
t.Errorf("unexpected error: %v", err)
|
||||
}
|
||||
|
||||
// 2. mark node0 healthy
|
||||
node0, err := fakeNodeHandler.Get(context.TODO(), "node0", metav1.GetOptions{})
|
||||
node0, err := fakeNodeHandler.Get(ctx, "node0", metav1.GetOptions{})
|
||||
if err != nil {
|
||||
t.Errorf("Can't get current node0...")
|
||||
return
|
||||
}
|
||||
node0.Status = healthyNodeNewStatus
|
||||
_, err = fakeNodeHandler.UpdateStatus(context.TODO(), node0, metav1.UpdateOptions{})
|
||||
_, err = fakeNodeHandler.UpdateStatus(ctx, node0, metav1.UpdateOptions{})
|
||||
if err != nil {
|
||||
t.Errorf(err.Error())
|
||||
return
|
||||
@@ -2518,17 +2527,17 @@ func TestApplyNoExecuteTaintsToNodesEnqueueTwice(t *testing.T) {
|
||||
t.Errorf("unexpected error: %v", err)
|
||||
}
|
||||
// 3. start monitor node health again, add untainted node twice, construct UniqueQueue with duplicated node cache
|
||||
if err := nodeController.monitorNodeHealth(context.TODO()); err != nil {
|
||||
if err := nodeController.monitorNodeHealth(ctx); err != nil {
|
||||
t.Errorf("unexpected error: %v", err)
|
||||
}
|
||||
|
||||
// 4. do NoExecute taint pass
|
||||
// when processing with node0, condition.Status is NodeReady, and return true with default case
|
||||
// then remove the set value and queue value both, the taint job never stuck
|
||||
nodeController.doNoExecuteTaintingPass(context.TODO())
|
||||
nodeController.doNoExecuteTaintingPass(ctx)
|
||||
|
||||
// 5. get node3 and node5, see if it has ready got NoExecute taint
|
||||
node3, err := fakeNodeHandler.Get(context.TODO(), "node3", metav1.GetOptions{})
|
||||
node3, err := fakeNodeHandler.Get(ctx, "node3", metav1.GetOptions{})
|
||||
if err != nil {
|
||||
t.Errorf("Can't get current node3...")
|
||||
return
|
||||
@@ -2536,7 +2545,7 @@ func TestApplyNoExecuteTaintsToNodesEnqueueTwice(t *testing.T) {
|
||||
if !taintutils.TaintExists(node3.Spec.Taints, UnreachableTaintTemplate) || len(node3.Spec.Taints) == 0 {
|
||||
t.Errorf("Not found taint %v in %v, which should be present in %s", UnreachableTaintTemplate, node3.Spec.Taints, node3.Name)
|
||||
}
|
||||
node5, err := fakeNodeHandler.Get(context.TODO(), "node5", metav1.GetOptions{})
|
||||
node5, err := fakeNodeHandler.Get(ctx, "node5", metav1.GetOptions{})
|
||||
if err != nil {
|
||||
t.Errorf("Can't get current node5...")
|
||||
return
|
||||
@@ -2625,8 +2634,9 @@ func TestSwapUnreachableNotReadyTaints(t *testing.T) {
|
||||
originalTaint := UnreachableTaintTemplate
|
||||
updatedTaint := NotReadyTaintTemplate
|
||||
|
||||
_, ctx := ktesting.NewTestContext(t)
|
||||
nodeController, _ := newNodeLifecycleControllerFromClient(
|
||||
context.TODO(),
|
||||
ctx,
|
||||
fakeNodeHandler,
|
||||
testRateLimiterQPS,
|
||||
testRateLimiterQPS,
|
||||
@@ -2642,17 +2652,17 @@ func TestSwapUnreachableNotReadyTaints(t *testing.T) {
|
||||
if err := nodeController.syncNodeStore(fakeNodeHandler); err != nil {
|
||||
t.Errorf("unexpected error: %v", err)
|
||||
}
|
||||
if err := nodeController.monitorNodeHealth(context.TODO()); err != nil {
|
||||
if err := nodeController.monitorNodeHealth(ctx); err != nil {
|
||||
t.Errorf("unexpected error: %v", err)
|
||||
}
|
||||
nodeController.doNoExecuteTaintingPass(context.TODO())
|
||||
nodeController.doNoExecuteTaintingPass(ctx)
|
||||
|
||||
node0, err := fakeNodeHandler.Get(context.TODO(), "node0", metav1.GetOptions{})
|
||||
node0, err := fakeNodeHandler.Get(ctx, "node0", metav1.GetOptions{})
|
||||
if err != nil {
|
||||
t.Errorf("Can't get current node0...")
|
||||
return
|
||||
}
|
||||
node1, err := fakeNodeHandler.Get(context.TODO(), "node1", metav1.GetOptions{})
|
||||
node1, err := fakeNodeHandler.Get(ctx, "node1", metav1.GetOptions{})
|
||||
if err != nil {
|
||||
t.Errorf("Can't get current node1...")
|
||||
return
|
||||
@@ -2666,12 +2676,12 @@ func TestSwapUnreachableNotReadyTaints(t *testing.T) {
|
||||
|
||||
node0.Status = newNodeStatus
|
||||
node1.Status = healthyNodeNewStatus
|
||||
_, err = fakeNodeHandler.UpdateStatus(context.TODO(), node0, metav1.UpdateOptions{})
|
||||
_, err = fakeNodeHandler.UpdateStatus(ctx, node0, metav1.UpdateOptions{})
|
||||
if err != nil {
|
||||
t.Errorf(err.Error())
|
||||
return
|
||||
}
|
||||
_, err = fakeNodeHandler.UpdateStatus(context.TODO(), node1, metav1.UpdateOptions{})
|
||||
_, err = fakeNodeHandler.UpdateStatus(ctx, node1, metav1.UpdateOptions{})
|
||||
if err != nil {
|
||||
t.Errorf(err.Error())
|
||||
return
|
||||
@@ -2680,12 +2690,12 @@ func TestSwapUnreachableNotReadyTaints(t *testing.T) {
|
||||
if err := nodeController.syncNodeStore(fakeNodeHandler); err != nil {
|
||||
t.Errorf("unexpected error: %v", err)
|
||||
}
|
||||
if err := nodeController.monitorNodeHealth(context.TODO()); err != nil {
|
||||
if err := nodeController.monitorNodeHealth(ctx); err != nil {
|
||||
t.Errorf("unexpected error: %v", err)
|
||||
}
|
||||
nodeController.doNoExecuteTaintingPass(context.TODO())
|
||||
nodeController.doNoExecuteTaintingPass(ctx)
|
||||
|
||||
node0, err = fakeNodeHandler.Get(context.TODO(), "node0", metav1.GetOptions{})
|
||||
node0, err = fakeNodeHandler.Get(ctx, "node0", metav1.GetOptions{})
|
||||
if err != nil {
|
||||
t.Errorf("Can't get current node0...")
|
||||
return
|
||||
@@ -2728,8 +2738,9 @@ func TestTaintsNodeByCondition(t *testing.T) {
|
||||
Clientset: fake.NewSimpleClientset(&v1.PodList{Items: []v1.Pod{*testutil.NewPod("pod0", "node0")}}),
|
||||
}
|
||||
|
||||
_, ctx := ktesting.NewTestContext(t)
|
||||
nodeController, _ := newNodeLifecycleControllerFromClient(
|
||||
context.TODO(),
|
||||
ctx,
|
||||
fakeNodeHandler,
|
||||
testRateLimiterQPS,
|
||||
testRateLimiterQPS,
|
||||
@@ -2880,11 +2891,11 @@ func TestTaintsNodeByCondition(t *testing.T) {
|
||||
}
|
||||
|
||||
for _, test := range tests {
|
||||
fakeNodeHandler.Update(context.TODO(), test.Node, metav1.UpdateOptions{})
|
||||
fakeNodeHandler.Update(ctx, test.Node, metav1.UpdateOptions{})
|
||||
if err := nodeController.syncNodeStore(fakeNodeHandler); err != nil {
|
||||
t.Errorf("unexpected error: %v", err)
|
||||
}
|
||||
nodeController.doNoScheduleTaintingPass(context.TODO(), test.Node.Name)
|
||||
nodeController.doNoScheduleTaintingPass(ctx, test.Node.Name)
|
||||
if err := nodeController.syncNodeStore(fakeNodeHandler); err != nil {
|
||||
t.Errorf("unexpected error: %v", err)
|
||||
}
|
||||
@@ -2930,8 +2941,9 @@ func TestNodeEventGeneration(t *testing.T) {
|
||||
Clientset: fake.NewSimpleClientset(&v1.PodList{Items: []v1.Pod{*testutil.NewPod("pod0", "node0")}}),
|
||||
}
|
||||
|
||||
_, ctx := ktesting.NewTestContext(t)
|
||||
nodeController, _ := newNodeLifecycleControllerFromClient(
|
||||
context.TODO(),
|
||||
ctx,
|
||||
fakeNodeHandler,
|
||||
testRateLimiterQPS,
|
||||
testRateLimiterQPS,
|
||||
@@ -2949,7 +2961,7 @@ func TestNodeEventGeneration(t *testing.T) {
|
||||
if err := nodeController.syncNodeStore(fakeNodeHandler); err != nil {
|
||||
t.Errorf("unexpected error: %v", err)
|
||||
}
|
||||
if err := nodeController.monitorNodeHealth(context.TODO()); err != nil {
|
||||
if err := nodeController.monitorNodeHealth(ctx); err != nil {
|
||||
t.Errorf("unexpected error: %v", err)
|
||||
}
|
||||
if len(fakeRecorder.Events) != 1 {
|
||||
@@ -3002,8 +3014,9 @@ func TestReconcileNodeLabels(t *testing.T) {
|
||||
Clientset: fake.NewSimpleClientset(&v1.PodList{Items: []v1.Pod{*testutil.NewPod("pod0", "node0")}}),
|
||||
}
|
||||
|
||||
_, ctx := ktesting.NewTestContext(t)
|
||||
nodeController, _ := newNodeLifecycleControllerFromClient(
|
||||
context.TODO(),
|
||||
ctx,
|
||||
fakeNodeHandler,
|
||||
testRateLimiterQPS,
|
||||
testRateLimiterQPS,
|
||||
@@ -3090,11 +3103,11 @@ func TestReconcileNodeLabels(t *testing.T) {
|
||||
}
|
||||
|
||||
for _, test := range tests {
|
||||
fakeNodeHandler.Update(context.TODO(), test.Node, metav1.UpdateOptions{})
|
||||
fakeNodeHandler.Update(ctx, test.Node, metav1.UpdateOptions{})
|
||||
if err := nodeController.syncNodeStore(fakeNodeHandler); err != nil {
|
||||
t.Fatalf("unexpected error: %v", err)
|
||||
}
|
||||
nodeController.reconcileNodeLabels(test.Node.Name)
|
||||
nodeController.reconcileNodeLabels(ctx, test.Node.Name)
|
||||
if err := nodeController.syncNodeStore(fakeNodeHandler); err != nil {
|
||||
t.Fatalf("unexpected error: %v", err)
|
||||
}
|
||||
@@ -3144,8 +3157,9 @@ func TestTryUpdateNodeHealth(t *testing.T) {
|
||||
Clientset: fake.NewSimpleClientset(&v1.PodList{Items: []v1.Pod{*testutil.NewPod("pod0", "node0")}}),
|
||||
}
|
||||
|
||||
_, ctx := ktesting.NewTestContext(t)
|
||||
nodeController, _ := newNodeLifecycleControllerFromClient(
|
||||
context.TODO(),
|
||||
ctx,
|
||||
fakeNodeHandler,
|
||||
testRateLimiterQPS,
|
||||
testRateLimiterQPS,
|
||||
@@ -3317,7 +3331,7 @@ func TestTryUpdateNodeHealth(t *testing.T) {
|
||||
probeTimestamp: test.node.CreationTimestamp,
|
||||
readyTransitionTimestamp: test.node.CreationTimestamp,
|
||||
})
|
||||
_, _, currentReadyCondition, err := nodeController.tryUpdateNodeHealth(context.TODO(), test.node)
|
||||
_, _, currentReadyCondition, err := nodeController.tryUpdateNodeHealth(ctx, test.node)
|
||||
if err != nil {
|
||||
t.Fatalf("unexpected error: %v", err)
|
||||
}
|
||||
|
Reference in New Issue
Block a user