Open dahicks opened 2 years ago
Hi @dahicks,
Thanks for the clear bug report - we can clearly see that the following line is missing on the 3227.2.4 logs:
Oct 17 21:27:01 localhost ignition[447]: disks: createFilesystems: op(d): op(e): op(10): executing: "/usr/sbin/mkfs.ext4" "-F" "-L" "root" "/run/ignition/dev_aliases/dev/disk/by-partlabel/root"
Between 3139.2.3 and 3227.2.4 there is a major bump in the Ignition version: while we tried to provide the seamless transition, it seems that reformatting the filesystem named "root" is now a no-op operation (https://github.com/flatcar/ign-converter/blob/b03b4e55d1f74d81af0a1a6528e87fbb4ea56879/translate/v24tov31/v24tov31.go#L451-L454).
So your configuration is translated to:
Filesystem "root" shadows exising filesystem definition{
"ignition": {
"version": "3.1.0"
},
"storage": {
"disks": [
{
"device": "/dev/sda",
"partitions": [
{
"label": "root",
"number": 1,
"sizeMiB": 0
}
],
"wipeTable": true
},
{
"device": "/dev/sdb",
"partitions": [
{
"label": "LOGS",
"number": 1,
"sizeMiB": 20480
},
{
"label": "OPT",
"number": 2,
"sizeMiB": 0
}
],
"wipeTable": true
}
],
"filesystems": [
{
"device": "/dev/disk/by-partlabel/OPT",
"format": "ext4",
"label": "OPT",
"path": "/tmp/OPT-ign1",
"wipeFilesystem": true
},
{
"device": "/dev/disk/by-partlabel/LOGS",
"format": "ext4",
"label": "LOGS",
"path": "/tmp/LOGS-ign2",
"wipeFilesystem": true
}
]
}
}
Where we can see that the root
is simply ignored.
What you can do: try to use a different name for the root
filesystem. Let us know how it goes :)
Our tests are using ROOT
: https://github.com/flatcar/mantle/blob/flatcar-master/kola/tests/ignition/filesystem.go#L34
This label is also documented in https://www.flatcar.org/docs/latest/reference/developer-guides/sdk-disk-partitions/ (Edit: An example config can be found in https://www.flatcar.org/docs/latest/setup/storage/raid/#example-container-linux-config)
Maybe we can fix that case in ign-converter, but for the mean time I suggest using ROOT
instead of root
.
Thanks for looking into this so quickly! Changing to something other than root does indeed work.
I guess we can leave this open, or?
I'm fine with leaving it open, if y'all are planning a fix vs the workaround.
Description
Device not booting on stable versions > 3139.2.3 using ipxe. Root drive is not being properly labeled and is causing machine to not boot. Disk and filesystem partition configuration provided via ignition.
Impact
OS Never boots. Same (exact) configuration works on stable 3139.2.3
Environment and steps to reproduce
Expected behavior
Machine should boot. Root FS is mounted to disk as expected. Additional partitions / filesystems should be created as expected.
Additional information
Behavior can also be reproduced using QEMU, similarly specifying
--kernel
and--initrd
options, so I don't believe the issue is platform specific.Configuration
ipxe Script
Successful Boot (Stable / 3139.2.3)