BIOSSettings
BIOSSettings represents a BIOS Setting update operation for a physical server (compute system). It updates the bios settings on physical server's BIOS.
Key Points
BIOSSettingsmaps a BIOS version and settings as map for a given server.- Only one
BIOSSettingscan be active perServerat a time. BIOSSettingsrelated changes are applied once the bios version matches with the physical server's bios.BIOSSettingshandles reboots of server (if required) usingServerMaintenanceresource- Once
BIOSSettingsmoves toFailedstate, It stays in this state unless Manually moved out of this state.
Workflow
- A separate operator (e.g.,
biosSettingsSet) or user creates aBIOSSettingsresource referencing a specificServer. - Provided settings are checked against the current BIOS setting.
- If settings are same as on the server, the state is moved to
Applied(even if the version does not match) - If the settings needs update,
BIOSSettingscheck the version of BIOS and if required version does not match, it waits for the bios version to reach the spec version. - If
ServerMaintenanceis not provided already. it requests for one and waits for theserverto enterMaintenancestate.policyused byServerMaintenanceis to be provided through SpecServerMaintenancePolicyinBIOSSettings
BIOSSettingschecks if the required setting update needs physical server reboot.- Setting update process is started and the server is rebooted if required.
BIOSSettingsverfiy the setting has been applied and trasistions the state toApplied. removes theServerMaintenanceresource if created by self.- Any further update to the
BIOSSettingsSpec will restart the process. - If the
BIOSSettingsfails to apply the bios setting. TheBIOSSettingsmoves toFailedstate until Manually moved out of this state.
Example
yaml
apiVersion: metal.ironcore.dev/v1alpha1
kind: BIOSSettings
metadata:
name: biossettings-sample
spec:
serverRef:
name: endpoint-sample-system-0
version: 2.10.3
settings:
PxeDev1EnDis: Disable
PxeDev2EnDis: Enabled
OtherSettings: "123"
someother: Disabled
serverMaintenancePolicy: OwnerApproval