-
Notifications
You must be signed in to change notification settings - Fork 30
bootengine: some udev rules are in rootfs but missing in initramfs #2481
Comments
Switch to systemd units. See coreos/bugs#2481
Whoops. Looks like we forgot to pull them into the initramfs as well. Should grab coreos/init#268 while we're at it. |
Label "jira" probably means that this bug is already tracked internally. :) Do you have some rough estimates? |
@r7vme yes, but work has not started on it yet. You'll likely see a pingback as soon as it picked up. |
Hi, anyhow i can help with this issue? Some high-level steps would help. We (and i assume many others who use ignition with AWS or Azure) are waiting for this fix. Briinging back systemd units that format disks are the last thing i want to do :) |
@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. |
https://github.com/coreos/init/blob/master/udev/rules.d/66-azure-storage.rules
Aha, i can do it. |
Thanks for the review. I agree that this issue should be closed after AWS fixed too. Should it be reopen then? |
Ack, re-opened. While the specific Azure+SCSI usecase should be unblocked, there may be a few more items missing (like AWS NVMe) and we should check that relevant scripts and helpers/utilities are present in the initramfs. |
PR that bumps bootengine in coreos-overlay coreos/coreos-overlay#3396 |
PR for AWS disks coreos/bootengine#149 |
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?
|
Please see #2531 for related trouble. |
Requires CoreOS 1995.0.0. We can not use predictable disk names with ignition as coreos/bugs#2481 was fixed. TODO: Enable docker disk wipe
* Use persistent paths for disks Requires CoreOS 1995.0.0. We can not use predictable disk names with ignition as coreos/bugs#2481 was fixed. TODO: Enable docker disk wipe * Wipe docker disks for master VMs * Use 1995.0.0 in CI
For everyone who will come here. We finally switched to 1995.0.0 (currently in alpha channel), which has both fixes for AWS and Azure. |
Issue Report
Proper way to detect a disk in Azure was added here. Udev rules are creating symlink like
/dev/disk/azure/scsi1/lun0
. Unfortunately i can not use them from ignition.Following fails with
Timed out waiting for device dev-disk-azure-scsi1-lun0.device
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.
Bug
Container Linux Version
Environment
Azure
Expected Behavior
Filesystem created on
/dev/disk/azure/lun0
Actual Behavior
Ignition fails to boot with timeout
Reproduction Steps
Other Information
N/A
The text was updated successfully, but these errors were encountered: