MCPcopy
hub / github.com/apecloud/kubeblocks / IsOwnerOf

Function IsOwnerOf

pkg/controller/model/transform_utils.go:65–100  ·  view source on GitHub ↗
(owner, obj client.Object)

Source from the content-addressed store, hash-verified

63}
64
65func IsOwnerOf(owner, obj client.Object) bool {
66 ro, ok := owner.(runtime.Object)
67 if !ok {
68 return false
69 }
70 gvk, err := apiutil.GVKForObject(ro, scheme)
71 if err != nil {
72 return false
73 }
74 ref := metav1.OwnerReference{
75 APIVersion: gvk.GroupVersion().String(),
76 Kind: gvk.Kind,
77 UID: owner.GetUID(),
78 Name: owner.GetName(),
79 }
80 owners := obj.GetOwnerReferences()
81 referSameObject := func(a, b metav1.OwnerReference) bool {
82 aGV, err := schema.ParseGroupVersion(a.APIVersion)
83 if err != nil {
84 return false
85 }
86
87 bGV, err := schema.ParseGroupVersion(b.APIVersion)
88 if err != nil {
89 return false
90 }
91
92 return aGV.Group == bGV.Group && a.Kind == b.Kind && a.Name == b.Name
93 }
94 for _, ownerRef := range owners {
95 if referSameObject(ownerRef, ref) {
96 return true
97 }
98 }
99 return false
100}
101
102func actionPtr(action Action) *Action {
103 return &action

Callers 8

listOwnedServicesMethod · 0.92
createOrUpdateServiceMethod · 0.92
updateOwnerReferenceFunction · 0.92
updateReconcileObjectFunction · 0.92
ReadObjectTreeFunction · 0.92

Calls 2

GetNameMethod · 0.65
StringMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…