forked from pool/ignition
b4479a8bf8
* Features * Support offline Tang provisioning via pre-shared advertisement (3.4.0) * Allow enabling discard passthrough on LUKS devices (3.4.0) * Allow specifying arbitrary LUKS open options (3.4.0) * Ship aarch64 macOS ignition-validate binary in GitHub release artifacts * Changes * Mark the 3.4.0 config spec as stable * No longer accept configs with version 3.4.0-experimental * Create new 3.5.0-experimental config spec from 3.4.0 * Fail if files/links/dirs conflict with systemd units or dropins * Warn if template for enabled systemd instance unit has no Install section * Warn if filesystem overwrites partitioned disk * Warn if wipeTable overwrites a filesystem that would otherwise be reused * Warn if user/group specified for hard link * Install ignition-apply in /usr/libexec * Allow distros to add Ignition command-line arguments from a unit drop-in * Convert NEWS to Markdown and move to docs site * Require Go 1.18+ * Bug fixes * Don't overwrite LUKS1 volume when storage.luks.wipeVolume is false * Request network when custom Clevis config has needsNetwork set * Fix creating LUKS volume with custom Clevis config that uses TPM2 * Avoid logging spurious error when a LUKS volume wasn't previously formatted * Fix version string in ignition-validate release container * Fix reproducibility of systemd preset file in ignition-apply output * Document that user/group fields aren't applied to hard links * Clarify spec docs for files/directories/links group fields - Modified 0002-allow-multiple-mounts-of-same-device.patch to add new Ignition spec version - Add 0001-ignore-missing-qemu-blockdev.patch [bsc#1207679] to support booting without configuration device on s390x. OBS-URL: https://build.opensuse.org/package/show/devel:kubic:ignition/ignition?expand=0&rev=100
30 lines
1.4 KiB
Diff
30 lines
1.4 KiB
Diff
Author: 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
|
|
@@ -83,7 +83,8 @@ 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 util.ParseConfig(logger, []byte{})
|
|
}
|
|
|
|
return bytes.TrimRight(data, "\x00"), nil
|