Bug 2214342 - Install blocked in unexpected manner when doing minimal install to 5GB of reclaimed space, since EFI system partition size change
Summary: Install blocked in unexpected manner when doing minimal install to 5GB of rec...
Keywords:
Status: NEW
Alias: None
Product: Fedora
Classification: Fedora
Component: anaconda
Version: 39
Hardware: All
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Anaconda Maintenance Team
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard: openqa
Depends On:
Blocks: 2208181
TreeView+ depends on / blocked
 
Reported: 2023-06-12 17:11 UTC by Adam Williamson
Modified: 2023-08-16 08:10 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed:
Type: ---
Embargoed:


Attachments (Terms of Use)
anaconda.log (20.71 KB, text/plain)
2023-06-12 17:17 UTC, Adam Williamson
no flags Details
dbus.log (3.69 KB, text/plain)
2023-06-12 17:17 UTC, Adam Williamson
no flags Details
df.log (375 bytes, text/plain)
2023-06-12 17:17 UTC, Adam Williamson
no flags Details
packaging.log (27.95 KB, text/plain)
2023-06-12 17:18 UTC, Adam Williamson
no flags Details
program.log (4.45 KB, text/plain)
2023-06-12 17:18 UTC, Adam Williamson
no flags Details
storage.log (154.26 KB, text/plain)
2023-06-12 17:19 UTC, Adam Williamson
no flags Details
syslog (886.58 KB, text/plain)
2023-06-12 17:20 UTC, Adam Williamson
no flags Details

Description Adam Williamson 2023-06-12 17:11:13 UTC
Since the EFI system partition size change landed - https://bugzilla.redhat.com/show_bug.cgi?id=2208181 - one of the openQA tests has been failing regularly.

This test is the "partial space reclaim" test. It starts out with a 10GB disk image containing two 5GB partitions. It sets the software selection to minimal, then goes through partitioning. It selects automatic partitioning, then goes through the "reclaim some space" UI. On the "reclaim space" UI, it deletes one of the two partitions, which should provide 5GB space for the installation.

No error is shown on leaving the reclaim space UI or on then clicking Done on the partitioning spoke; we get back to the hub with no errors or warnings shown. But then on the hub, after the Installation Destination spoke gets through the "Saving storage configuration..." state, it goes to the error state, showing the message "Error checking storage configuration".

openQA doesn't click the spoke again so I'm not sure if it would give any more details, but in storage.log we see this:

