@@ -62,12 +62,12 @@ func (p *NodePatcher) Patch(
6262 desired := current .DeepCopy ()
6363
6464 if err := mutate (desired ); err != nil {
65- return err
65+ return fmt . Errorf ( "mutate node %q: %w" , nodeName , err )
6666 }
6767
6868 patch , err := NodeMergePatch (current , desired )
6969 if err != nil {
70- return err
70+ return fmt . Errorf ( "build merge patch for node %q: %w" , nodeName , err )
7171 }
7272
7373 if patch == nil {
@@ -89,13 +89,13 @@ func (p *NodePatcher) Patch(
8989
9090 current , err = nodes .Get (ctx , nodeName , metav1.GetOptions {})
9191 if err != nil {
92- return err
92+ return fmt . Errorf ( "refresh node %q after patch conflict: %w" , nodeName , err )
9393 }
9494
95- return patchErr
95+ return fmt . Errorf ( "patch node %q: %w" , nodeName , patchErr )
9696 }
9797
98- return err
98+ return fmt . Errorf ( "patch node %q: %w" , nodeName , err )
9999 })
100100 if err != nil {
101101 return nil , false , err
@@ -116,7 +116,12 @@ func (p *NodePatcher) currentNode(
116116 return cached , nil
117117 }
118118
119- return nodes .Get (ctx , nodeName , metav1.GetOptions {})
119+ current , err := nodes .Get (ctx , nodeName , metav1.GetOptions {})
120+ if err != nil {
121+ return nil , fmt .Errorf ("get node %q from API server: %w" , nodeName , err )
122+ }
123+
124+ return current , nil
120125 }
121126
122127 writtenVersion , _ := writtenVersionValue .(string )
@@ -127,11 +132,13 @@ func (p *NodePatcher) currentNode(
127132 }
128133
129134 current , err := nodes .Get (ctx , nodeName , metav1.GetOptions {})
130- if err = = nil {
131- p . pendingVersions . CompareAndDelete ( nodeName , writtenVersionValue )
135+ if err ! = nil {
136+ return nil , fmt . Errorf ( "refresh node %q while pending write is not in cache: %w" , nodeName , err )
132137 }
133138
134- return current , err
139+ p .pendingVersions .CompareAndDelete (nodeName , writtenVersionValue )
140+
141+ return current , nil
135142}
136143
137144func nodePatchBackoff () wait.Backoff {
0 commit comments