BIOSVersion
BIOSVersion represents a BIOS Version upgrade operation for a physical server (compute system). It updates the bios Version on physical server's BIOS.
Key Points
BIOSVersionmaps a BIOS version required for a given server's BIOS.BIOSVersionSpec contains the required details to upgrade the BIOS to required version.
- Only one
BIOSVersioncan be active perServerat a time. BIOSVersionstarts the version upgrade of the BIOS using redfishSimpleUpgradeAPI.BIOSVersionhandles reboots of server usingServerMaintenanceresource.- Once
BIOSVersionmoves toFailedstate, It stays in this state unless Manually moved out of this state.
Workflow
- A separate operator (e.g.,
biosVersionSet) or user creates aBIOSVersionresource referencing a specificServer. - Provided BIOS Version is checked against the current BIOS version.
- If version is same as on the server's BIOS, the state is moved to
Completed. - If
ServerMaintenanceis not provided already. it requests for one and waits for theserverto enterMaintenancestate.policyused byServerMaintenanceis to be provided through SpecServerMaintenancePolicyinBIOSVersion
BIOSVersionissues the bios upgrade using redfishSimpleUpgradeAPI. and monitors theupgrade taskcreated by the API.- the
BIOSVersionmoves toFailedstate:- If
SimpleUpgadeis issued but unable to get the task to monitor the progress of bios upgrade - If the
upgrade taskcreated by SimpleUpgade fails and does not reach completed state. - If the bios version requested is lower than that of the current bios version
- If
BIOSVersionmoves to reboot the server once theupgrade taskhas been completed.BIOSVersionverfiy the bios version post reboot, removes theServerMaintenanceresource if created by self. and transistion toCompletedstate- Any further update to the
BIOSVersionSpec will restart the process.
Example
yaml
apiVersion: metal.ironcore.dev/v1alpha1
kind: BIOSVersion
metadata:
name: biosversion-sample
spec:
version: "U59 v2.34 (10/04/2024)"
image:
URI: "https://foo-2.34_10_04_2024.signed.flash"
transferProtocol: "HTTPS"
serverRef:
name: endpoint-sample-system-0
serverMaintenancePolicy: OwnerApproval