Open freedge opened 2 months ago
sg3_utils got updated recently and caused some troubles. Thanks for reporting
According to your udevadm info
output, your udev rule seems to work however :
E: DEVLINKS=/dev/disk/by-id/scsi-36..... /dev/disk-etcd .....
Related #1670
the udev rule works but is too late, it should be present in the initramdisk for me to be able to reference it in the disks part.
can you try to boot with the following kernel argument : udev.scsi_symlink_src=S
?
edit: you should see the disk at /dev/disk/by-id/disk-etcd
I was trying to replicate your issue, but I see two different issues there :
1 - your additional disk (microsoft virtual disk)- /dev/sdb, not showing up with as /dev/disk-etcd
For this one there isn't much we can do to get your udev rule into initramfs. You should reference it through it's WWN from the ignition config to have a non-ambiguous pointer : disk/by-id/wwn-0x600224806509d192d362bf93d8cd70ed
You can probably specify a WWN value at creation time through hyper-v options
2 - The decrypted device mapper dm-0
generates warning issues in the logs : it looks like luksformat
does not allow to set custom scsi serial values to the result device, I am investigating
It's been a while since I've looked at LUKS setup but that won't work from my understanding. You are referencing the device by a label that you are asking Ignition to create so Ignition won't be able to find it.
My bad, you're defining this partition before.
I would also like to not reference "/dev/sdb" but instead rely on "/dev/disk-etcd" as created using my own rules, but this does not seem possible.
You would have the issue I wrote above if you did that.
you shared https://github.com/openshift/os/blob/master/docs/faq.md#q-how-do-i-configure-a-secondary-block-device-via-ignitionmc-if-the-name-varies-on-each-node which seems overly complex since it will need to take care of luks too, redoing a lot of what ignition does fine already.
It's not pratical to use the wwn in the ignition config as I am planning to do the same on OpenShift, where the same machineconfig will be applied to multiple servers. Ideally something like a kargs cmdline like this
wwnsymlinks=etcd:by-id/wwn-0x600224806509d192d362bf93d8cd70ed,root:by-id/wwn-0x600224806509d192d362bf93d8cd70ed
with an appropriate udev rule bundled in the ramdisk could help.
Another idea would be to have a list of devices under disks.device, so instead of a single wwn I can put multiple and the system will iterate and work with whichever one it finds.
Meanwhile I'm going to keep using /dev/sdb.
I see some work done for qemu to specify a wwn but this works on a single platform. On my baremetal servers I can define a name on a virtual disk (owned by a perc controller) but this name is not retrieved at all or used by any udev rule (seems it needs perrcli, a proprietary tool, to be extracted).
Meanwhile the root disk is referenced as "/dev/disk/by-id/coreos-boot-disk" and I am wondering how this is accurately selected for servers booting on the network having multiple disks?
I run sg3_utils-1.48-1.fc40.x86_64 (https://sg.danny.cz/sg/p/sg3_utils-1.48.tar.xz) while the udev.scsi_symlink_src option seems to have been introduced in a later commit (I.. think). This udev option btw triggers another warning in systemd
systemd-udevd[794]: Unknown udev kernel command line option "udev.scsi_symlink_src", ignoring.
the system works fine despite those warnings (I'm more concerned about the fact that I still need /dev/sdb)
There isn't really a good fix for this right now. This boils down to https://github.com/openshift/machine-config-operator/issues/1720 at the OCP level.
If this is UPI, probably the cleanest thing is to have a --pre-install
hook that determines what the secondary disk is and does the initial formatting, setting the partition label at least. Then Ignition on first boot of the installed system can set up LUKS and the filesystem on top in a generic way (read, as part of a MachineConfig).
Describe the bug
Booting CoreOS with an extra disk configured with luks encryption, I am getting this warning:
Reproduction steps
Expected behavior
no warning
Actual behavior
a warning
System details
This is on hyper-v, booted with
Butane or Ignition config
Additional information
I would also like to not reference "/dev/sdb" but instead rely on "/dev/disk-etcd" as created using my own rules, but this does not seem possible.