diff --git a/internal/controller/serverbootconfiguration_pxe_controller.go b/internal/controller/serverbootconfiguration_pxe_controller.go index c31b0cf8..01389f35 100644 --- a/internal/controller/serverbootconfiguration_pxe_controller.go +++ b/internal/controller/serverbootconfiguration_pxe_controller.go @@ -102,6 +102,9 @@ func (r *ServerBootConfigurationPXEReconciler) reconcile(ctx context.Context, lo kernelURL, initrdURL, squashFSURL, err := r.getImageDetailsFromConfig(ctx, config) if err != nil { + if err := r.patchState(ctx, config, metalv1alpha1.ServerBootConfigurationStateError); err != nil { + return ctrl.Result{}, fmt.Errorf("failed to patch server boot config state to %s: %w", metalv1alpha1.ServerBootConfigurationStateError, err) + } return ctrl.Result{}, fmt.Errorf("failed to get image details from BootConfig: %w", err) } log.V(1).Info("Extracted OS image layer details")