diff --git a/pkg/api/helpers.go b/pkg/api/helpers.go index faa7df7c0f4..f3ff8321b31 100644 --- a/pkg/api/helpers.go +++ b/pkg/api/helpers.go @@ -494,7 +494,7 @@ func GetTolerationsFromPodAnnotations(annotations map[string]string) ([]Tolerati // AddOrUpdateTolerationInPod tries to add a toleration to the pod's toleration list. // Returns true if something was updated, false otherwise. -func AddOrUpdateTolerationInPod(pod *Pod, toleration *Toleration) (bool, error) { +func AddOrUpdateTolerationInPod(pod *Pod, toleration *Toleration) bool { podTolerations := pod.Spec.Tolerations var newTolerations []Toleration @@ -502,7 +502,7 @@ func AddOrUpdateTolerationInPod(pod *Pod, toleration *Toleration) (bool, error) for i := range podTolerations { if toleration.MatchToleration(&podTolerations[i]) { if Semantic.DeepEqual(toleration, podTolerations[i]) { - return false, nil + return false } newTolerations = append(newTolerations, *toleration) updated = true @@ -517,7 +517,7 @@ func AddOrUpdateTolerationInPod(pod *Pod, toleration *Toleration) (bool, error) } pod.Spec.Tolerations = newTolerations - return true, nil + return true } // MatchToleration checks if the toleration matches tolerationToMatch. Tolerations are unique by , diff --git a/pkg/api/v1/helpers.go b/pkg/api/v1/helpers.go index 83495de0b4d..0308031e172 100644 --- a/pkg/api/v1/helpers.go +++ b/pkg/api/v1/helpers.go @@ -276,9 +276,9 @@ const ( AffinityAnnotationKey string = "scheduler.alpha.kubernetes.io/affinity" ) -// Tries to add a toleration to annotations list. Returns true if something was updated -// false otherwise. -func AddOrUpdateTolerationInPod(pod *Pod, toleration *Toleration) (bool, error) { +// AddOrUpdateTolerationInPod tries to add a toleration to the pod's toleration list. +// Returns true if something was updated, false otherwise. +func AddOrUpdateTolerationInPod(pod *Pod, toleration *Toleration) bool { podTolerations := pod.Spec.Tolerations var newTolerations []Toleration @@ -286,7 +286,7 @@ func AddOrUpdateTolerationInPod(pod *Pod, toleration *Toleration) (bool, error) for i := range podTolerations { if toleration.MatchToleration(&podTolerations[i]) { if api.Semantic.DeepEqual(toleration, podTolerations[i]) { - return false, nil + return false } newTolerations = append(newTolerations, *toleration) updated = true @@ -301,7 +301,7 @@ func AddOrUpdateTolerationInPod(pod *Pod, toleration *Toleration) (bool, error) } pod.Spec.Tolerations = newTolerations - return true, nil + return true } // MatchToleration checks if the toleration matches tolerationToMatch. Tolerations are unique by , diff --git a/pkg/controller/daemon/daemoncontroller.go b/pkg/controller/daemon/daemoncontroller.go index 0be5af636f1..97a3a365dac 100644 --- a/pkg/controller/daemon/daemoncontroller.go +++ b/pkg/controller/daemon/daemoncontroller.go @@ -858,27 +858,21 @@ func (dsc *DaemonSetsController) nodeShouldRunDaemonPod(node *v1.Node, ds *exten // Add infinite toleration for taint notReady:NoExecute here // to survive taint-based eviction enforced by NodeController // when node turns not ready. - _, err = v1.AddOrUpdateTolerationInPod(newPod, &v1.Toleration{ + v1.AddOrUpdateTolerationInPod(newPod, &v1.Toleration{ Key: metav1.TaintNodeNotReady, Operator: v1.TolerationOpExists, Effect: v1.TaintEffectNoExecute, }) - if err != nil { - return false, false, false, err - } // DaemonSet pods shouldn't be deleted by NodeController in case of node problems. // Add infinite toleration for taint unreachable:NoExecute here // to survive taint-based eviction enforced by NodeController // when node turns unreachable. - _, err = v1.AddOrUpdateTolerationInPod(newPod, &v1.Toleration{ + v1.AddOrUpdateTolerationInPod(newPod, &v1.Toleration{ Key: metav1.TaintNodeUnreachable, Operator: v1.TolerationOpExists, Effect: v1.TaintEffectNoExecute, }) - if err != nil { - return false, false, false, err - } pods := []*v1.Pod{} diff --git a/plugin/pkg/admission/defaulttolerationseconds/admission.go b/plugin/pkg/admission/defaulttolerationseconds/admission.go index b0f5a8c903a..ec0060121b1 100644 --- a/plugin/pkg/admission/defaulttolerationseconds/admission.go +++ b/plugin/pkg/admission/defaulttolerationseconds/admission.go @@ -97,29 +97,21 @@ func (p *plugin) Admit(attributes admission.Attributes) (err error) { } if !toleratesNodeNotReady { - _, err := api.AddOrUpdateTolerationInPod(pod, &api.Toleration{ + api.AddOrUpdateTolerationInPod(pod, &api.Toleration{ Key: metav1.TaintNodeNotReady, Operator: api.TolerationOpExists, Effect: api.TaintEffectNoExecute, TolerationSeconds: defaultNotReadyTolerationSeconds, }) - if err != nil { - return admission.NewForbidden(attributes, - fmt.Errorf("failed to add default tolerations for taints `notReady:NoExecute` and `unreachable:NoExecute`, err: %v", err)) - } } if !toleratesNodeUnreachable { - _, err := api.AddOrUpdateTolerationInPod(pod, &api.Toleration{ + api.AddOrUpdateTolerationInPod(pod, &api.Toleration{ Key: metav1.TaintNodeUnreachable, Operator: api.TolerationOpExists, Effect: api.TaintEffectNoExecute, TolerationSeconds: defaultUnreachableTolerationSeconds, }) - if err != nil { - return admission.NewForbidden(attributes, - fmt.Errorf("failed to add default tolerations for taints `notReady:NoExecute` and `unreachable:NoExecute`, err: %v", err)) - } } return nil } diff --git a/staging/src/k8s.io/client-go/pkg/api/helpers.go b/staging/src/k8s.io/client-go/pkg/api/helpers.go index faa7df7c0f4..f3ff8321b31 100644 --- a/staging/src/k8s.io/client-go/pkg/api/helpers.go +++ b/staging/src/k8s.io/client-go/pkg/api/helpers.go @@ -494,7 +494,7 @@ func GetTolerationsFromPodAnnotations(annotations map[string]string) ([]Tolerati // AddOrUpdateTolerationInPod tries to add a toleration to the pod's toleration list. // Returns true if something was updated, false otherwise. -func AddOrUpdateTolerationInPod(pod *Pod, toleration *Toleration) (bool, error) { +func AddOrUpdateTolerationInPod(pod *Pod, toleration *Toleration) bool { podTolerations := pod.Spec.Tolerations var newTolerations []Toleration @@ -502,7 +502,7 @@ func AddOrUpdateTolerationInPod(pod *Pod, toleration *Toleration) (bool, error) for i := range podTolerations { if toleration.MatchToleration(&podTolerations[i]) { if Semantic.DeepEqual(toleration, podTolerations[i]) { - return false, nil + return false } newTolerations = append(newTolerations, *toleration) updated = true @@ -517,7 +517,7 @@ func AddOrUpdateTolerationInPod(pod *Pod, toleration *Toleration) (bool, error) } pod.Spec.Tolerations = newTolerations - return true, nil + return true } // MatchToleration checks if the toleration matches tolerationToMatch. Tolerations are unique by , diff --git a/staging/src/k8s.io/client-go/pkg/api/v1/helpers.go b/staging/src/k8s.io/client-go/pkg/api/v1/helpers.go index 01f4ef4706b..340ba63a4df 100644 --- a/staging/src/k8s.io/client-go/pkg/api/v1/helpers.go +++ b/staging/src/k8s.io/client-go/pkg/api/v1/helpers.go @@ -276,9 +276,9 @@ const ( AffinityAnnotationKey string = "scheduler.alpha.kubernetes.io/affinity" ) -// Tries to add a toleration to annotations list. Returns true if something was updated -// false otherwise. -func AddOrUpdateTolerationInPod(pod *Pod, toleration *Toleration) (bool, error) { +// AddOrUpdateTolerationInPod tries to add a toleration to the pod's toleration list. +// Returns true if something was updated, false otherwise. +func AddOrUpdateTolerationInPod(pod *Pod, toleration *Toleration) bool { podTolerations := pod.Spec.Tolerations var newTolerations []Toleration @@ -286,7 +286,7 @@ func AddOrUpdateTolerationInPod(pod *Pod, toleration *Toleration) (bool, error) for i := range podTolerations { if toleration.MatchToleration(&podTolerations[i]) { if api.Semantic.DeepEqual(toleration, podTolerations[i]) { - return false, nil + return false } newTolerations = append(newTolerations, *toleration) updated = true @@ -301,7 +301,7 @@ func AddOrUpdateTolerationInPod(pod *Pod, toleration *Toleration) (bool, error) } pod.Spec.Tolerations = newTolerations - return true, nil + return true } // MatchToleration checks if the toleration matches tolerationToMatch. Tolerations are unique by ,