@@ -81,34 +81,25 @@ func ObjectMetaEqual(a, b metav1.ObjectMeta) map[string]any {
8181// CAPIMachineSetStatusEqual compares variables a and b, 
8282// and returns a list of differences, or nil if there are none, 
8383// for the fields we care about when synchronising MAPI and CAPI Machines. 
84- func  CAPIMachineSetStatusEqual (a , b  clusterv1.MachineSetStatus ) map [string ]any  { //nolint:dupl 
85- 	diff  :=  map [string ]any {}
86- 
87- 	if  diffConditions  :=  compareCAPIMachineSetConditions (a .Conditions , b .Conditions ); len (diffConditions ) >  0  {
88- 		diff [".conditions" ] =  diffConditions 
89- 	}
90- 
91- 	if  diffReadyReplicas  :=  deep .Equal (a .ReadyReplicas , b .ReadyReplicas ); len (diffReadyReplicas ) >  0  {
92- 		diff [".readyReplicas" ] =  diffReadyReplicas 
93- 	}
94- 
95- 	if  diffAvailableReplicas  :=  deep .Equal (a .AvailableReplicas , b .AvailableReplicas ); len (diffAvailableReplicas ) >  0  {
96- 		diff [".availableReplicas" ] =  diffAvailableReplicas 
97- 	}
98- 
99- 	if  diffFullyLabeledReplicas  :=  deep .Equal (a .FullyLabeledReplicas , b .FullyLabeledReplicas ); len (diffFullyLabeledReplicas ) >  0  {
100- 		diff [".fullyLabeledReplicas" ] =  diffFullyLabeledReplicas 
101- 	}
102- 
103- 	if  diffFailureReason  :=  deep .Equal (a .FailureReason , b .FailureReason ); len (diffFailureReason ) >  0  {
104- 		diff [".failureReason" ] =  diffFailureReason 
105- 	}
106- 
107- 	if  diffFailureMessage  :=  deep .Equal (a .FailureMessage , b .FailureMessage ); len (diffFailureMessage ) >  0  {
108- 		diff [".failureMessage" ] =  diffFailureMessage 
109- 	}
110- 
111- 	return  diff 
84+ func  CAPIMachineSetStatusEqual (a , b  clusterv1.MachineSetStatus ) (map [string ]any , error ) {
85+ 	// Maybe we can also have it this way: 
86+ 	// differ := NewUnstructuredDiffer( 
87+ 	// 	WithIgnoreField[clusterv1.MachineSetStatus]("conditions"), 
88+ 	// 	WithCustomDiff(func(a, b clusterv1.MachineSetStatus) ([]string, error) { 
89+ 	// 		return compareCAPIMachineSetConditions(a.Conditions, b.Conditions), nil 
90+ 	// 	}), 
91+ 	// ) 
92+ 
93+ 	differ  :=  UnstructuredDiffer [clusterv1.MachineSetStatus ]{
94+ 		customDiff : []func (a  clusterv1.MachineSetStatus , b  clusterv1.MachineSetStatus ) ([]string , error ){
95+ 			func (a , b  clusterv1.MachineSetStatus ) ([]string , error ) {
96+ 				return  compareCAPIMachineSetConditions (a .Conditions , b .Conditions ), nil 
97+ 			},
98+ 		},
99+ 		ignoreFields : [][]string {{"conditions" }},
100+ 	}
101+ 
102+ 	return  differ .Diff (a , b )
112103}
113104
114105func  compareCAPIMachineSetConditions (a , b  []clusterv1.Condition ) []string  {
@@ -158,7 +149,7 @@ func compareMAPIMachineSetConditions(a, b []mapiv1beta1.Condition) []string {
158149// MAPIMachineSetStatusEqual compares variables a and b, 
159150// and returns a list of differences, or nil if there are none, 
160151// for the fields we care about when synchronising MAPI and CAPI Machines. 
161- func  MAPIMachineSetStatusEqual (a , b  mapiv1beta1.MachineSetStatus ) map [string ]any  {  //nolint:dupl 
152+ func  MAPIMachineSetStatusEqual (a , b  mapiv1beta1.MachineSetStatus ) map [string ]any  {
162153	diff  :=  map [string ]any {}
163154
164155	if  diffConditions  :=  compareMAPIMachineSetConditions (a .Conditions , b .Conditions ); len (diffConditions ) >  0  {
0 commit comments