bootengine: some udev rules are in rootfs but missing in initramfs #2481
Proper way to detect a disk in Azure was added here. Udev rules are creating symlink like
Following fails with
Inside debug console, i see no rules for azure (which is probably expected as initramfs does not suppy them)
Same applies to ignition on AWS (nvme disks) i assume.
Would be really great to use ignition "filesystems" as it has many advantages over having systemd units to format and mount filesystems.
Container Linux Version
Filesystem created on
Ignition fails to boot with timeout
The text was updated successfully, but these errors were encountered:
@r7vme at a very high level, the problem is that bootengine is not installing any of the udev-related cloud bits that are used in the real rootfs. At a low level, it means setting up proper dependencies between the ebuilds, installing those bits via a dracut module, and testing the result in azure.
I haven't personally looked into this so I don't know if this was simply completely overlooked or if it is done somewhere already and just some bits are missing.
@r7 where did you source those udev rules from? Are they already in CL rootfs somewhere?
We should probably have them normally in CL root first, and then tell dracut to copy them to the initramfs. The ebuilds for the two components are in our overlay: bootengine and coreos-init. From those packages we assemble the content of the images.
Aha, i can do it.
I find that even with the AWS EBS rules in place, I can use "storage.filesystems" with an unstable path like /dev/nvme1n1 for the "storage.filesystems.mount.device" field, but I can't use the more stable name I have to supply to AWS to attach the volume like /dev/sdf. Ignition times out consistently waiting for the corresponding systemd "device unit" to start, as noted over in coreos/coreos-overlay#3366 here.
In my EC2 instance, I can see the rules present that @r7vme had originally pointed out were missing:
Those rules do indeed work, but is the problem that they wind up working too late for Ignition to use when creating the filesystems?