DEBUG:blivet:fixing size of non-existent 2 GiB partition vda1 (87) with non-existent efi filesystem mounted at /boot/efi
DEBUG:blivet:fixing size of existing 5 GiB partition vda2 (34) with existing ext4 filesystem
DEBUG:blivet:fixing size of non-existent 1024 MiB partition vda3 (94) with non-existent xfs filesystem mounted at /boot
DEBUG:blivet:fixing size of non-existent 2 GiB partition vda4 (80) with non-existent lvmpv
DEBUG:blivet:get_format('None') returning DeviceFormat instance with object id 101
DEBUG:blivet:                              LVMVolumeGroupDevice._add_parent: fedora ; parent: vda4 ;
DEBUG:blivet:                                  PartitionDevice.add_child: name: vda4 ; child: fedora ; kids: 0 ;
DEBUG:testdata:sysfs attr /sys/devices/pci0000:00/0000:00:09.0/virtio5/block/vda/queue/logical_block_size: 3531320a
DEBUG:blivet:get_format('None') returning DeviceFormat instance with object id 102
DEBUG:blivet:                        LVMVolumeGroupDevice._set_format: fedora ; type: None ; current: None ;
INFO:blivet:added lvmvg fedora (id 100) to device tree
INFO:blivet:registered action: [104] create device lvmvg fedora (id 100)
DEBUG:blivet:                  XFS.supported: supported: True ;
DEBUG:blivet:get_format('xfs') returning XFS instance with object id 105
DEBUG:blivet:get_format('None') returning DeviceFormat instance with object id 107
DEBUG:blivet:                              LVMVolumeGroupDevice.add_child: name: fedora ; child: root ; kids: 0 ;
DEBUG:blivet:                            LVMLogicalVolumeDevice._set_format: fedora-root ; type: xfs ; current: None ;
DEBUG:blivet:get_format('None') returning DeviceFormat instance with object id 109
DEBUG:blivet:                              LVMVolumeGroupDevice.remove_child: name: fedora ; child: root ; kids: 1 ;
DEBUG:blivet:                            LVMVolumeGroupDevice.add_child: name: fedora ; child: root ; kids: 0 ;
DEBUG:blivet:                          LVMLogicalVolumeDevice._set_format: fedora-root ; type: xfs ; current: None ;
DEBUG:blivet:                            LVMLogicalVolumeDevice.read_current_size: exists: False ; path: /dev/mapper/fedora-root ; sysfs_path:  ;
DEBUG:blivet:fedora size is 2 GiB
DEBUG:blivet:vg fedora has 2 GiB free
ERROR:anaconda.modules.storage.partitioning.base_partitioning:Storage configuration has failed: new lv is too large to fit in free space
INFO:anaconda.core.threads:Thread Failed: AnaTaskThread-AutomaticPartitioningTask-1 (139885471069888)
ERROR:anaconda.modules.common.task.task:Thread AnaTaskThread-AutomaticPartitioningTask-1 has failed: Traceback (most recent call last):
  File "/usr/lib64/python3.11/site-packages/pyanaconda/modules/storage/partitioning/base_partitioning.py", line 53, in run
    self._run(self._storage)
  File "/usr/lib64/python3.11/site-packages/pyanaconda/modules/storage/partitioning/automatic/noninteractive_partitioning.py", line 43, in _run
    self._configure_partitioning(storage)
  File "/usr/lib64/python3.11/site-packages/pyanaconda/modules/storage/partitioning/automatic/automatic_partitioning.py", line 91, in _configure_partitioning
    self._do_autopart(storage, scheme, requests, encrypted, luks_format_args)
  File "/usr/lib64/python3.11/site-packages/pyanaconda/modules/storage/partitioning/automatic/automatic_partitioning.py", line 202, in _do_autopart
    schedule_volumes(storage, devs, scheme, requests, encrypted)
  File "/usr/lib64/python3.11/site-packages/pyanaconda/modules/storage/partitioning/automatic/utils.py", line 540, in schedule_volumes
    dev = new_volume(**kwargs)
          ^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/blivet/threads.py", line 53, in run_with_lock
    return m(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/blivet/blivet.py", line 675, in new_lv
    return LVMLogicalVolumeDevice(name, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/blivet/threads.py", line 53, in run_with_lock
    return m(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/blivet/devices/lvm.py", line 2433, in __init__
    self._add_to_parents()
  File "/usr/lib/python3.11/site-packages/blivet/threads.py", line 53, in run_with_lock
    return m(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/blivet/devices/lvm.py", line 2490, in decorated
    return meth(self, *args, **kwargs)  # pylint: disable=not-callable
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/blivet/devices/lvm.py", line 2525, in _add_to_parents
    self._parents[0]._add_log_vol(self)
  File "/usr/lib/python3.11/site-packages/blivet/threads.py", line 53, in run_with_lock
    return m(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/blivet/devices/lvm.py", line 313, in _add_log_vol
    raise errors.DeviceError("new lv is too large to fit in free space")
blivet.errors.DeviceError: new lv is too large to fit in free space

which I guess is the problem behind the scenes. It seems a bit wacky - we're trying to create a 2G LV in 2G of space, and that's not enough space? - but clearly something's going very wrong here.

There may be multiple issues here, I guess. Arguably, it seems a bit silly, when we have only 5G of space, to create a 2G EFI system partition and a 2G root partition. Maybe there needs to be some more sophistication to the "grow" logic? But the bigger issue is obviously that anaconda fails to create even the layout it aims for, which theoretically *ought* to work (2G /boot/efi, 1G /boot, 2G root).

Reproducible: Always

Comment 1 Adam Williamson 2023-06-12 17:17:09 UTC
Created attachment 1970477 [details]
anaconda.log

Comment 2 Adam Williamson 2023-06-12 17:17:30 UTC
Created attachment 1970478 [details]
dbus.log

Comment 3 Adam Williamson 2023-06-12 17:17:51 UTC
Created attachment 1970479 [details]
df.log

Comment 4 Adam Williamson 2023-06-12 17:18:28 UTC
Created attachment 1970480 [details]
packaging.log

Comment 5 Adam Williamson 2023-06-12 17:18:52 UTC
Created attachment 1970481 [details]
program.log

Comment 6 Adam Williamson 2023-06-12 17:19:58 UTC
Created attachment 1970482 [details]
storage.log

Comment 7 Adam Williamson 2023-06-12 17:20:28 UTC
Created attachment 1970483 [details]
syslog

Comment 8 Adam Williamson 2023-06-19 10:15:32 UTC
Changing the test disk image so it's a 6G partition and a 4G partition (and we delete the 6G partition) "fixes" this, FWIW. Of course there's still a bug, but I'll make that change in production so the openQA test doesn't always fail on this bug.

Comment 9 Fedora Release Engineering 2023-08-16 08:10:59 UTC
This bug appears to have been reported against 'rawhide' during the Fedora Linux 39 development cycle.
Changing version to 39.


Note You need to log in before you can comment on or make changes to this bug.