diff --git a/pkg/kubectl/cmd/drain.go b/pkg/kubectl/cmd/drain.go index 8f6d511bc03..7e2d8fd5e00 100644 --- a/pkg/kubectl/cmd/drain.go +++ b/pkg/kubectl/cmd/drain.go @@ -631,6 +631,9 @@ func (o *DrainOptions) RunCordonOrUncordon(desired bool) error { return err } oldData, err := json.Marshal(obj) + if err != nil { + return err + } node, ok := obj.(*corev1.Node) if !ok { return fmt.Errorf("unexpected Type%T, expected Node", obj) @@ -642,6 +645,9 @@ func (o *DrainOptions) RunCordonOrUncordon(desired bool) error { helper := resource.NewHelper(o.restClient, o.nodeInfo.Mapping) node.Spec.Unschedulable = desired newData, err := json.Marshal(obj) + if err != nil { + return err + } patchBytes, err := strategicpatch.CreateTwoWayMergePatch(oldData, newData, obj) if err != nil { return err