Skip to content

Commit

Permalink
Free up Server if ServerClaim does not exist
Browse files Browse the repository at this point in the history
  • Loading branch information
defo89 committed Jan 29, 2025
1 parent 932f2ee commit 7ea2e99
Showing 1 changed file with 20 additions and 0 deletions.
20 changes: 20 additions & 0 deletions internal/controller/server_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -390,6 +390,26 @@ func (r *ServerReconciler) handleReservedState(ctx context.Context, log logr.Log
}
log.V(1).Info("Server boot configuration is ready")

// TODO: fix properly, we need to free up the server if the claim does not exist anymore
if server.Spec.ServerClaimRef != nil {
claim := &metalv1alpha1.ServerClaim{}
err := r.Get(ctx, client.ObjectKey{
Name: server.Spec.ServerClaimRef.Name,
Namespace: server.Spec.ServerClaimRef.Namespace}, claim)
if err != nil {
if apierrors.IsNotFound(err) {
log.V(1).Info("ServerClaim not found, removing ServerClaimRef", "ServerClaim", server.Spec.ServerClaimRef.Name)
serverBase := server.DeepCopy()
server.Spec.ServerClaimRef = nil
if err := r.Patch(ctx, server, client.MergeFrom(serverBase)); err != nil {
return false, fmt.Errorf("failed to remove ServerClaimRef: %w", err)
}
return false, nil
}
return false, fmt.Errorf("failed to get ServerClaim: %w", err)
}
}

//TODO: handle working Reserved Server that was suddenly powered off but needs to boot from disk
if server.Status.PowerState == metalv1alpha1.ServerOffPowerState {
if err := r.pxeBootServer(ctx, log, server); err != nil {
Expand Down

0 comments on commit 7ea2e99

Please sign in to comment.