From 83879bc26231934e74a058717c19289bfbca0b73 Mon Sep 17 00:00:00 2001 From: Jacob Weinstock Date: Sat, 19 Oct 2024 10:35:47 -0600 Subject: [PATCH] Add error handling for ISO boot mode: Error out when isoURL is empty and boot mode is iso. Also, always enable ToggleAllowNetboot. Signed-off-by: Jacob Weinstock --- controller/machine/workflow.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/controller/machine/workflow.go b/controller/machine/workflow.go index eadaaa5e..3c1fe941 100644 --- a/controller/machine/workflow.go +++ b/controller/machine/workflow.go @@ -54,6 +54,9 @@ func (scope *machineReconcileScope) createWorkflow(hw *tinkv1.Hardware) error { TemplateRef: scope.tinkerbellMachine.Name, HardwareRef: hw.Name, HardwareMap: map[string]string{"device_1": hw.Spec.Metadata.Instance.ID}, + BootOptions: tinkv1.BootOptions{ + ToggleAllowNetboot: true, + }, }, } @@ -63,11 +66,12 @@ func (scope *machineReconcileScope) createWorkflow(hw *tinkv1.Hardware) error { switch scope.tinkerbellMachine.Spec.BootOptions.BootMode { case v1beta1.BootMode("netboot"): workflow.Spec.BootOptions.BootMode = tinkv1.BootMode("netboot") - workflow.Spec.BootOptions.ToggleAllowNetboot = true case v1beta1.BootMode("iso"): + if scope.tinkerbellMachine.Spec.BootOptions.ISOURL == "" { + return fmt.Errorf("iso boot mode requires an isoURL") + } workflow.Spec.BootOptions.BootMode = tinkv1.BootMode("iso") workflow.Spec.BootOptions.ISOURL = scope.tinkerbellMachine.Spec.BootOptions.ISOURL - workflow.Spec.BootOptions.ToggleAllowNetboot = true } }