@@ -94,23 +94,37 @@ func (hv *HypervisorController) Reconcile(ctx context.Context, req ctrl.Request)
9494 // continue with creation
9595 } else {
9696 // update Status if needed
97+ changed := false
98+
99+ // transfer internal IP
100+ for _ , address := range node .Status .Addresses {
101+ if address .Type == corev1 .NodeInternalIP && hypervisor .Status .InternalIP != address .Address {
102+ hypervisor .Status .InternalIP = address .Address
103+ changed = true
104+ break
105+ }
106+ }
107+
108+ // update terminating condition
97109 nodeTerminationCondition := FindNodeStatusCondition (node .Status .Conditions , "Terminating" )
98110 if nodeTerminationCondition != nil && nodeTerminationCondition .Status == corev1 .ConditionTrue {
99111 // Node might be terminating, propagate condition to hypervisor
100- changed : = meta .SetStatusCondition (& hypervisor .Status .Conditions , metav1.Condition {
112+ changed = meta .SetStatusCondition (& hypervisor .Status .Conditions , metav1.Condition {
101113 Type : kvmv1 .ConditionTypeReady ,
102114 Status : metav1 .ConditionFalse ,
103115 Reason : nodeTerminationCondition .Reason ,
104116 Message : nodeTerminationCondition .Message ,
105- }) || meta .SetStatusCondition (& hypervisor .Status .Conditions , metav1.Condition {
117+ }) || changed
118+ changed = meta .SetStatusCondition (& hypervisor .Status .Conditions , metav1.Condition {
106119 Type : kvmv1 .ConditionTypeTerminating ,
107120 Status : metav1 .ConditionStatus (nodeTerminationCondition .Status ),
108121 Reason : nodeTerminationCondition .Reason ,
109122 Message : nodeTerminationCondition .Message ,
110- })
111- if changed {
112- return ctrl.Result {}, hv .Status ().Update (ctx , hypervisor )
113- }
123+ }) || changed
124+ }
125+
126+ if changed {
127+ return ctrl.Result {}, hv .Status ().Update (ctx , hypervisor )
114128 }
115129
116130 // transport label/anotations changes
0 commit comments