@@ -93,50 +93,6 @@ func (r *HypervisorReconciler) Reconcile(ctx context.Context, req ctrl.Request)
9393 r .evacuateOnReboot = hypervisor .Spec .EvacuateOnReboot
9494 }
9595
96- // ====================================================================================================
97- // Libvirt
98- // ====================================================================================================
99-
100- // Try (re)connect to Libvirt, update status
101- if err := r .Libvirt .Connect (); err != nil {
102- log .Error (err , "unable to connect to Libvirt system bus" )
103- meta .SetStatusCondition (& hypervisor .Status .Conditions , metav1.Condition {
104- Type : LibVirtType ,
105- Status : metav1 .ConditionFalse ,
106- Message : err .Error (),
107- Reason : "ConnectFailed" ,
108- })
109- } else {
110- hypervisor .Status .LibVirtVersion = r .Libvirt .GetVersion ()
111- meta .SetStatusCondition (& hypervisor .Status .Conditions , metav1.Condition {
112- Type : LibVirtType ,
113- Status : metav1 .ConditionTrue ,
114- Reason : "Connected" ,
115- })
116-
117- // Update hypervisor instances
118- hypervisor .Status .NumInstances = r .Libvirt .GetNumInstances ()
119- hypervisor .Status .Instances , _ = r .Libvirt .GetInstances ()
120-
121- // Update capabilities status.
122- if capabilities , err := r .Libvirt .GetCapabilities (); err == nil {
123- hypervisor .Status .Capabilities = capabilities
124- meta .SetStatusCondition (& hypervisor .Status .Conditions , metav1.Condition {
125- Type : CapabilitiesClientType ,
126- Status : metav1 .ConditionTrue ,
127- Reason : "CapabilitiesClientGetSucceeded" ,
128- })
129- } else {
130- log .Error (err , "failed to get capabilities" )
131- meta .SetStatusCondition (& hypervisor .Status .Conditions , metav1.Condition {
132- Type : CapabilitiesClientType ,
133- Status : metav1 .ConditionFalse ,
134- Message : err .Error (),
135- Reason : "CapabilitiesClientGetFailed" ,
136- })
137- }
138- }
139-
14096 // ====================================================================================================
14197 // Systemd
14298 // ====================================================================================================
@@ -190,6 +146,51 @@ func (r *HypervisorReconciler) Reconcile(ctx context.Context, req ctrl.Request)
190146 }
191147 }
192148
149+ // ====================================================================================================
150+ // Libvirt
151+ // ====================================================================================================
152+
153+ // Try (re)connect to Libvirt, update status
154+ if err := r .Libvirt .Connect (); err != nil || meta .IsStatusConditionFalse (hypervisor .Status .Conditions ,
155+ "libvirtd.service" ) {
156+ log .Error (err , "unable to connect to Libvirt system bus" )
157+ meta .SetStatusCondition (& hypervisor .Status .Conditions , metav1.Condition {
158+ Type : LibVirtType ,
159+ Status : metav1 .ConditionFalse ,
160+ Message : fmt .Sprintf ("unable to connect to libvirtd: %v" , err ),
161+ Reason : "ConnectFailed" ,
162+ })
163+ } else {
164+ hypervisor .Status .LibVirtVersion = r .Libvirt .GetVersion ()
165+ meta .SetStatusCondition (& hypervisor .Status .Conditions , metav1.Condition {
166+ Type : LibVirtType ,
167+ Status : metav1 .ConditionTrue ,
168+ Reason : "Connected" ,
169+ })
170+
171+ // Update hypervisor instances
172+ hypervisor .Status .NumInstances = r .Libvirt .GetNumInstances ()
173+ hypervisor .Status .Instances , _ = r .Libvirt .GetInstances ()
174+
175+ // Update capabilities status.
176+ if capabilities , err := r .Libvirt .GetCapabilities (); err == nil {
177+ hypervisor .Status .Capabilities = capabilities
178+ meta .SetStatusCondition (& hypervisor .Status .Conditions , metav1.Condition {
179+ Type : CapabilitiesClientType ,
180+ Status : metav1 .ConditionTrue ,
181+ Reason : "CapabilitiesClientGetSucceeded" ,
182+ })
183+ } else {
184+ log .Error (err , "failed to get capabilities" )
185+ meta .SetStatusCondition (& hypervisor .Status .Conditions , metav1.Condition {
186+ Type : CapabilitiesClientType ,
187+ Status : metav1 .ConditionFalse ,
188+ Message : err .Error (),
189+ Reason : "CapabilitiesClientGetFailed" ,
190+ })
191+ }
192+ }
193+
193194 // Reconcile operating system update
194195 if hypervisor .Spec .OperatingSystemVersion != "" &&
195196 // only update if the version is different to current running version
0 commit comments