Skip to content

Commit cbcf4e1

Browse files
Merge pull request #334 from rewantsoni/create-replace
controllers: fix ensureClusterScopedResources
2 parents 428c5c9 + 61f8e7d commit cbcf4e1

File tree

1 file changed

+13
-14
lines changed

1 file changed

+13
-14
lines changed

internal/controller/storageclient_controller.go

+13-14
Original file line numberDiff line numberDiff line change
@@ -782,25 +782,24 @@ func removeStorageClaimAsOwner(obj client.Object) {
782782
func (r *storageClientReconcile) EnsureClusterScopedResource(obj client.Object, extRes *providerpb.ExternalResource, useReplace bool) error {
783783
obj.SetName(extRes.Name)
784784

785-
if err := json.Unmarshal(extRes.Data, obj); err != nil {
786-
return fmt.Errorf("failed to unmarshal %s configuration response: %v", obj.GetName(), err)
787-
}
788-
removeStorageClaimAsOwner(obj)
789-
if err := r.own(obj); err != nil {
790-
return fmt.Errorf("failed to own %s resource: %v", obj.GetName(), err)
785+
mutateFunc := func() error {
786+
if err := json.Unmarshal(extRes.Data, obj); err != nil {
787+
return fmt.Errorf("failed to unmarshal %s configuration response: %v", obj.GetName(), err)
788+
}
789+
removeStorageClaimAsOwner(obj)
790+
if err := r.own(obj); err != nil {
791+
return fmt.Errorf("failed to own %s resource: %v", obj.GetName(), err)
792+
}
793+
utils.AddLabels(obj, extRes.Labels)
794+
utils.AddAnnotations(obj, extRes.Annotations)
795+
return nil
791796
}
792-
utils.AddLabels(obj, extRes.Labels)
793-
utils.AddAnnotations(obj, extRes.Annotations)
794797

795798
var err error
796799
if useReplace {
797-
err = utils.CreateOrReplace(r.ctx, r.Client, obj, func() error {
798-
return nil
799-
})
800+
err = utils.CreateOrReplace(r.ctx, r.Client, obj, mutateFunc)
800801
} else {
801-
err = r.createOrUpdate(obj, func() error {
802-
return nil
803-
})
802+
err = r.createOrUpdate(obj, mutateFunc)
804803
}
805804

806805
if err != nil {

0 commit comments

Comments
 (0)