BIOSSettings
BIOSSettings represents a BIOS settings update operation for a physical server (compute system). It applies BIOS settings on a physical server's BIOS in a controlled, ordered manner.
Key Points
BIOSSettingsuses asettingsFlowto apply BIOS settings in a defined order based on priority.- Each flow item contains a name, a map of settings, and a priority (lower numbers are applied first).
- Only one
BIOSSettingscan be active perServerat a time. BIOSSettingschanges are applied once the BIOS version matches the specifiedversion.BIOSSettingshandles server reboots (if required) using aServerMaintenanceresource.- Once
BIOSSettingsmoves toFailedstate, it stays in this state unless manually moved out.
Spec Fields
| Field | Description |
|---|---|
serverRef | Reference to the target Server (immutable once set) |
version | The BIOS version this settings configuration applies to |
settingsFlow | List of settings flow items to apply in priority order |
serverMaintenancePolicy | Policy for maintenance: OwnerApproval or Enforced |
serverMaintenanceRef | Optional reference to an existing ServerMaintenance resource |
SettingsFlowItem Fields
| Field | Description |
|---|---|
name | Name identifier for this flow item (1-1000 characters) |
settings | Map of BIOS setting key-value pairs to apply |
priority | Execution order (1-2147483645); lower numbers are applied first |
Status Fields
| Field | Description |
|---|---|
state | Overall state: Pending, InProgress, Applied, or Failed |
flowState | List of individual flow item states with their conditions |
lastAppliedTime | Timestamp when the last setting was successfully applied |
conditions | Standard Kubernetes conditions for the resource |
Workflow
- A separate operator (e.g.,
BIOSSettingsSet) or user creates aBIOSSettingsresource referencing a specificServer. - Settings from
settingsFloware processed in priority order (lowest priority number first). - For each flow item:
- The provided settings are checked against the current BIOS settings.
- If settings already match, the flow item state moves to
Applied. - If settings need to be updated,
BIOSSettingschecks the BIOS version. If it does not match, it waits.
- If
ServerMaintenanceis not already provided, it requests one and waits for the server to enterMaintenancestate.- The
serverMaintenancePolicydetermines how maintenance is handled (OwnerApprovalorEnforced).
- The
BIOSSettingschecks if the setting update requires a physical server reboot.- The setting update process is started and the server is rebooted if required.
BIOSSettingsverifies the settings have been applied and transitions the flow item state toApplied.- Once all flow items are applied, the overall state moves to
Appliedand theServerMaintenanceresource is removed if it was created by this resource. - Any further update to the
BIOSSettingsspec will restart the process. - If
BIOSSettingsfails to apply any setting, it moves toFailedstate until manually moved out.
Example
yaml
apiVersion: metal.ironcore.dev/v1alpha1
kind: BIOSSettings
metadata:
name: biossettings-sample
spec:
serverRef:
name: endpoint-sample-system-0
version: 2.10.3
settingsFlow:
- name: pxe-settings
priority: 1
settings:
PxeDev1EnDis: Disabled
PxeDev2EnDis: Enabled
- name: other-settings
priority: 2
settings:
OtherSetting: "123"
AnotherSetting: Disabled
serverMaintenancePolicy: OwnerApproval