You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Propagate OpenStackServer dependency errors to OpenStackMachine
- Improve error and pending dependency reporting in server spec resolution
- Surface dependency errors and pending states as conditions on OpenStackServer
- Propagate OpenStackServer error and waiting states to OpenStackMachine
- Refactor ResolveServerSpec to return pending dependencies for better diagnostics
v1beta1conditions.MarkFalse(openStackMachine, infrav1.InstanceReadyCondition, infrav1.InstanceNotReadyReason, clusterv1beta1.ConditionSeverityInfo, "Waiting for instance to be created")
452
+
v1beta1conditions.MarkFalse(openStackMachine, clusterv1beta1.ReadyCondition, infrav1.InstanceNotReadyReason, clusterv1beta1.ConditionSeverityInfo, "Waiting for instance to be created")
v1beta1conditions.MarkFalse(openStackMachine, clusterv1beta1.ReadyCondition, infrav1.InstanceStateErrorReason, clusterv1beta1.ConditionSeverityError, "Instance is in ERROR state")
495
+
// Propagate the error message from the InstanceReady condition on the OpenStackServer if available
// Set a condition to make the error visible on the OpenStackServer status.
325
+
// This helps users understand why the server is not being created.
326
+
v1beta1conditions.MarkFalse(openStackServer, infrav1.InstanceReadyCondition, infrav1.DependencyFailedReason, clusterv1beta1.ConditionSeverityError, "Failed to resolve server spec: %v", err)
324
327
return ctrl.Result{}, err
325
328
}
329
+
if!resolveDone {
330
+
// Set a condition to indicate we're waiting for dependencies (e.g., ORC Image not ready yet).
331
+
// This helps users understand why the server is not being created.
332
+
// Include the list of pending dependencies to help with debugging.
333
+
v1beta1conditions.MarkFalse(openStackServer, infrav1.InstanceReadyCondition, infrav1.InstanceNotReadyReason, clusterv1beta1.ConditionSeverityInfo, "Waiting for server dependencies to be resolved: %v", pendingDependencies)
334
+
return ctrl.Result{}, nil
335
+
}
326
336
327
337
// Also add the finalizer when writing resolved resources so we can start creating resources on the next reconcile.
0 commit comments