[Bug 2080608] Re: [SRU] storage.layout.mode="use_gap" does not honor match directive
Yao Wei
2080608 at bugs.launchpad.net
Fri Jan 10 13:39:57 UTC 2025
I've tested ubuntu-desktop-provision by refreshing it in the live
environment using the following command:
# sudo snap refresh --channel=24.04/edge ubuntu-desktop-bootstrap
ubuntu-desktop-bootstrap (24.04/edge) 0+git.61036cc38 from Canonical✓ refreshed
This includes subiquity from current ubuntu/noble branch (c72ff14)
Target issue:
Using ubuntu-desktop-bootstrap installer that reads autoinstall.yaml, it can correctly install to the partition where the installer is in (matching "install-media: true" directive).
Regression test:
Continue from target issue test, removing /dev/vdb and run installer with the refreshed ubuntu-desktop-provision, it can correctly shrink the previously installed partition (/dev/vda3) and install another root filesystem on /dev/vda4, both bootable from GRUB menu and share the same EFI partition at /dev/vda1.
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to subiquity in Ubuntu.
https://bugs.launchpad.net/bugs/2080608
Title:
[SRU] storage.layout.mode="use_gap" does not honor match directive
Status in subiquity:
Fix Committed
Status in subiquity package in Ubuntu:
New
Status in subiquity source package in Noble:
New
Bug description:
[ Impact ]
* when using Subiquity's autoinstall feature, once can use "match"
directives at the storage->layout level to find the right drive.
However, the match directives where silently ignored when using mode:
use_gap.
* This makes it difficult for the OEM team to install to the
installation media.
[ Test Plan ]
== Target issue test plan ==
1. Prepare a VM with 2 disks with identical size, 48G for testing
purposes, (we call them disk A and B)
2. Boot into a live environment, and create 2 partitions on disk A:
- a 512M EFI System Partition
- a 12G FAT32 partition for "reset partition"
leave the remainings of disk A, and the whole disk B unallocated.
3. Copy contents in the Ubuntu installer ISO into the "reset
partition"
4. Place an autoinstall.yaml file in the root of reset partition, with
the following contents:
#cloud-config
autoinstall:
version: 1
storage:
layout:
name: direct
mode: use_gap
match:
install-media: true
identity:
hostname: ubuntu
username: ubuntu
password: "$6$exDY1mhS4KUYCE/2$zmn9ToZwTKLhCw.b4/b.ZRTIZM30JZ4QrOQ2aOXJ8yk96xpcCof0kxKwuX1kqLG/ygbJ1f8wxED22bTL4F46P0"
# (password is ubuntu, copied from Autoinstall Quickstart howto guide)
5. Change the boot/grub/grub.cfg in the reset partition, and add
"nopersistent" in the kernel command line, this is to not let casper
expand the disk for the installer environment.
6. Reboot into Reset Partition and complete the installation
7. Check the system is installed in the disk A instead of disk B
== Regression test plan ==
1. Install a Ubuntu system by any means
2. Use the subiquity under test, and install into the same disk by
shrinking the partition size of the previous installation.
3. Both OSes should be accessible through GRUB menu.
[ Where problems could occur ]
Regressions caused the normal Ubuntu installation unable to continue.
[ Other info ]
The change to merge is
https://github.com/canonical/subiquity/pull/2083
[ Original description ]
We found a problem that the following autoinstall config:
storage:
layout:
name: direct
mode: use_gap
match:
install-media: true
does not actually match install-media, because use_gap does not use match directive to filter disks before finding a largest gap, according to the code in the below link:
https://github.com/canonical/subiquity/blob/6727905effc4abc2d96c96986600efe392e3b7b6/subiquity/server/controllers/filesystem.py#L1614
Internal reference: NANTOU-470
To manage notifications about this bug go to:
https://bugs.launchpad.net/subiquity/+bug/2080608/+subscriptions
More information about the foundations-bugs
mailing list