Bug 2207926
| Summary: | [RHOSP17.1] Fail To Boot Modified Overcloud Image | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | Red Hat OpenStack | Reporter: | Vadim Khitrin <vkhitrin> | ||||||
| Component: | documentation | Assignee: | Greg Rakauskas <gregraka> | ||||||
| Status: | CLOSED MIGRATED | QA Contact: | RHOS Documentation Team <rhos-docs> | ||||||
| Severity: | medium | Docs Contact: | |||||||
| Priority: | high | ||||||||
| Version: | 17.1 (Wallaby) | CC: | cfontain, ekuris, elicohen, gregraka, jamsmith, jkreger, mariel, mblue, njohnston, ramishra, rdiazcam, sbaker | ||||||
| Target Milestone: | async | Keywords: | Triaged | ||||||
| Target Release: | 17.1 | ||||||||
| Hardware: | x86_64 | ||||||||
| OS: | Linux | ||||||||
| Whiteboard: | |||||||||
| Fixed In Version: | Doc Type: | If docs needed, set a value | |||||||
| Doc Text: | Story Points: | --- | |||||||
| Clone Of: | Environment: | ||||||||
| Last Closed: | 2024-12-05 11:45:28 UTC | Type: | Bug | ||||||
| Regression: | --- | Mount Type: | --- | ||||||
| Documentation: | --- | CRM: | |||||||
| Verified Versions: | Category: | --- | |||||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||||
| Embargoed: | |||||||||
| Attachments: |
|
||||||||
|
Description
Vadim Khitrin
2023-05-17 10:59:17 UTC
Created attachment 1965033 [details]
fail boot
Created attachment 1965034 [details]
fail boot
I believe a kernel was updated in the overcloud image in the attached pictures containing the failure. It looks like the initramfs for the updated kernel is not present in /boot (ccamposr found this). It looks like the virt-customize doesn't install the kernel-core package when performing the update. A workaround for this can be explicitly installing the kernel-rt with virt-customize. (In reply to Ricardo Diaz from comment #4) > It looks like the initramfs for the updated kernel is not present in /boot > (ccamposr found this). It looks like the virt-customize doesn't > install the kernel-core package when performing the update. A workaround for > this can be explicitly installing the kernel-rt with virt-customize. I believe that might be intentional on part of RHEL. Regardless of that intent, this doesn't seem to be an actual bug as the issue is the image being created by user invoked virt-customize action. As such, I think this can be closed as not a bug. Please advise. Hey Julia, Sounds logical to me that this is most likely the behavior of RHEL RPMs. Let me follow up on this tomorrow with the folks who commented on this, and we will close this bug if needed. Could you please provide the exact commands you ran to customise the image? A possible outcome from this bug is documentation which ensures the kernel doesn't get updated during these customise steps. Hi Steve, this command: virt-customize -a overcloud-hardened-uefi-full.qcow2 --install kernel-core --selinux-relabel Ricardo has provided the command. Setting NEEDINFO to request the full documented steps followed to do this, so we can reproduce it. I just tried the rt.sh from #35, and it looks like it booted into the rt kernel just fine in a local libvirt VM:
$ uname -a
Linux localhost.localdomain 5.14.0-284.71.1.rt14.356.el9_2.x86_64 #1 SMP PREEMPT_RT Mon Jun 17 11:13:07 EDT 2024 x86_64 x86_64 x86_64 GNU/Linux
We also need to ensure that the subscription-manager calls are correct for the current rhel9.2 rhos17.1 repos. After acquiring the image my full list of steps was:
cp overcloud-hardened-uefi-full.qcow2 overcloud-realtime-compute.qcow2
virt-customize -a overcloud-realtime-compute.qcow2 \
--run-command 'subscription-manager register --username=[username] --password=[password]' \
--run-command 'subscription-manager release --set 9.2' \
--run-command 'subscription-manager repos --enable=rhel-9-for-x86_64-nfv-e4s-rpms'
virt-customize -a overcloud-realtime-compute.qcow2 -v --run rt.sh 2>&1 | tee virt-customize.log
Also, I sourced my image from here[1] and it already has the changed /boot/efi/EFI/redhat/grub.cfg so the "# Temporary workaround before z4" block can be removed if validation happens with this image.
I think it is time to bring in a documentation person to make the actual changes. Who is docs for NFV?
[1]https://sf.hosted.upshift.rdu2.redhat.com/images/redhat9/rhos-17.1/current-tripleo/
I think rt.sh is small enough now that we could justify doing this as a single command, or at least a batch of virt-customize commands using only --run-command.
I have verified that the following results in an image that boots a rt kernel:
virt-customize -a overcloud-realtime-compute.qcow2 \
--run-command 'subscription-manager register --username=[username] --password=[password] \
--run-command 'subscription-manager release --set 9.2' \
--run-command 'subscription-manager repos --enable=rhel-9-for-x86_64-nfv-e4s-rpms' \
--run-command 'dnf -v -y install kernel-rt kernel-rt-kvm tuned-profiles-nfv-host' \
--run-command 'sed -i -e "s/UPDATEDEFAULT=.*/UPDATEDEFAULT=yes/g" -e "s/DEFAULTKERNEL=.*/DEFAULTKERNEL=kernel-rt-core/g" /etc/sysconfig/kernel' \
--run-command 'grubby --set-default /boot/vmlinuz*rt*'
Also note that the --selinux-relabel argument no longer does anything on the virt-customize that is shipped with rhel9.2, so that step isn't required either.
Also NEEDINFOing Mikey to find out who to coordinate with to make this NFV docs change |