ignition/0001-ignore-missing-qemu-blockdev.patch
Ignaz Forster 69f59feb61 - Update to version 2.20.0:
* Features
    * Support partitioning disk with mounted partitions
    * Support Proxmox VE
    * Support gzipped Akamai user_data
  * Changes
    * The Dracut module now installs partx
    * Mark the 3.5.0 config spec as stable
    * No longer accept configs with version 3.5.0-experimental
    * Create new 3.6.0-experimental config spec from 3.5.0
  * Bug fixes
    * Fix network race when phoning home on Equinix Metal
    * Fix Akamai Ignition base64 decoding on padded payloads
    * Fix Makefile GOARCH for loongarch64 (#1942)
- Drop go build bugfix again, fixed upstream
- Adapting 0002-allow-multiple-mounts-of-same-device.patch to new
  3.6.0 spec

OBS-URL: https://build.opensuse.org/package/show/devel:kubic:ignition/ignition?expand=0&rev=131
2024-11-07 20:16:44 +00:00

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