Skip to content

Commit 7edfc04

Browse files
authored
Merge pull request #2365 from iiiceoo/fix-rv
🐛 fakeClient.Status().Update(...) cannot recognize resource version conflicts
2 parents e54088c + 6c14198 commit 7edfc04

File tree

2 files changed

+5
-4
lines changed

2 files changed

+5
-4
lines changed

pkg/client/fake/client.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -992,11 +992,11 @@ func copyNonStatusFrom(old, new runtime.Object) error {
992992
}
993993
}
994994

995-
newClientObject.SetResourceVersion(rv)
996-
997995
if err := fromMapStringAny(newMapStringAny, new); err != nil {
998996
return fmt.Errorf("failed to convert back from map[string]any: %w", err)
999997
}
998+
newClientObject.SetResourceVersion(rv)
999+
10001000
return nil
10011001
}
10021002

pkg/client/fake/client_test.go

+3-2
Original file line numberDiff line numberDiff line change
@@ -1431,14 +1431,15 @@ var _ = Describe("Fake client", func() {
14311431
It("should return a conflict error when an incorrect RV is used on status update", func() {
14321432
obj := &corev1.Node{
14331433
ObjectMeta: metav1.ObjectMeta{
1434-
Name: "node",
1434+
Name: "node",
1435+
ResourceVersion: trackerAddResourceVersion,
14351436
},
14361437
}
14371438
cl := NewClientBuilder().WithStatusSubresource(obj).WithObjects(obj).Build()
14381439

14391440
obj.Status.Phase = corev1.NodeRunning
14401441
obj.ResourceVersion = "invalid"
1441-
err := cl.Update(context.Background(), obj)
1442+
err := cl.Status().Update(context.Background(), obj)
14421443
Expect(apierrors.IsConflict(err)).To(BeTrue())
14431444
})
14441445

0 commit comments

Comments
 (0)