snapd icon indicating copy to clipboard operation
snapd copied to clipboard

[WIP] many: support multi-volume gadget asset updates

Open anonymouse64 opened this issue 3 years ago • 2 comments

This PR serves as a historical collection of all PRs to implement the feature of implementing multi-volume gadget asset updates for UC20+. Everything here is proposed in additional PR's too, so this can eventually be closed.

PRs:

  • [x] https://github.com/snapcore/snapd/pull/10903
  • [x] https://github.com/snapcore/snapd/pull/10904
  • [x] https://github.com/snapcore/snapd/pull/10905
  • [x] https://github.com/snapcore/snapd/pull/10916
  • [x] https://github.com/snapcore/snapd/pull/10917
  • [x] https://github.com/snapcore/snapd/pull/10918
  • [x] https://github.com/snapcore/snapd/pull/10919
  • [x] https://github.com/snapcore/snapd/pull/10920
  • [x] https://github.com/snapcore/snapd/pull/10921
  • [x] https://github.com/snapcore/snapd/pull/10979
  • [x] https://github.com/snapcore/snapd/pull/11021
  • [x] https://github.com/snapcore/snapd/pull/11022
  • [x] https://github.com/snapcore/snapd/pull/11028 (for ICE merge compatibility)
  • [x] https://github.com/snapcore/snapd/pull/11035 (for ICE merge compatibility)
  • [x] https://github.com/snapcore/snapd/pull/11043
  • [x] https://github.com/snapcore/snapd/pull/11060
  • [x] https://github.com/snapcore/snapd/pull/11070
  • [x] https://github.com/snapcore/snapd/pull/11084
  • [x] https://github.com/snapcore/snapd/pull/11127
  • [x] https://github.com/snapcore/snapd/pull/11154
  • [x] https://github.com/snapcore/snapd/pull/11207
  • [x] https://github.com/snapcore/snapd/pull/11219
  • [x] https://github.com/snapcore/snapd/pull/11220
  • [x] https://github.com/snapcore/snapd/pull/11229
  • [x] https://github.com/snapcore/snapd/pull/11230
  • [x] https://github.com/snapcore/snapd/pull/11234
  • [x] https://github.com/snapcore/snapd/pull/11235
  • [x] https://github.com/snapcore/snapd/pull/11296
  • [x] https://github.com/snapcore/snapd/pull/11297
  • [x] https://github.com/snapcore/snapd/pull/11331
  • [x] https://github.com/snapcore/snapd/pull/11332
  • [x] https://github.com/snapcore/snapd/pull/11333
  • [x] https://github.com/snapcore/snapd/pull/11334
  • [x] https://github.com/snapcore/snapd/pull/11335
  • [x] https://github.com/snapcore/snapd/pull/11354
  • [x] https://github.com/snapcore/snapd/pull/11374
  • [x] https://github.com/snapcore/snapd/pull/11384
  • [x] https://github.com/snapcore/snapd/pull/11414
  • [x] https://github.com/snapcore/snapd/pull/11415
  • [x] https://github.com/snapcore/snapd/pull/11420
  • [x] https://github.com/snapcore/snapd/pull/11433
  • [ ] https://github.com/snapcore/snapd/pull/11494
  • [ ] https://github.com/snapcore/snapd/pull/11573
  • [ ] https://github.com/snapcore/snapd/pull/11580

anonymouse64 avatar Oct 09 '21 02:10 anonymouse64

Codecov Report

Merging #10906 (1003de2) into master (2bedfe6) will decrease coverage by 0.27%. The diff coverage is 74.19%.

@@            Coverage Diff             @@
##           master   #10906      +/-   ##
==========================================
- Coverage   78.24%   77.96%   -0.28%     
==========================================
  Files         935      939       +4     
  Lines      108436   109906    +1470     
==========================================
+ Hits        84846    85691     +845     
- Misses      18301    18893     +592     
- Partials     5289     5322      +33     
Flag Coverage Δ
unittests 77.96% <74.19%> (-0.28%) :arrow_down:

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

Impacted Files Coverage Δ
gadget/device_linux.go 100.00% <ø> (+3.46%) :arrow_up:
gadget/update.go 85.92% <74.19%> (-1.89%) :arrow_down:
daemon/api_quotas.go 75.00% <0.00%> (-5.56%) :arrow_down:
boot/reboot.go 65.21% <0.00%> (-4.56%) :arrow_down:
cmd/snap-preseed/main.go 73.33% <0.00%> (-4.28%) :arrow_down:
snap/quota/quota.go 94.83% <0.00%> (-2.20%) :arrow_down:
wrappers/services.go 39.48% <0.00%> (-2.14%) :arrow_down:
overlord/configstate/configcore/services.go 71.32% <0.00%> (-1.53%) :arrow_down:
interfaces/systemd/backend.go 65.87% <0.00%> (-1.35%) :arrow_down:
overlord/devicestate/handlers_install.go 66.46% <0.00%> (-1.05%) :arrow_down:
... and 45 more

:mega: Codecov can now indicate which changes are the most critical in Pull Requests. Learn more

codecov-commenter avatar Jan 09 '22 07:01 codecov-commenter

It seems the final commit to try and enable the special device with the weird kernel is actually breaking native UC20 on GCE, I see this in the serial console where it gets stuck:

Jan 09 14:53:09 ubuntu snapd[1347]: partition.go:295: partition rescan file /sys/devices/pci0000:00/0000:00:03.0/virtio0/host0/target0:0:1/0:0:1:0/block/sda/device/rescan for device /dev/sda exists, so using it to reload partition table instead of partx
Jan 09 14:53:14 ubuntu snapd[1347]: taskrunner.go:271: [change 2 "Setup system for run mode" task] failed: cannot install system: cannot create the partitions: partition not available: device /dev/sda3 not available

anonymouse64 avatar Jan 09 '22 14:01 anonymouse64