-
Notifications
You must be signed in to change notification settings - Fork 296
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
feat: Add Custom bootloader names so pretty_name can be static #3289
base: main
Are you sure you want to change the base?
Conversation
Hi @antheas. Thanks for your PR. I'm waiting for a ostreedev member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
@antheas can you share what your /etc/os-release files look before/after this change? @cgwalters name is littered all over the PRETTY_NAME code here and in rpm-ostree, so he's probably the best to take a look at this, to see if it will cause no regressions. |
Hi Eric, As I wrote above, we have not deployed the change yet as we would need to fork ostree. But we have made the change to os-release. I do not think there will be regressions because of this, unless there is another BOOTLOADER_NAME conflict. But if it is littered everywhere, perhaps this is not the correct place to make the change. For your reference, here is how grub looks right now: Which is confusing and not ideal. Here is how an Here is the file that provides the os-release file: There is no change to the /etc/os-release file, other than adding the optional |
Seems like |
Yup I noticed similar, the os-release file has different names in the /ostree/deploy location:
|
Looking at my deployment I can confirm. Both files are the same though. Your images appear to have the same issue. In our case, |
Thanks for filing this! One thing tangentially related to this is there's a relatively recent addition to the os-release spec called Hmmm...it looks to me like the boot loader code is trying to inject the ostree version in the commit digest if |
I cannot find that piece of code. The only reference to that is |
On Endless OS we have a fairly static In your case, I would set |
Another thing that could be useful is if you could set the BLS title entirely by commit metadata instead of relying on a bunch of heuristics in ostree. I.e., |
In universal blue, we are using an OCI based workflow, so most images cannot modify the commit metadata. They can do OCI tags or os-release. Also, this metadata fact escaped us. Does rpm ostree respect the version tag of a base commit when deploying an OCI image? |
Switched to draft as something has to be done about |
Dan also brought up the valid point of (ostree:0). I personally think that the deployment ID needs to be in the bootloader somewhere, but I will concede that (ostree:X) is not the best. Perhaps we can printf it into the bootloader name, so that it is optional and customizable. I think I would prefer it to be I will also note that Stable here is the branch and it can also take the values Unstable, Testing and PR. In which case the versioning format changes. Unstable and PR use a shortened commit hash, and Stable, Testing use the upstream Kinoite version. So it is not that clearcut to insert into
What does the above mean? Is (ostree set in stone? |
In certain hardware surveys (e.g., Steam), in order for a distribution to be accounted for the
PRETTY_NAME
os-release variable is used.Currently, this name plays a dual role in ostree, where it is displayed on GRUB. This necessitates it changing every version, so that rollbacks are intuitive for users. If this happens, the distribution image has to either be unfairly represented in those surveys OR the version that is displayed in GRUB has to be unintuitive and frozen.
Therefore, add a new variable in
/etc/os-release
calledBOOTLOADER_NAME
that will be used with priority compared to thePRETTY_NAME
of the distribution, thereby allowing an intuitive name for both applications.(this PR is untested; for now)