snapd icon indicating copy to clipboard operation
snapd copied to clipboard

many: fix swapping back and forth between kernels with components during remodeling

Open andrewphelpsj opened this issue 11 months ago • 1 comments

This fixes and tests the case where we remodel to a kernel snap that is already installed on the system, but is not the current kernel due to a previous remodel.

Note that this PR removes the existing "prepare-kernel-snap" task from the created tasks here, because the task is superfluous in this case. The kernel's drivers tree is already generated from the original installation of the kernel.

andrewphelpsj avatar Feb 07 '25 14:02 andrewphelpsj

Wed Feb 26 10:52:03 UTC 2025 The following results are from: https://github.com/canonical/snapd/actions/runs/13539347462

Failures:

Preparing:

  • google-nested:ubuntu-24.04-64:tests/nested/manual/remodel-to-installed-kernel
  • google-nested:ubuntu-24.04-64:tests/nested/manual/core20-set-efi-boot-vars:BOOTDIR_NOSEC
  • google-nested:ubuntu-24.04-64:tests/nested/manual/kernel-modules-components:plain
  • google-nested:ubuntu-24.04-64:tests/nested/manual/uc20-install-in-initrd:both
  • google-nested:ubuntu-24.04-64:tests/nested/manual/component-recovery-system
  • google-nested:ubuntu-24.04-64:tests/nested/manual/core20-4k-sector-size:logical
  • google-nested:ubuntu-24.04-64:tests/nested/manual/core20-fde-dbx
  • google-nested:ubuntu-24.04-64:tests/nested/manual/component-recovery-system-offline
  • google-nested:ubuntu-24.04-64:tests/nested/manual/remodel-validation-sets-invalid
  • google-nested:ubuntu-24.04-64:tests/nested/manual/recovery-system-offline:pre_installed_snaps
  • google-nested:ubuntu-24.04-64:tests/nested/manual/remodel-to-installed-kernel
  • google-nested:ubuntu-24.04-64:tests/nested/manual/uc20-fde-hooks:files
  • google-nested:ubuntu-24.04-64:tests/nested/manual/hybrid-remodel
  • google-nested:ubuntu-24.04-64:tests/nested/manual/hybrid-fde-dbx

Executing:

  • google-nested:ubuntu-18.04-64:tests/nested/manual/minimal-smoke:secboot_enabled
  • google-nested:ubuntu-18.04-64:tests/nested/manual/minimal-smoke:secboot_disabled
  • google-nested:ubuntu-20.04-64:tests/nested/manual/minimal-smoke:secboot_disabled
  • google-nested:ubuntu-20.04-64:tests/nested/manual/minimal-smoke:secboot_enabled
  • google-nested:ubuntu-24.04-64:tests/nested/manual/remodel-with-components
  • google-nested:ubuntu-24.04-64:tests/nested/manual/muinstaller-real:partial
  • google-nested:ubuntu-24.04-64:tests/nested/manual/muinstaller-real:plain
  • google-nested:ubuntu-24.04-64:tests/nested/manual/muinstaller-core:install_optional_all
  • google-nested:ubuntu-24.04-64:tests/nested/manual/muinstaller-real:seeded
  • google-nested:ubuntu-24.04-64:tests/nested/manual/muinstaller-real:encrypted
  • google-nested:ubuntu-24.04-64:tests/nested/manual/muinstaller-core:install_optional_snap
  • google-nested:ubuntu-24.04-64:tests/nested/manual/split-refresh
  • google-nested:ubuntu-24.04-64:tests/nested/manual/core20-early-config
  • google-nested:ubuntu-24.04-64:tests/nested/manual/muinstaller
  • google-nested:ubuntu-24.04-64:tests/nested/manual/preseed
  • google-nested:ubuntu-24.04-64:tests/nested/manual/remodel-with-components-offline
  • google-nested:ubuntu-24.04-64:tests/nested/manual/component-recovery-system
  • google-nested:ubuntu-24.04-64:tests/nested/manual/muinstaller-real:encrypted
  • google-nested:ubuntu-24.04-64:tests/nested/manual/muinstaller-real:partial
  • google-nested:ubuntu-24.04-64:tests/nested/manual/muinstaller-real:plain
  • google-nested:ubuntu-24.04-64:tests/nested/manual/remodel-with-components
  • google-nested:ubuntu-24.04-64:tests/nested/manual/core20-remodel
  • google-nested:ubuntu-24.04-64:tests/nested/manual/muinstaller-real:seeded
  • google-nested:ubuntu-24.04-64:tests/nested/manual/muinstaller-core:install_optional_all
  • google-core:ubuntu-core-18-64:tests/main/security-device-cgroups-self-manage

