rancher / elemental

Elemental is a software stack enabling centralized, full cloud-native OS management with Kubernetes.
https://elemental.docs.rancher.com/
Apache License 2.0
305 stars 39 forks source link

[Epic] Description of available images (aka ChangeLog) #875

Open kkaempf opened 1 year ago

kkaempf commented 1 year ago

Describe the solution you'd like: [A clear and concise description of what you want to happen.]

The UI presents a selection of images (name + version) to choose from when building ISOs or triggering upgrades.

However, there's no information about the differences between images and how to choose one over the other. Users can only choose the highest version and keep fingers crossed.

The UI should be enriched with 'ChangeLog' data, informing users about the main changes between image versions and thus helping them to choose the right one (or to not trigger and upgrade at all).

Anything else you would like to add: [Miscellaneous information that will assist in solving the issue.]

Traditional SUSE Linux Enterprise captures this information in 'patch' descriptions.

Proposal

Include the change log data as part of the channel information (e.g. include updates XML as part of the channel image or a channel side car image). There is a service to compute and serve a filtered updates info on demand. The input of such a service is the gap to compute: from date A to date B. Where date A and B are the build dates of the two images we aim to compare.

We could eventually precompute the XML to a different format, but if we consider on demand queries I think XML might be just fine, it is a well known and clearly structured format.

The reason to consider an on demand service to list patches is essentially because the channels does not include the list of all images that have been ever listed, so pre computing all the patches applied to certain image would only be fine if the channel keeps the history of all images which is not the case currently. Moreover we still need a strategy to serve the changelog list and once having that making it dynamic is just a small addition, the operator would require logic to serve a per image list in any case.

I envision a deployment per active channel that is owned and managed by the elemental-operator, something like a small REST API?

Tasks:

davidcassany commented 2 months ago
anmazzotti commented 2 months ago

This issue needs to be refined further. As for now we came up with some conclusions about packages information:

Regarding patches: