Skip to content

Add BIOSVersion type and controller #305

@nagadeesh-nagaraja

Description

@nagadeesh-nagaraja

Summary

Create a BIOSVersion CRD and implement the controller for it.

Brief explanation of the feature.

Basic example

User provides the BIOS version as strings.
Controller Read current Bios Version from the redfish
Controller Create a Maintenance object when Bios Version requires changes
Controller performs a version upgrade using REDFISH API
Controller marks completed when version matches

Example CRD Spec

apiVersion: metal.ironcore.dev/v1alpha1
kind: BIOSVersion
metadata:
  labels:
    app.kubernetes.io/name: metal-operator
    app.kubernetes.io/managed-by: kustomize
  name: biosversion-sample
spec:
  serverRef:
    name: endpoint-sample-system-0.  # References an existing Server resource
  version: 2.10.3 # version to reach after upgrade
  UpdatePolicy : Force # this is to ask SimpleUpdate to skip checks
  image:
    URI: <protocol like https>://<ip/dns>:foos-2.10.3.bin
    imageSecretRef:
      Name: <Secret resource to access the URI>
    transferProtocol: <http/ftp/https> 
  ServerMaintenancePolicy: OwnerApproval  # Policy an defined in  ServerMaintenance resource
  serverMaintenanceRef:
    name: server-maintenance-01  # References an existing ServerMaintenance resource
status:
  state: "Processing"  # overallStatus. Possible values: Pending, Processing, Completed, Failed

Motivation

Provide ability to upgrade the bios version to desired version.

Sub-issues

Metadata

Metadata

Projects

Status

Done

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions