ignition/0001-ignore-missing-qemu-blockdev.patch

37 lines
1.4 KiB
Diff

From: Ignaz Forster <iforster@suse.com>
Date: Thu, 9 Feb 2023 16:05:27 +0100
Upstream: Ticket opened [gh#coreos/ignition#1556]
Continue with empty config on missing QEMU device
The two QEMU provider implementations (fwcfg for platforms with
native support and blockdev for the others) have slightly different
behaviour: If fwcfg doesn't contain any configuration, it will just
skip ("QEMU firmware config was not found. Ignoring..."). The blockdev
provider would error out if it can't read the configuration.
Change the behavior of the blockdev provider to match the fwcfg one
and continue with an empty configuration if the device is not there.
diff --git a/internal/providers/qemu/qemu_blockdev.go b/internal/providers/qemu/qemu_blockdev.go
index 911eb973..11739f3e 100644
--- a/internal/providers/qemu/qemu_blockdev.go
+++ b/internal/providers/qemu/qemu_blockdev.go
@@ -22,7 +22,6 @@ package qemu
import (
"bytes"
- "fmt"
"os"
"os/exec"
"time"
@@ -83,7 +83,7 @@ func fetchConfigFromBlockDevice(logger *log.Logger) ([]byte, error) {
return nil, err
}
case <-time.After(blockDeviceTimeout):
- return nil, fmt.Errorf("timed out after %v waiting for block device %q to appear", blockDeviceTimeout, ignitionBlockDevicePath)
+ logger.Info("timed out after %v waiting for block device %q to appear. Ignoring...", blockDeviceTimeout, ignitionBlockDevicePath)
}
return bytes.TrimRight(data, "\x00"), nil