Page MenuHomeVyOS Platform

Image upgrade fails when the "system option kernel" subtree is empty
Closed, ResolvedPublic

Description

When adding a new system image, vyos throws an error:

shell
Validating image compatibility
Validating image checksums
What would you like to name this image? (Default: 2025.04.25-0019-rolling)
Would you like to set the new image as the default one for boot? [Y/n]
An active configuration was found. Would you like to copy it to the new image? [Y/n]
Copying configuration directory
Would you like to copy SSH host keys? [Y/n]
Copying SSH host keys
Copying system image files
Cleaning up
Unmounting target filesystems
Removing temporary files
Cleaning up
Unmounting target filesystems
Removing temporary files
Error: argument of type 'NoneType' is not iterable

That's because system.option.kernel is not set in config, so kernel_options will be None: https://github.com/vyos/vyos-1x/blob/e6909ffe8fc474e181e9b711f1b08974e152a0a7/src/op_mode/image_installer.py#L493

Details

Version
2025.04.21-0020-rolling
Is it a breaking change?
Perfectly compatible
Issue type
Bug (incorrect behavior)

Event Timeline

canoziia changed Is it a breaking change? from Unspecified (possibly destroys the router) to Perfectly compatible.Apr 25 2025, 3:35 AM
canoziia changed Issue type from Unspecified (please specify) to Bug (incorrect behavior).
Viacheslav moved this task from Need Triage to Completed on the VyOS Rolling board.

Still happening somewhere

{F14387702}

Still happening somewhere

{F14387702}

It is fixed after 2025.04.26-0018-rolling, you can add some kernel options like set system option kernel disable-power-saving then upgrade to the newest rolling release, and then delete it.

Thanks :) I saw it in the commit notes, they must not be working correctly still :(

dmbaturin renamed this task from add system image raise "Error: argument of type 'NoneType' is not iterable" to Image upgrade fails when the "system option kernel" subtree is empty .May 28 2025, 8:05 PM