diff --git a/pkg/controller/route/routecontroller.go b/pkg/controller/route/routecontroller.go index 470e4421a70..5f776c6a758 100644 --- a/pkg/controller/route/routecontroller.go +++ b/pkg/controller/route/routecontroller.go @@ -137,7 +137,11 @@ func (rc *RouteController) reconcile(nodes []api.Node, routes []*cloudprovider.R } }(node.Name, nameHint, route) } else { - rc.updateNetworkingCondition(node.Name, true) + // Update condition only if it doesn't reflect the current state. + _, condition := api.GetNodeCondition(&node.Status, api.NodeNetworkUnavailable) + if condition == nil || condition.Status != api.ConditionFalse { + rc.updateNetworkingCondition(node.Name, true) + } } nodeCIDRs[node.Name] = node.Spec.PodCIDR }