mirror of
https://github.com/kubernetes/kubernetes.git
synced 2026-05-28 04:04:39 -04:00
Merge pull request #135776 from neolit123/1.36-always-retry-on-patch-node-errors
kubeadm: always retry Patch() Node API calls
This commit is contained in:
commit
bb52ae5e24
2 changed files with 1 additions and 52 deletions
|
|
@ -192,10 +192,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",
|
||||
|
|
|
|||
Loading…
Reference in a new issue