failed kernel mapping specification
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
curtin |
Fix Released
|
Undecided
|
Olivier Gayot | ||
subiquity |
Fix Released
|
Undecided
|
Unassigned | ||
livecd-rootfs (Ubuntu) |
Fix Released
|
Undecided
|
Dan Bungert |
Bug Description
In testing the current desktop installer ISOs with a freshly build u-d-i snap, curthooks fails like follows:
finish: cmd-install/
finish: cmd-install/
Traceback (most recent call last):
File "/snap/
ret = args.func(args)
File "/snap/
builtin_
File "/snap/
install_
File "/snap/
config.
AttributeError: 'NoneType' object has no attribute 'get'
'NoneType' object has no attribute 'get'
curtin: Installation failed with exception: Unexpected error while running command.
Command: ['curtin', 'curthooks']
Exit code: 3
Reason: -
happened as part of an autoinstall test, no override of the kernel value.
Related branches
- Michael Hudson-Doyle: Approve
-
Diff: 41 lines (+13/-2)2 files modifieddebian/changelog (+7/-0)
live-build/auto/config (+6/-2)
- Server Team CI bot: Approve (continuous-integration)
- Dan Bungert: Approve
-
Diff: 43 lines (+16/-6)2 files modifiedcurtin/commands/curthooks.py (+7/-6)
tests/unittests/test_curthooks.py (+9/-0)
tags: | added: foundations-todo |
Changed in livecd-rootfs (Ubuntu): | |
assignee: | nobody → Dan Bungert (dbungert) |
Changed in subiquity: | |
status: | New → Fix Released |
Changed in curtin: | |
status: | Fix Committed → Fix Released |
Changed in livecd-rootfs (Ubuntu): | |
status: | Confirmed → In Progress |
Changed in livecd-rootfs (Ubuntu): | |
status: | In Progress → Fix Committed |
tags: | removed: foundations-todo |
I'm not sure yet why you ended up in this scenario. It looks like a subiquity bug.
That said, the install_kernel function in curthooks has code to handle kernel_cfg=None, but then it invokes the .get() method regardless. This is obviously wrong.
if kernel_cfg is not None:
kernel_ package = kernel_ cfg.get( 'package' )
kernel_ fallback = kernel_ cfg.get( 'fallback- package' )
kernel_ package = None
kernel_ fallback = None
else:
config. merge_config( mapping, kernel_ cfg.get( 'mapping' , {}))