Skip to content

Use ISO instead of Base for OS info - #553

Open
dharmit wants to merge 1 commit into
SUSE:mainfrom
dharmit:release-info
Open

Use ISO instead of Base for OS info#553
dharmit wants to merge 1 commit into
SUSE:mainfrom
dharmit:release-info

Conversation

@dharmit

@dharmit dharmit commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Previously release-info command referred to
OperatingSystem.Image.Base for the OS info in its output. In spite of having the image listed by it downloaded locally, running customize with --local would fail. This is because customize uses OperatingSystem.Image.ISO to build on top of.

Example output:

# core manifest
$ cat /tmp/core/release_manifest.yaml | yq '.components.operatingSystem.image'
base: registry.suse.com/elemental/base-os-kernel-default:16.0-3.10
iso: registry.suse.com/elemental/base-os-kernel-default-iso:16.0-3.11

# before
$ sudo ../elemental/build/elemental3 release-info ./examples/elemental/customize/multi-node/suse-solution-manifest.yaml | grep "Operating System"
│ Operating System          │ SLES 16.0      │ registry.suse.com/elemental/base-os-kernel-default:16.0-3.10 │

# after
$ sudo ./build/elemental3 release-info ./examples/elemental/customize/multi-node/suse-solution-manifest.yaml | grep "Operating System"
│ Operating System          │ SLES 16.0      │ registry.suse.com/elemental/base-os-kernel-default-iso:16.0-3.11 │

@dharmit
dharmit requested a review from a team as a code owner August 6, 2026 09:34
Previously `release-info` command referred to
`OperatingSystem.Image.Base` for the OS info in its output. In spite of
having the image listed by it downloaded locally, running `customize`
with `--local` would fail. This is because `customize` uses
`OperatingSystem.Image.ISO` to build on top of.

Signed-off-by: Dharmit Shah <dharmit.shah@suse.com>
@ipetrov117

Copy link
Copy Markdown
Contributor

While this is true, when running cusomitze, the opposite is true, when doing an upgrade. The base-os-kernel-default-iso image is only used during initial image creation, after that we always refer and use the base-os-kernel-default. Furthermore, the base-os-kernel-default is the actual image that represents the base OS state, base-os-kernel-default-iso is just a wrapper that ships an installer ontop.

Since the field is labeled Operating System, I'd suggest to keep it pointing to the base-os-kernel-default, as that is the actual image that is used for the base OS. Both during customize (through the base-os-kernel-default-iso) and upgrade. If we put base-os-kernel-default-iso under Operating System, we would be inviting questions such as - "Why is it called *-iso, what do I need to use for raw?" etc..

Alternatively, we could provide the base-os-kernel-default-iso reference in a different field (e.g. Installer), but I am not sure we would get much out of it. I'll let others chime in as well, but IMO the release-info command should provide easy to follow and understand information about the general system that this manifest represents - what OS version it ships (e.g. base-os-kernel-default build), what RKE2 version it ships, which charts it ships. Going further into detail about other images that we use to achieve this basic state, could just cause confusion.

@dharmit

dharmit commented Aug 6, 2026

Copy link
Copy Markdown
Contributor Author

@ipetrov117 thank you for the explanation. 👍🏽

Alternatively, we could provide the base-os-kernel-default-iso reference in a different field (e.g. Installer), but I am not sure we would get much out of it.

I'd prefer this. Personally, my workflow is:

  • Do elemental3 release-info
  • Store container images in its output into a shell variable
  • Download the images
  • Use --local flag when running customize

I don't see a reason right now, but at some point I feel it'll be valuable to add a flag to release-info command that prints only the container images. These output can be used to download all required images before running customize. Would be very useful for folks relying on --local.

@davidcassany davidcassany left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am also unsure about this change, I think the Operating System should point to the OS image. However I see the benefits of having the ISO listed too, so I think the ISO deserves another field or making the Operator System a multi value stanza. I am not sure what would be the best approach. IMHO release info should give the references of both, the installer image and the OS image.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants