I'll try the link

On Tue, Jan 28, 2025, 8:03 AM Olivier Gayot <2081...@bugs.launchpad.net>
wrote:

> ** Changed in: subiquity (Ubuntu Noble)
>        Status: Confirmed => Fix Committed
>
> --
> You received this bug notification because you are subscribed to a
> duplicate bug report (2080897).
> https://bugs.launchpad.net/bugs/2081724
>
> Title:
>   [SRU] A "target-resize" scenario is suggested but the disk does not
>   have room for more primary partitions
>
> Status in subiquity:
>   Fix Released
> Status in subiquity package in Ubuntu:
>   Confirmed
> Status in subiquity source package in Noble:
>   Fix Committed
>
> Bug description:
>   [ Impact ]
>
>    * Subiquity advertises "guided-resize" scenarios that cannot be honored
> because the disk does not have enough room for the required primary
> partitions. If the user selects such a scenario, the installation fails
> early.
>   * Examples of such "impossible" scenarios include:
>      * If a DOS partitioned disk has 4 existing primary partitions, no
> matter what partition gets resized, the resulting gap is unusable because
> no more partitions can be added.
>      * On UEFI, if a DOS partitioned disk has 3 existing primary
> partitions and no ESP, resizing a partition will only make room for 1 more
> partition, not 2 (1 needed for the ESP and one for the system).
>      * ...
>
>   [ Test Plan ]
>
>    * Boot the 24.04.1 desktop ISO (can be a VM).
>    * If testing the fix, refresh the `ubuntu-desktop-bootstrap` snap to a
> patched version.
>    * Open a terminal and partition the disk in such a way that 4 primary
> partitions exist (and the last one is large enough to be resized):
>       # fdisk /dev/vda
>   ```
>   Disklabel type: dos
>   /dev/vda1      2048   206847    204800    100M 83 Linux
>   /dev/vda2   206848    411647    204800    100M 83 Linux
>   /dev/vda3   411648    616447    204800    100M 83 Linux
>   /dev/vda4   616448  41943039  41326592   19.7G 83 Linux
>   ```
>   * Create the FS at least on the partition to resize:
>     $ mkfs.ext4 /dev/vda4
>
>    * Go through the desktop installer screens normally until "Disk setup"
>    * Select "Install Ubuntu alongside other partitions". If testing the
> patched version, the "Install Ubuntu alongside other partitions" option
> should not be offered.
>    * Go through the next screens. At some point the installer will show a
> "Something went wrong" screen.
>    * $ sudo grep -F "No known plan"
> /var/log/installer/subiquity-server-debug.log
>
>   [ Where problems could occur ]
>
>   * This change removes the option for affected users to do a
>   installation using resize. Some users might see treat this as a
>   regression (why isn't the option offered anymore ?!).
>
>   * By removing the option for "impossible" scenarios, more users will
>   hopefully try target reformat instead of target resize. However, more
>   users will also try manual partitioning. We know that manual
>   partitioning is not as user friendly as it should and therefore is a
>   source of bugs in the installer.
>
>   * If the fix is not fully correct, there is a chance that we would
>   stop offering valid target resize scenarios, so we should make sure
>   that typical use-cases are properly tested.
>
>   [ Other Info ]
>
>    * The fix to backport is
>   https://github.com/canonical/subiquity/pull/2090
>
>   [ Original description ]
>
>   In private bug reports, we noticed that Subiquity sometimes fails to
>   apply a target-resize scenario because the disk does not have enough
>   room for more partitions. This is more common with DOS partitions
>   tables since we can only have 4 primary partitions.
>
>   Ideally, we should only make Subiquity suggest scenarios that we are
>   confident can be applied. One way to ensure they can be applied would
>   be to apply them in a throwaway filesystem model ; but this requires a
>   lot of work.
>
>   To limit the number of "bad" target-resize scenarios suggested, we
>   could check the number of available partitions and compare it with the
>   number of partitions that we /think/ we would require to add. This
>   wouldn't be a perfect solution but should limit the number of possible
>   errors.
>
>   Here's the stack trace of an occurrence of the issue.
>
>   2023-12-07 05:26:50,235 DEBUG root:30 start:
> subiquity/Filesystem/v2_guided_POST:
>   2023-12-07 05:26:50,237 DEBUG
> subiquity.server.controllers.filesystem:1152
> GuidedChoiceV2(target=GuidedStorageTargetResize(disk_id='disk-nvme0n1',
> partition_number=2, new_size=895145788059, minimum=675641556992,
> recommended=1006511325184, maximum=1012127498240,
> allowed=[<GuidedCapability.DIRECT: 2>, <GuidedCapability.LVM: 3>,
> <GuidedCapability.LVM_LUKS: 4>, <GuidedCapability.ZFS: 5>], disallowed=[]),
> capability=<GuidedCapability.DIRECT: 2>, recovery_key=None,
> sizing_policy=<SizingPolicy.ALL: 2>, reset_partition=False)
>   2023-12-07 05:26:50,239 DEBUG subiquity.models.filesystem:2105 adding
> fat32 to Partition(device=disk-nvme0n1, size=1127219200, wipe='superblock',
> flag='boot', number=4, grub_device=True, offset=895199739904,
> id='partition-0')
>   2023-12-07 05:26:50,243 DEBUG root:30 finish:
> subiquity/Filesystem/v2_guided_POST: SUCCESS: 500 Traceback (most recent
> call last):
>     File "/snap/ubuntu-desktop-installer/126...
>   2023-12-07 05:26:50,243 DEBUG subiquity.server.server:448 request to
> /storage/v2/guided crashed
>   Traceback (most recent call last):
>     File
> "/snap/ubuntu-desktop-installer/1269/bin/subiquity/subiquity/common/api/server.py",
> line 164, in handler
>       result = await implementation(**args)
>     File
> "/snap/ubuntu-desktop-installer/1269/bin/subiquity/subiquity/server/controllers/filesystem.py",
> line 1154, in v2_guided_POST
>       await self.guided(data)
>     File
> "/snap/ubuntu-desktop-installer/1269/bin/subiquity/subiquity/server/controllers/filesystem.py",
> line 735, in guided
>       self.guided_direct(gap)
>     File
> "/snap/ubuntu-desktop-installer/1269/bin/subiquity/subiquity/server/controllers/filesystem.py",
> line 511, in guided_direct
>       self.create_partition(device=gap.device, gap=gap, spec=spec)
>     File
> "/snap/ubuntu-desktop-installer/1269/bin/subiquity/subiquity/common/filesystem/manipulator.py",
> line 103, in create_partition
>       part = self.model.add_partition(
>     File
> "/snap/ubuntu-desktop-installer/1269/bin/subiquity/subiquity/models/filesystem.py",
> line 2010, in add_partition
>       p = Partition(
>     File "<attrs generated init subiquity.models.filesystem.Partition>",
> line 24, in __init__
>       self.__attrs_post_init__()
>     File
> "/snap/ubuntu-desktop-installer/1269/bin/subiquity/subiquity/models/filesystem.py",
> line 210, in _do_post_inits
>       fn(obj)
>     File
> "/snap/ubuntu-desktop-installer/1269/bin/subiquity/subiquity/models/filesystem.py",
> line 854, in __post_init__
>       raise Exception("Exceeded number of available partitions")
>   Exception: Exceeded number of available partitions
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/subiquity/+bug/2081724/+subscriptions
>
>

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

Title:
  [SRU] A "target-resize" scenario is suggested but the disk does not
  have room for more primary partitions

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


-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to