noble-daily (20240310) cannot be installed offline

Bug #2056730 reported by Yao Wei
18
This bug affects 3 people
Affects Status Importance Assigned to Milestone
OEM Priority Project
New
Critical
Yao Wei
curtin
Fix Committed
Undecided
Olivier Gayot
subiquity
Fix Released
Critical
Olivier Gayot
subiquity (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

The image is unable to be installed offline, log in journalctl suggests that curtin tries to install nvme-cli and nvme-stas and failed because these packages are not in the image pool.

Excerpt from journal log:

...
Mar 11 14:42:02 ubuntu subiquity_log.3918[7006]: Running command ['unshare', '--fork', '--pid', '--', 'chroot', '/target', 'dpkg-query', '--list'] with allowed return codes [0] (capture=True)
Mar 11 14:42:02 ubuntu subiquity_event.3918[3918]: curtin command curthooks
Mar 11 14:42:02 ubuntu subiquity_event.3918[3918]: configuring apt configuring apt
Mar 11 14:42:02 ubuntu subiquity_event.3918[3918]: configuring apt configuring apt
Mar 11 14:42:02 ubuntu subiquity_event.3918[3918]: installing missing packages
Mar 11 14:42:02 ubuntu subiquity_log.3918[7006]: Curtin config dependencies requires additional packages: ['nvme-cli', 'nvme-stas', 'e2fsprogs']
Mar 11 14:42:02 ubuntu subiquity_log.3918[7006]: Running command ['dpkg', '--print-architecture'] with allowed return codes [0] (capture=True)
Mar 11 14:42:02 ubuntu subiquity_log.3918[7006]: Running command ['apt-cache', 'pkgnames'] with allowed return codes [0] (capture=True)
Mar 11 14:42:03 ubuntu subiquity_log.3918[7006]: Running command ['apt-cache', 'pkgnames'] with allowed return codes [0] (capture=True)
Mar 11 14:42:03 ubuntu curtin_event.3918.9[7009]: start: cmd-install/stage-curthooks/builtin/cmd-curthooks: Installing packages on target system: ['efibootmgr', 'grub-efi-amd64', 'grub-efi-amd64-signed', 'nvme-cli', 'nvme-stas', 'shim-signed']
Mar 11 14:42:03 ubuntu subiquity_log.3918[7006]: Skipping install of {'grub-efi-amd64', 'vlan', 'nvme-cli', 'efibootmgr', 'bridge-utils', 'grub-efi-amd64-signed', 'ifenslave', 'nvme-stas', 'shim-signed'}. Not needed on netplan system.
Mar 11 14:42:03 ubuntu subiquity_log.3918[7006]: start: cmd-install/stage-curthooks/builtin/cmd-curthooks: Installing packages on target system: ['efibootmgr', 'grub-efi-amd64', 'grub-efi-amd64-signed', 'nvme-cli', 'nvme-stas', 'shim-signed']
Mar 11 14:42:03 ubuntu subiquity_log.3918[7006]: Updating apt sources in /target

...

Mar 11 14:42:03 ubuntu subiquity_log.3918[7006]: Running in chroot, ignoring command 'start'
Mar 11 14:42:03 ubuntu subiquity_log.3918[7006]: Get:1 file:/cdrom noble InRelease
Mar 11 14:42:03 ubuntu subiquity_log.3918[7006]: Ign:1 file:/cdrom noble InRelease
Mar 11 14:42:03 ubuntu subiquity_log.3918[7006]: Get:2 file:/cdrom noble Release [1,072 B]
Mar 11 14:42:03 ubuntu subiquity_log.3918[7006]: Get:2 file:/cdrom noble Release [1,072 B]
Mar 11 14:42:03 ubuntu subiquity_event.3918[3918]: Installing packages on target system: ['efibootmgr', 'grub-efi-amd64', 'grub-efi-amd64-signed', 'nvme-cli', 'nvme-stas', 'shim-signed']

...

Mar 11 14:42:03 ubuntu subiquity_log.3918[7006]: Running command ['unshare', '--fork', '--pid', '--', 'chroot', '/target', 'apt-get', '--quiet', '--assume-yes', '--option=Dpkg::options::=--force-unsafe-io', '--option=Dpkg::Options::=--force-confold', 'install', '--download-only', 'efibootmgr', 'grub-efi-amd64', 'grub-efi-amd64-signed', 'nvme-cli', 'nvme-stas', 'shim-signed'] with allowed return codes [0] (capture=False)
Mar 11 14:42:03 ubuntu subiquity_log.3918[7006]: Reading package lists...
Mar 11 14:42:04 ubuntu subiquity_log.3918[7006]: Building dependency tree...
Mar 11 14:42:04 ubuntu subiquity_log.3918[7006]: Reading state information...
Mar 11 14:42:04 ubuntu subiquity_log.3918[7006]: Package nvme-cli is not available, but is referred to by another package.
Mar 11 14:42:04 ubuntu subiquity_log.3918[7006]: This may mean that the package is missing, has been obsoleted, or
Mar 11 14:42:04 ubuntu subiquity_log.3918[7006]: is only available from another source
Mar 11 14:42:04 ubuntu subiquity_log.3918[7006]: E: Package 'nvme-cli' has no installation candidate
Mar 11 14:42:04 ubuntu subiquity_log.3918[7006]: E: Unable to locate package nvme-stas
...

Related branches

Revision history for this message
Yao Wei (medicalwei) wrote :

full installer log attached

Steve Langasek (vorlon)
affects: ubuntu-cdimage → subiquity
tags: added: noble
Revision history for this message
Steve Langasek (vorlon) wrote :

The commit in curtin (54db5d071bdc56fcba03ac30233533f3e98999e2) says:

[...]
    The presence of a "nvme_controller" object in the config will trigger
    installation of nvme-cli and nvme-stas during curthooks, even if the
    controller specifies transport = "pcie" or if the controller is actually
    unused for the installation. For now, we will recommend not having
    any "nvme_controller" objects in the config if we don't install to a
    drive connected using NVMe over TCP.
[...]

So I guess something has gone wrong that there is an nvme_controller object in the config? We should definitely not be installing nvme-stas as part of a desktop install.

Olivier Gayot (ogayot)
Changed in subiquity:
assignee: nobody → Olivier Gayot (ogayot)
importance: Undecided → High
Dan Bungert (dbungert)
tags: added: foundations-todo
Dan Bungert (dbungert)
Changed in subiquity:
status: New → Triaged
importance: High → Critical
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in subiquity (Ubuntu):
status: New → Confirmed
Revision history for this message
Adam Fowler (adamfowleruk) wrote :

This bug also prevents an ubuntu-server noble autoinstall installation with NVMe disks attached via PCIe. Noble 20230223.

My configuration was a simple storage: direct, with a disk: match specifying 'smallest' and 'ssd: true' (I have 3 NVMe drives, one 128 GB for OS, two 3.6TB for data.).

Mine is an offline install (true air gap).

Interestingly, the live CD autoinstall process correctly finds and prepares the NVMe drive, installs the system and kernel fine. lsblk even shows all 3 drives. lsmod shows nvme, nvme_core and nvme_common are loaded - no nvme-cli or nvme-stas mentioned. It seems it is subiquity adding those drivers.

Interestingly, the package search site shows noble has these packages:-
https://packages.ubuntu.com/noble/nvme-cli

I'm going to try the daily from last night to see if they are now included.

Yao Wei (medicalwei)
Changed in oem-priority:
importance: Undecided → Critical
Yao Wei (medicalwei)
Changed in oem-priority:
assignee: nobody → Yao Wei (medicalwei)
Dan Bungert (dbungert)
Changed in curtin:
assignee: nobody → Olivier Gayot (ogayot)
status: New → In Progress
Olivier Gayot (ogayot)
Changed in curtin:
status: In Progress → Fix Committed
Revision history for this message
Olivier Gayot (ogayot) wrote :
Olivier Gayot (ogayot)
Changed in subiquity:
status: Triaged → Fix Committed
Olivier Gayot (ogayot)
tags: removed: foundations-todo
Revision history for this message
Olivier Gayot (ogayot) wrote (last edit ):

This bug should be fixed in today's build of the Ubuntu Server installer.

Changed in subiquity (Ubuntu):
status: Confirmed → Fix Committed
Changed in subiquity:
status: Fix Committed → Fix Released
Changed in subiquity (Ubuntu):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.