@@ -84,16 +84,9 @@ func NewHelper(obj client.Object, crClient client.Client) (*Helper, error) {
8484 return nil , errors .Wrapf (err , "failed to identify condition fields for object %s" , klog .KObj (obj ))
8585 }
8686
87- // Convert the object to unstructured to compare against our before copy.
88- unstructuredObj , err := toUnstructured (obj , gvk )
89- if err != nil {
90- return nil , errors .Wrapf (err , "failed to create patch helper for %s %s: failed to convert object to Unstructured" , gvk .Kind , klog .KObj (obj ))
91- }
92-
9387 return & Helper {
9488 client : crClient ,
9589 gvk : gvk ,
96- before : unstructuredObj ,
9790 beforeObject : obj .DeepCopyObject ().(client.Object ),
9891 metav1ConditionsFieldPath : metav1ConditionsFieldPath ,
9992 clusterv1ConditionsFieldPath : clusterv1ConditionsFieldPath ,
@@ -138,10 +131,16 @@ func (h *Helper) Patch(ctx context.Context, obj client.Object, opts ...Option) e
138131 h .metav1ConditionsFieldPath = nil
139132 }
140133
141- // Convert the object to unstructured to compare against our before copy.
134+ // Convert the before object to unstructured.
135+ h .before , err = toUnstructured (h .beforeObject , gvk )
136+ if err != nil {
137+ return errors .Wrapf (err , "failed to patch %s %s: failed to convert before object to Unstructured" , h .gvk .Kind , klog .KObj (h .beforeObject ))
138+ }
139+
140+ // Convert the after object to unstructured.
142141 h .after , err = toUnstructured (obj , gvk )
143142 if err != nil {
144- return errors .Wrapf (err , "failed to patch %s %s: failed to convert object to Unstructured" , h .gvk .Kind , klog .KObj (h .beforeObject ))
143+ return errors .Wrapf (err , "failed to patch %s %s: failed to convert after object to Unstructured" , h .gvk .Kind , klog .KObj (h .beforeObject ))
145144 }
146145
147146 // Determine if the object has status.
0 commit comments