[Bug 2142196] [NEW] VG with missing PV will prevent installing

Olivier Gayot 2142196 at bugs.launchpad.net
Thu Feb 19 08:05:17 UTC 2026


Public bug reported:

As seen in private reports, the installation of Ubuntu can fail if the
installer sees a VG with missing PVs. This can happen for multiple
reasons, but is most likely to happen in a SAN environment.

In such a situation, probert will add a PV called "[unknown]" for each
missing PV. We need to make sure that probert consumers exclude PVs
called '[unknown]" as they do not map to a valid block device.

Furthermore, debugging showed that curtin will try to wipe "[unknown]"
volumes and fail if instructed to delete a VG that has missing PVs.

How to reproduce
----------------
1. Spawn a VM with two disks, and create a VG out of them

  $ kvm-test --install --iso /srv/iso/resolute-live-server-amd64.iso
--disk-count 2

  Once possible, spawn a shell and run:

  $ vgcreate test-vg /dev/vda /dev/vdb
  $ lvcreate -L 5G -n test-lv test-vg
  $ poweroff

2. Now boot the VM again with only one disk:

  $ kvm-test --install --iso /srv/iso/resolute-live-server-amd64.iso
--disk-count 1 --reuse-target

  Navigate to the storage screen (there will be no error dialog) but the
logs will show that the non-restricted block probing operation failed:

block-discover:2030 block probing failed restricted=False
Traceback (most recent call last):
[...]
  File "/snap/subiquity/7028/lib/python3.12/site-packages/curtin/storage_config.py", line 1040, in lvm_volgroup_asdict
    blockdev_data = self.blockdev_data[pvol_bdev]
KeyError: None

  The logs are not showing it but pvol_bdev was assigned to None because
of

            pvol_bdev = self.lookup_devname(pvol) where pvol =
"[unknown]"

** Affects: curtin
     Importance: Medium
     Assignee: Olivier Gayot (ogayot)
         Status: In Progress

** Affects: probert
     Importance: Medium
     Assignee: Olivier Gayot (ogayot)
         Status: In Progress

** Affects: subiquity
     Importance: Undecided
         Status: New

** Also affects: probert
   Importance: Undecided
       Status: New

** Also affects: curtin
   Importance: Undecided
       Status: New

** Changed in: probert
     Assignee: (unassigned) => Olivier Gayot (ogayot)

** Changed in: probert
   Importance: Undecided => Medium

** Changed in: probert
       Status: New => In Progress

** Changed in: curtin
       Status: New => In Progress

** Changed in: curtin
   Importance: Undecided => Medium

** Changed in: curtin
     Assignee: (unassigned) => Olivier Gayot (ogayot)

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to curtin.
https://bugs.launchpad.net/bugs/2142196

Title:
  VG with missing PV will prevent installing

Status in curtin:
  In Progress
Status in probert:
  In Progress
Status in subiquity:
  New

Bug description:
  As seen in private reports, the installation of Ubuntu can fail if the
  installer sees a VG with missing PVs. This can happen for multiple
  reasons, but is most likely to happen in a SAN environment.

  In such a situation, probert will add a PV called "[unknown]" for each
  missing PV. We need to make sure that probert consumers exclude PVs
  called '[unknown]" as they do not map to a valid block device.

  Furthermore, debugging showed that curtin will try to wipe "[unknown]"
  volumes and fail if instructed to delete a VG that has missing PVs.

  How to reproduce
  ----------------
  1. Spawn a VM with two disks, and create a VG out of them

    $ kvm-test --install --iso /srv/iso/resolute-live-server-amd64.iso
  --disk-count 2

    Once possible, spawn a shell and run:

    $ vgcreate test-vg /dev/vda /dev/vdb
    $ lvcreate -L 5G -n test-lv test-vg
    $ poweroff

  2. Now boot the VM again with only one disk:

    $ kvm-test --install --iso /srv/iso/resolute-live-server-amd64.iso
  --disk-count 1 --reuse-target

    Navigate to the storage screen (there will be no error dialog) but
  the logs will show that the non-restricted block probing operation
  failed:

  block-discover:2030 block probing failed restricted=False
  Traceback (most recent call last):
  [...]
    File "/snap/subiquity/7028/lib/python3.12/site-packages/curtin/storage_config.py", line 1040, in lvm_volgroup_asdict
      blockdev_data = self.blockdev_data[pvol_bdev]
  KeyError: None

    The logs are not showing it but pvol_bdev was assigned to None
  because of

              pvol_bdev = self.lookup_devname(pvol) where pvol =
  "[unknown]"

To manage notifications about this bug go to:
https://bugs.launchpad.net/curtin/+bug/2142196/+subscriptions




More information about the foundations-bugs mailing list