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
BIOSVersion
maps a BIOS version required for a given server's BIOS.BIOSVersion
Spec contains the required details to upgrade the BIOS to required version.
- Only one
BIOSVersion
can be active perServer
at a time. BIOSVersion
starts the version upgrade of the BIOS using redfishSimpleUpgrade
API.BIOSVersion
handles reboots of server usingServerMaintenance
resource.- Once
BIOSVersion
moves toFailed
state, It stays in this state unless Manually moved out of this state.
Workflow
- A separate operator (e.g.,
biosVersionSet
) or user creates aBIOSVersion
resource 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 the version needs upgrade,
BIOSVersion
checks the current version of BIOS and if required version is lower than the requested,BIOSVersion
moves the state toFailed
- If
ServerMaintenance
is not provided already. it requests for one and waits for theserver
to enterMaintenance
state.policy
used byServerMaintenance
is to be provided through SpecServerMaintenancePolicy
inBIOSVersion
BIOSVersion
issues the bios upgrade using redfishSimpleUpgrade
API. and monitors theupgrade task
created by the API.- the
BIOSVersion
moves toFailed
state:- If
SimpleUpgade
is issued but unable to get the task to monitor the progress of bios upgrade - If the
upgrade task
created by SimpleUpgade fails and does not reach completed state. - If the bios version requested is lower than that of the current bios version
- If
BIOSVersion
moves to reboot the server once theupgrade task
has been completed.BIOSVersion
verfiy the bios version post reboot, removes theServerMaintenance
resource if created by self. and transistion toCompleted
state- Any further update to the
BIOSVersion
Spec will restart the process.
Example
apiVersion: metal.ironcore.dev/v1alpha1
kind: BIOSVersion
metadata:
name: biosversion-sample
spec:
version: 2.10.3
image:
URI: "http://foo.com/dell-bios-2.10.3.bin"
transferProtocol: "http"
imageSecretRef:
name: sample-secret
forceUpdate: false
serverRef:
name: endpoint-sample-system-0
serverMaintenancePolicy: OwnerApproval