Restoring:

  • google-nested:ubuntu-24.04-64:tests/nested/manual/core20-set-efi-boot-vars:BOOTDIR_NOSEC
  • google-nested:ubuntu-24.04-64:tests/nested/manual/
  • google-nested:ubuntu-24.04-64
  • google-nested:ubuntu-24.04-64:tests/nested/manual/kernel-modules-components:plain
  • google-nested:ubuntu-24.04-64:tests/nested/manual/
  • google-nested:ubuntu-24.04-64
  • google-nested:ubuntu-24.04-64:tests/nested/manual/muinstaller-core:install_optional_snap
  • google-nested:ubuntu-24.04-64:tests/nested/manual/
  • google-nested:ubuntu-24.04-64
  • google-nested:ubuntu-24.04-64:tests/nested/manual/uc20-install-in-initrd:both
  • google-nested:ubuntu-24.04-64:tests/nested/manual/
  • google-nested:ubuntu-24.04-64
  • google-nested:ubuntu-24.04-64:tests/nested/manual/component-recovery-system
  • google-nested:ubuntu-24.04-64:tests/nested/manual/
  • google-nested:ubuntu-24.04-64
  • google-nested:ubuntu-24.04-64:tests/nested/manual/core20-4k-sector-size:logical
  • google-nested:ubuntu-24.04-64:tests/nested/manual/
  • google-nested:ubuntu-24.04-64
  • google-nested:ubuntu-24.04-64:tests/nested/manual/muinstaller-core:install_optional_all
  • google-nested:ubuntu-24.04-64:tests/nested/manual/
  • google-nested:ubuntu-24.04-64

github-actions[bot] avatar Feb 07 '25 14:02 github-actions[bot]

Codecov Report

Attention: Patch coverage is 71.01449% with 20 lines in your changes missing coverage. Please review.

Project coverage is 78.12%. Comparing base (a272aac) to head (95fd8bd). Report is 70 commits behind head on master.

Files with missing lines Patch % Lines
overlord/snapstate/snapstate.go 71.01% 13 Missing and 7 partials :warning:
Additional details and impacted files
@@            Coverage Diff             @@
##           master   #15046      +/-   ##
==========================================
+ Coverage   78.07%   78.12%   +0.05%     
==========================================
  Files        1182     1175       -7     
  Lines      157743   158002     +259     
==========================================
+ Hits       123154   123445     +291     
+ Misses      26943    26886      -57     
- Partials     7646     7671      +25     
Flag Coverage Δ
unittests 78.12% <71.01%> (+0.05%) :arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

codecov[bot] avatar Feb 19 '25 16:02 codecov[bot]

As discussed with @andrewphelpsj, it's unlikely this content will make 2.68.2. Keeping tag for the moment, will reevaluate when everything else is ready.

ernestl avatar Feb 25 '25 07:02 ernestl

Note: google-nested:ubuntu-24.04-64:tests/nested* tests affected by missing 24.04.1 image, this was fixed with https://github.com/canonical/snapd/pull/15125. Not rebasing in the interest of time for 2.68.2 release.

ernestl avatar Feb 26 '25 19:02 ernestl

Please note this was reverted later with https://github.com/canonical/snapd/pull/15139. Removing milestone 2.68.2 to avoid confusion.

ernestl avatar Feb 26 '25 21:02 ernestl