@@ -424,18 +424,19 @@ func updateClusterVersionStatus(
424424
425425func conditionalUpdateWithRiskNamesAndRiskConditions (conditionalUpdates []configv1.ConditionalUpdate , getAvailableUpdates func () * availableUpdates , desiredImage string ) ([]configv1.ConditionalUpdate , []string ) {
426426 var result []configv1.ConditionalUpdate
427+ for _ , update := range conditionalUpdates {
428+ result = append (result , * update .DeepCopy ())
429+ }
427430 var riskNamesForDesiredImage []string
428431 var riskConditions map [string ][]metav1.Condition
429432 updates := getAvailableUpdates ()
430433 if updates != nil {
431434 riskConditions = updates .RiskConditions
432435 }
433- for _ , conditionalUpdate := range conditionalUpdates {
436+ for i , conditionalUpdate := range result {
434437 riskNames := sets .New [string ]()
435- var risks []configv1.ConditionalUpdateRisk
436- for _ , risk := range conditionalUpdate .Risks {
438+ for j , risk := range conditionalUpdate .Risks {
437439 riskNames .Insert (risk .Name )
438- riskTypesToRemove := sets .New [string ]()
439440 conditions , ok := riskConditions [risk .Name ]
440441 if ! ok {
441442 // This should never happen
@@ -447,28 +448,14 @@ func conditionalUpdateWithRiskNamesAndRiskConditions(conditionalUpdates []config
447448 },
448449 }
449450 }
450- for _ , condition := range risk .Conditions {
451- if found := meta .FindStatusCondition (conditions , condition .Type ); found == nil {
452- riskTypesToRemove .Insert (condition .Type )
453- }
454- }
455- for riskTypeToRemove := range riskTypesToRemove {
456- meta .RemoveStatusCondition (& risk .Conditions , riskTypeToRemove )
457- }
458- for _ , condition := range conditions {
459- meta .SetStatusCondition (& risk .Conditions , condition )
460- }
461- risks = append (risks , risk )
451+ result [i ].Risks [j ].Conditions = conditions
462452 }
463453 if riskNames .Len () > 0 {
464- conditionalUpdate .RiskNames = sets.List [string ](riskNames )
454+ result [ i ] .RiskNames = sets.List [string ](riskNames )
465455 }
466- conditionalUpdate .Risks = risks
467-
468456 if desiredImage == conditionalUpdate .Release .Image {
469- riskNamesForDesiredImage = conditionalUpdate .RiskNames
457+ riskNamesForDesiredImage = result [ i ] .RiskNames
470458 }
471- result = append (result , conditionalUpdate )
472459 }
473460 return result , riskNamesForDesiredImage
474461}
0 commit comments