17:45 cyphermox: I tried with a serial number for vda, it failed in the same way 17:46 andreas: not necessarily a serial 17:46 isn't the serial what allows the by-id symlink to be created? 17:46 andreas: that was my previous summary 17:46 in the case 17:46 (about the dbconfig variable) 17:46 k 17:47 SO 17:47 device-map is gone in eoan =) there is a patch restoring it 17:47 let me check previous versions :\ 17:47 https://www.irccloud.com/pastebin/h3c9ZFYP/ 17:48 these are the disk/by-id links in both cases: https://people.canonical.com/~andreas/disk-by-id.png 17:48 cyphermox: ^ 17:48 there is no symlink to the whole vda device 17:48 which is what you meant probably 17:49 andreas: this is coming from udevadm DEVLINKS most likely 17:49 but this is on a bionic host, where qemu/libvirt doesn't generate a serial for you automatically 17:50 #ifdef __linux__ 17:50 { 17:50 DIR *dir = opendir ("/dev/disk/by-id"); 17:50 in the straight-to-virtio case it worked flawlessly, bootdev was /dev/vda 17:51 from deviceiter.c -> grub_util_iterate_devices 17:51 and there is no symlink in /dev/disk/by-id 17:51 used by grub-mkdevicemap.c 17:51 which is inexistent in recent grub2 upstream 17:51 we basically recreate the grub-mkdevicemap again 17:51 so we can rely on it for our scripts 17:51 so deviceiter.c explains the "sort" for that list 17:52 /* Now add all the devices in sorted order. */ 17:52 for (dev = 0; dev < devs_len; ++dev) 17:52 =) 17:52 so if you look at this comparison: https://people.canonical.com/~andreas/disk-by-id.png 17:52 that matches what that d-i prompt is asking us, and the output of grub-mkdevicemap with some removed/filtered 17:53 you are getting dm-0 first 17:53 that one is filtered 17:53 instead of sda (left side) 17:53 by "something" 17:53 ah ok 17:53 left side, sda, then sda1 17:53 right side, I get vda1 17:53 we have no vda 17:53 at the right side 17:53 yet it's in the menu: https://people.canonical.com/~andreas/which-dev-is-first.png 17:54 but with no "(extra description)" 17:54 i mean in /dev/disk/by-id 17:54 where is vda only 17:54 right, no vda there, probably because it has no serial 17:54 I don't have screenshots for the case with a serial now 17:54 so many combinations to try 17:54 no serial because its not SCSI 17:54 yes 17:54 no VPDs 17:54 now it all makes sense 17:54 qemu on eoan assigns a serial 17:55 let me copy this to the public bug =) 17:55 00001 or something 17:55 so you probably have that 17:55 since your host is eoan 17:55 — rafaeldtinoco checks 17:56 https://www.irccloud.com/pastebin/BaynZGW7/ 17:56 andreas: ^ for scsi 17:56 andreas: SO, the udev rules for scsi SERIAL are in initramfs 17:56 cause the installer does not have udev rules for scsi 17:57 rafaeldtinoco: you pasted the non-virtio case 17:57 sda 17:57 rafaeldtinoco: the devicemap program isn't at fault 17:57 no, i was reading it to understand the sort 17:57 I think this is udev not creating a symlink for vda for whatever reason it somehow decided not to 17:57 like andreas said 17:58 udev is not creating the device 17:58 yep, 17:58 yeah, sorry; I had a power outage so I'm scrambling to follow ;) 17:58 andreas: i dont have the virtio case here 17:58 — rafaeldtinoco dumb created a single VM 17:58 i could have had 2 in parallel 17:59 question: has this LVM + virtio setup EVER worked ? 17:59 andreas: why do you say the serial was created before ? 17:59 because of your tests ? 18:00 the first attempts I did were on a laptop with eoan, and I noticed that virt-manager there filled in the serial when selecting a virtio device 18:00 yep, i noticed from the debconf menu 18:00 (like u said, lacking the description) 18:00 but I can start one here on bionic, just filling in the serial manually with a very recognizable number :) 18:00 like 9999 18:01 60-persistent-storage.rules:# legacy virtio-pci by-path links (deprecated) 18:01 andreas: ^ 18:01 rafaeldtinoco: about it ever having worked before, it must have, but I don't remember having tried this combination specifically 18:01 rafaeldtinoco: yes, lvm + virtio was working; this is a common install scenario 18:02 # virtio-blk 18:02 KERNEL=="vd*[!0-9]", ATTRS{serial}=="?*", ENV{ID_SERIAL}="$attr{serial}", SYMLINK+="disk/by-id/virtio-$env{ID_SERIAL}" 18:02 KERNEL=="vd*[0-9]", ATTRS{serial}=="?*", ENV{ID_SERIAL}="$attr{serial}", SYMLINK+="disk/by-id/virtio-$env{ID_SERIAL}-part%n" 18:02 so this is failing ^ for initramfs 18:02 (this is eoans) 18:02 damn i just fixed something really close to this (sg3-utils-udev) 18:02 for the other case 18:03 https://bugs.launchpad.net/ubuntu/+source/sg3-utils/+bug/1833618 18:03 Bug #1833618: failing to deploy Ubuntu Disco 18:03 18:03 curtin was lost because of serials also 18:03 but for USB devices 18:03 same case 18:03 a package would create another udev rules for SERIAL 18:03 for usb devices 18:04 now I have a symlink in disk/by-id 18:04 with a manually entered 9999 serial 18:04 u created a serial for the vda 18:04 HA 18:04 let's see what happens 18:04 so we need a udev rule to create an ENVIRONMENT variable for udev 18:04 whenever ID_SERIAL is not present in the first udev scan 18:05 just like USB does with usb_id -> SERIAL