-
Notifications
You must be signed in to change notification settings - Fork 3
DLPX-73603 Grub should always default to the kernel version that comes with the active Delphix version #10
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
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How do you envision this working for hotfixes? e.g. if we install a new kernel package, but don't update the delphix-entire
package?
I think, based on this, we should always update the delphix-entire
package when we install a hotfix (at least with the new hotfix project stuff).. in which case, this solution would work for that case too.. what do you think?
I don't think this is relevant, since we still use the underlying test implementation withing Jenkins, which is what I was referring too. Please correct me if I'm wrong, though.
I'm OK with that approach, but I think this means (with this change) we do not support installing a new kernel without going through the normal upgrade/hotfix/etc. process; whereas we do support this workflow for other packages (at least, internally). Personally, I'm good with that "drawback". |
Yeah, this Jenkins implementation doesn't work anymore following the linux-pkg rework, so an appliance-build with the new zfs bits is now required to run
Yeah that's mostly what it means. We could still theoretically provide some kernel changes without modifying the kernel version (similar to what I did for the current kernel we are using on 6.0, by manually repackaging an existing kernel package and modifying the package's revision), but I find that whole process quite gross so I rather avoid it ;). |
OK, so I think I'm good with this idea in general, but I'd like to simplify the code a bit such that it relies on a Ideally, I'd like to throw an error if |
…s with the active Delphix version
I've posted an update which now fails if the latest delphix-kernel version is not found. I've tested that it works for initial install: http://selfservice.jenkins.delphix.com/job/devops-gate/job/master/job/appliance-build-orchestrator-pre-push/4569/ I've also tested that it fails if the
I've looked at the upgrade workflow and we always run |
…s with the active Delphix version (delphix#10)
…s with the active Delphix version (delphix#10)
…s with the active Delphix version (#10)
The "grub-mkconfig" utility is responsible for generating the "grub.cfg" configuration. It lists the kernel binaries installed on the system and generates entries in the grub menu for each kernel version. It also generates a "default" entry, which points to the latest kernel version. The "latest" kernel version is determined by doing a version string comparison of all the kernel versions.
The problem is that the "latest" kernel version as determined by string comparison will not necessarily coincide with the "latest" kernel version from the Delphix Engine's perspective. From the DE's perspective the "latest" kernel is the one that comes with the latest Delphix image, which might not necessarily have the highest numerical string. To figure out what is the latest kernel version, we must look at the "delphix-kernel" package name that is listedin the delphix-entire's package list at "/usr/share/doc/delphix-entire-*/packages.list.gz".
Open question
Should we explicitly fail if
version_delphix_latest()
returns nothing?Testing
/boot/vmlinuz-*
to determine which kernels are installed, so I just created some fake entries there with a higher version number and checked that the proper kernel version is selected by default by grub.