Bug 1486962
| Summary: | The redhat-upgrade-tool does not complete with rhel 7.4 | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 6 | Reporter: | Devon <dshumake> |
| Component: | redhat-upgrade-tool | Assignee: | Michal Bocek <mbocek> |
| Status: | CLOSED ERRATA | QA Contact: | Release Test Team <release-test-team-automation> |
| Severity: | high | Docs Contact: | Jiri Hornicek <jhornice> |
| Priority: | urgent | ||
| Version: | 6.9 | CC: | cdonnell, dconsoli, dwojewod, fkrska, jcastran, jentrena, jhornice, jstodola, ktordeur, mateusz.bacal, mbocek, mmatsuya, ovasik, phracek, pkotvan, release-test-team-automation, snavale, srandhaw |
| Target Milestone: | rc | Keywords: | Extras, PrioBumpGSS, Regression |
| Target Release: | 6.9 | ||
| Hardware: | x86_64 | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | redhat-upgrade-tool-0.7.50-1.el6 | Doc Type: | Bug Fix |
| Doc Text: |
The introduction of kernel modules compression in RHEL 7.4 caused that the upgrade from RHEL 6.9 to RHEL 7.4 was not possible. Now, the Red Hat Upgrade Tool decompresses the modules before starting to upgrade the system, and the upgrade works as expected.
|
Story Points: | --- |
| Clone Of: | Environment: | ||
| Last Closed: | 2017-10-03 13:36:02 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: | |||
| Bug Depends On: | |||
| Bug Blocks: | 1461138 | ||
|
Description
Devon
2017-08-30 22:28:59 UTC
I was able to reproduce this and will work on a solution. *** Bug 1492609 has been marked as a duplicate of this bug. *** With the help of pcahyna there's been some progress. The key problem is that the kernel init script [1], which is provided by the Red Hat Upgrade Tool, is being executed under the RHEL 6.9 root so it uses the RHEL 6.9 modprobe (module-init-tools-3.9-26.el6) which can handle only zlib-compressed modules, not xz-compressed ones. Note: The RHEL 7.4 modules [2] are mounted to the RHEL 6.9 root by the Red Hat Upgrade Dracut-provided initramfs, specifically by [3]. One option would be to decompress the kernel modules first - at the beginning of the kernel init script [1]. We're working on this option and will report results. [1] <redhat-upgrade-tool-repo>/systemd/upgrade-init (during the upgrade it resides in /usr/libexec/) [2] /lib/modules/3.10.0-693.el7.x86_64 [3] <redhat-upgrade-dracut-repo>/85system-upgrade-redhat/keep-initramfs.sh->bind_into_newroot() Adding the line below to the upgrade-init (see comment 15) script fixes the issue. I'll create new version of Red Hat Upgrade Tool with this fix as soon as possible. find /lib/modules/$(uname -r) -name '*.ko.xz' | while read x; do xz -d $x; ln ${x%%.xz} $x; done That's great to hear ;) What is the estimated date of new version of redhat upgrade tool available for download from redhat website ? It depends on the quality assurance team capacity to test the fix. Once it's tested it will be out for download within a day. I was able to verify this fix with redhat-upgrade-tool-0.7.50-1. Hi, Great to hear. When it will be available to donwload on your website ? We have tested the upgrade and now it is triggering properly but we faced next issue.
We did comparison between upgrade 6.9 -> 7.3 vs 6.9 -> 7.4.
As the outcome of it we observed that grub2-pc and it dependency are not installed as it was happening in previous version of redhat-upgrade-tool.
In the end after the last reboot when we shall end up on 7.4 we ending up in grub command line without possibility to boot forward.
Is it expected behavior ?
If there is something that we do not know about?
Reproduction:
1. Start Redhat 6.9
2. Install hotfix version of redhat upgrade tool with needed dependencies
3. Start upgrade
a) first reboot trigger upgrade to rhel 7.4
b) next rhel 7 packages are installed
c) final reboot is triggered to switch to redhat 7.4
4. End of reproduction.
For this test we used hotfix version of redhat-upgrade-tool rpm package... Version of all packages related to upgrade: redhat-upgrade-tool-0.7.50-1 preupgrade-assistant-2.4.4-1.el6 preupgrade-assistant-el6toel7-data-0.20170712-1.el6 preupgrade-assistant-tools-2.4.4-1.el6 preupgrade-assistant-el6toel7-0.6.71-2.el6 Does it somehow related to one of the releases for the package preupgrade-assistant-el6toel7 2017-06-21 Petr Stodulka <pstodulk> - 0.6.69-1 - bind-chroot: backup only relevant config files - use correct risk level for downgraded packages - modified yaboot module to print correct info and do not create the /etc/default/grub.conf file automatically, but keep it on user to be sure that content of the file is really valid - text polishing - grub: added instructions how to migrate GRUB to GRUB2 - Resolves: #1416324 #1414873 #1296658 #1447705 #1447706 #1458956 Especially this section about grub??? Hi All After digging into more details it appears that there is let's say "small" change which was not mention about in grub2 package. I did comparison of grub2-2.02-0.44 vs grub2-2.02-0.64 and yum transaction logs from redhat-upgrade-tool and it appears that in 2.02-0.64 grub2 rpm is not longer obsoletes grub rpm. For comparison grub2 - 2.02-0.44 was doing that that is why redhat upgrade tool would have grub2 installed after upgrade. Here is I think next clue..... - does this change was intentional, with the grub/grub2? According to document https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/system_administrators_guide/sec-upgrading_from_grub_legacy_to_grub2 there is statement which clearly says: "After finishing the in-place upgrade from RHEL 6 to RHEL 7, the grub2 package should be installed automatically" How we can workaround this ? Hello, actually the grub and grub2 packages behave differently and are not upgraded. This does not necessarily depend on an obsolete clause in the package. In the documentation you mention there is also "If the package is not on the system, you can install it by running...". Moreover in the Preupgrade Assistant analysis report there is this statement: "During the upgrade process, GRUB will be preserved in the Master Boot Record, and a temporary GRUB configuration will be deployed, so that you can boot into the upgraded system. Because it is not possible to support the temporary configuration, you need to rewrite it, and install GRUB 2 to the Master Boot Record manually after the upgrade." I agree that this is confusing and I will investigate the problem further with my colleagues and possibly file another bug report. However this is a different issue not related to the original bug so I'll close this one as verified. The problem with grub2 package can be tracked in bug 1497731. Hi, I agree that this is separate bug. Based on your comment "actually the grub and grub2 packages behave differently and are not upgraded. This does not necessarily depend on an obsolete clause in the package." - that is not fully true - redhat upgrade tool when I turned on debug logs I noticed that he is performing dummy yum transaction check based on which he is discovering what packages need to be installed on upgrade - at least this is my opinion. When I compared the same output I noticed that on upgrades 6.9 -> 7.3 transaction showing that grub is obsoleted by grub2. In that scenario I have installed grub2. Unfortunately on upgrade 6.9 -> 7.4 I do not have one.... For now I was able to workaround it by adding postupgrade script which will remove legacy grub and install grub2. I have separated script which is handling migration. But I will copy this message to original bugzilla to not make additional confusion on that one ;) Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2017:2856 |