mirror of
https://github.com/k3s-io/kubernetes.git
synced 2026-02-21 22:57:15 +00:00
Merge pull request #136070 from neolit123/automated-cherry-pick-of-#135776-origin-release-1.33
Automated cherry pick of #135776: kubeadm: always retry Patch() Node API calls
This commit is contained in:
@@ -193,10 +193,7 @@ func PatchNodeOnce(client clientset.Interface, nodeName string, patchFn func(*v1
|
||||
|
||||
if _, err := client.CoreV1().Nodes().Patch(ctx, n.Name, types.StrategicMergePatchType, patchBytes, metav1.PatchOptions{}); err != nil {
|
||||
*lastError = errors.Wrapf(err, "error patching Node %q", n.Name)
|
||||
if apierrors.IsTimeout(err) || apierrors.IsConflict(err) || apierrors.IsServerTimeout(err) || apierrors.IsServiceUnavailable(err) {
|
||||
return false, nil
|
||||
}
|
||||
return false, *lastError
|
||||
return false, nil
|
||||
}
|
||||
|
||||
return true, nil
|
||||
|
||||
@@ -386,54 +386,6 @@ func TestPatchNodeOnce(t *testing.T) {
|
||||
},
|
||||
success: false,
|
||||
},
|
||||
{
|
||||
name: "patch node when timeout",
|
||||
lookupName: "testnode",
|
||||
node: v1.Node{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
Name: "testnode",
|
||||
Labels: map[string]string{v1.LabelHostname: ""},
|
||||
},
|
||||
},
|
||||
success: false,
|
||||
fakeError: apierrors.NewTimeoutError("fake timeout", -1),
|
||||
},
|
||||
{
|
||||
name: "patch node when conflict",
|
||||
lookupName: "testnode",
|
||||
node: v1.Node{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
Name: "testnode",
|
||||
Labels: map[string]string{v1.LabelHostname: ""},
|
||||
},
|
||||
},
|
||||
success: false,
|
||||
fakeError: apierrors.NewConflict(schema.GroupResource{}, "fake conflict", nil),
|
||||
},
|
||||
{
|
||||
name: "patch node when there is a server timeout",
|
||||
lookupName: "testnode",
|
||||
node: v1.Node{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
Name: "testnode",
|
||||
Labels: map[string]string{v1.LabelHostname: ""},
|
||||
},
|
||||
},
|
||||
success: false,
|
||||
fakeError: apierrors.NewServerTimeout(schema.GroupResource{}, "fake server timeout", 1),
|
||||
},
|
||||
{
|
||||
name: "patch node when the service is unavailable",
|
||||
lookupName: "testnode",
|
||||
node: v1.Node{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
Name: "testnode",
|
||||
Labels: map[string]string{v1.LabelHostname: ""},
|
||||
},
|
||||
},
|
||||
success: false,
|
||||
fakeError: apierrors.NewServiceUnavailable("fake service unavailable"),
|
||||
},
|
||||
{
|
||||
name: "patch node failed with unknown error",
|
||||
lookupName: "testnode",
|
||||
|
||||
Reference in New Issue
Block a user