From ad205f8388e8cddc174bb5aaa28efd2c5cfc2202 Mon Sep 17 00:00:00 2001 From: ajatprabha Date: Fri, 15 Feb 2019 12:30:34 +0530 Subject: [PATCH] add ResourceVersion check to Preconditions#Check Kubernetes-commit: 3135cea2cce02bc8c6796e97f4579d538f357f74 --- pkg/storage/interfaces.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/pkg/storage/interfaces.go b/pkg/storage/interfaces.go index 93b3f5deb..cff425f3a 100644 --- a/pkg/storage/interfaces.go +++ b/pkg/storage/interfaces.go @@ -128,8 +128,14 @@ func (p *Preconditions) Check(key string, obj runtime.Object) error { objMeta.GetUID()) return NewInvalidObjError(key, err) } + if p.ResourceVersion != nil && *p.ResourceVersion != objMeta.GetResourceVersion() { + err := fmt.Sprintf( + "Precondition failed: ResourceVersion in precondition: %v, ResourceVersion in object meta: %v", + *p.ResourceVersion, + objMeta.GetResourceVersion()) + return NewInvalidObjError(key, err) + } return nil - } // Interface offers a common interface for object marshaling/unmarshaling operations and