Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SeedImage add platform selector #181

Open
frelon opened this issue May 21, 2024 · 9 comments
Open

SeedImage add platform selector #181

frelon opened this issue May 21, 2024 · 9 comments
Assignees
Labels
Milestone

Comments

@frelon
Copy link

frelon commented May 21, 2024

When building installation media, it's also possible to select the target platform of the built image/iso.

Right now it could be a hardcoded list with linux/x86_64 and linux/arm64 and default to the current platform rancher is running on (or x86 if easier).

This should set the targetPlatform field on the seedImage resource:

apiVersion: elemental.cattle.io/v1beta1
kind: SeedImage
metadata:
  name: fire-img
  namespace: fleet-default
spec:
  baseImage: registry.opensuse.org/isv/rancher/elemental/dev/containers/suse/sl-micro/6.0/baremetal-os-container:latest
  targetPlatform: linux/arm64
@frelon frelon added the enhancement New feature or request label May 21, 2024
@kkaempf kkaempf added this to the 2.8.x milestone Jun 3, 2024
@kkaempf
Copy link

kkaempf commented Jun 3, 2024

@aalves08 is this sufficient or would you need a JIRA as well ?

@aalves08
Copy link
Member

aalves08 commented Jun 3, 2024

wasn't aware of this @kkaempf . I think this will suffice. I'll catch up with @frelon . Thanks!

@kwwii
Copy link

kwwii commented Jun 4, 2024

What is the relationship between media type, arch, and os version? Am I correct to assume that the media type will specify both arch and os version? Will there always be builds for all architectures for every os version?

@kwwii
Copy link

kwwii commented Jun 4, 2024

As a side note, including the arch in the OS Version name (currently only the iso x86_64 builds do this) will make it confusing for users if we add a selector for the arch elsewhere.

@aalves08
Copy link
Member

aalves08 commented Jun 4, 2024

@frelon @davidcassany what elemental-operator will this be bound to? Will it be like the media type, which the mininum version is 1.6.2? https://github.com/rancher/elemental-ui/blob/main/pkg/elemental/utils/feature-versioning.ts#L18-L37

@aalves08 aalves08 self-assigned this Jun 6, 2024
@aalves08 aalves08 modified the milestones: 2.8.x, 2.9.x Jun 6, 2024
@davidcassany
Copy link
Contributor

@frelon @davidcassany what elemental-operator will this be bound to? Will it be like the media type, which the mininum version is 1.6.2? https://github.com/rancher/elemental-ui/blob/main/pkg/elemental/utils/feature-versioning.ts#L18-L37

Yes 1.6.2 is a good version cut. Any version >= 1.6.2 is fine.

@davidcassany
Copy link
Contributor

What is the relationship between media type, arch, and os version? Am I correct to assume that the media type will specify both arch and os version? Will there always be builds for all architectures for every os version?

That's a good point. We might be missing on per OS version basis which are the architectures available.

@aalves08
Copy link
Member

aalves08 commented Aug 6, 2024

@frelon @davidcassany what elemental-operator will this be bound to? Will it be like the media type, which the mininum version is 1.6.2? https://github.com/rancher/elemental-ui/blob/main/pkg/elemental/utils/feature-versioning.ts#L18-L37

Yes 1.6.2 is a good version cut. Any version >= 1.6.2 is fine.

Does this mean the operator in staging (1.6.3) has the support for this feature @davidcassany or do we leave this to another release of the UI?

@anmazzotti
Copy link

@aalves08 FYI we added a new field: ManagedOSVersion.spec.metadata.platforms ( https://github.com/rancher/elemental-channels/pull/22/files )

If a ManagedOSVersion has this key, then any string in the array can be used as it is for the SeedImage.spec.targetPlatform, it will be linux/x86_64, or linux/aarch64 or both. (this is the case I'd show up a selection maybe)

If ManagedOSVersion.spec.metadata.platforms is not present, then everything stays as it is and SeedImage.spec.targetPlatform can stay empty (so no platform selection on the UI).

I hope this can help.

Since we are adding this to the SL Micro 6.0 channels, I think this feature can be gated to v1.6.3 of the operator, but it's not a blocker for 2.0.0 ui release, we can add it later.

@davidcassany also FYI in case I missed anything

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

6 participants