oamg / convert2rhel Goto Github PK
View Code? Open in Web Editor NEWA tool to automate converting Oracle/CentOS/Scientific/Rocky/Alma Linux to Red Hat Enterprise Linux
License: GNU General Public License v3.0
A tool to automate converting Oracle/CentOS/Scientific/Rocky/Alma Linux to Red Hat Enterprise Linux
License: GNU General Public License v3.0
Both convert2rhel -h
and convert2rhel --help
return 1 exit code
- dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
- dnf config-manager --set-enabled PowerTools
- yum -y install libedit-devel nkf
('[%s] %s - %s', '11/26/2021 11:59:06', 'DEBUG', "Calling command 'yum distro-sync -y --disablerepo=* --releasever=8.5 --setopt=module_platform_id=platform:el8 --enablerepo=rhel-8-for-x86_64-baseos-rpms --enablerepo=rhel-8-for-x86_64-appstream-rpms libedit-devel nkf'")
Updating Subscription Management repositories.
Last metadata expiration check: 0:06:32 ago on Fri Nov 26 11:52:36 2021.
No package libedit-devel installed.
No package nkf installed.
Error: No packages marked for distribution synchronization.
Received return code: 1
Resolving dependency errors ...
Checking for problematic packages
No other package to try to downgrade in order to resolve yum dependency errors.
Checking for problematic packages
CRITICAL - Could not resolve yum errors.
Traceback (most recent call last):
File "/usr/lib/python3.6/site-packages/convert2rhel/main.py", line 104, in main
post_ponr_conversion()
File "/usr/lib/python3.6/site-packages/convert2rhel/main.py", line 220, in post_ponr_conversion
pkghandler.replace_non_red_hat_packages()
File "/usr/lib/python3.6/site-packages/convert2rhel/pkghandler.py", line 582, in replace_non_red_hat_packages
call_yum_cmd_w_downgrades(cmd, orig_os_pkgs + submgr_pkgs)
File "/usr/lib/python3.6/site-packages/convert2rhel/pkghandler.py", line 79, in call_yum_cmd_w_downgrades
return call_yum_cmd_w_downgrades(cmd, pkgs, retries - 1)
File "/usr/lib/python3.6/site-packages/convert2rhel/pkghandler.py", line 79, in call_yum_cmd_w_downgrades
return call_yum_cmd_w_downgrades(cmd, pkgs, retries - 1)
File "/usr/lib/python3.6/site-packages/convert2rhel/pkghandler.py", line 79, in call_yum_cmd_w_downgrades
return call_yum_cmd_w_downgrades(cmd, pkgs, retries - 1)
File "/usr/lib/python3.6/site-packages/convert2rhel/pkghandler.py", line 55, in call_yum_cmd_w_downgrades
loggerinst.critical("Could not resolve yum errors.")
File "/usr/lib/python3.6/site-packages/convert2rhel/logger.py", line 104, in _critical
sys.exit(msg)
SystemExit: Could not resolve yum errors.
WARNING - Conversion process interrupted and manual user intervention will be necessary.
Now, it can be seen the packages libedit-devel nkf are part of "codeready-builder-for-rhel-8-x86_64-rpms" repository whereas the convert2rhel enables the appstream and BaseOs repos only.
Reboot goes fine and system is still bootable after doing something like this,
#rpm -e libedit-devel nkf
#yum install --enablerepo=codeready-builder-for-rhel-8-x86_64-rpms libedit-devel nkf ; yum distro-sync -y --disablerepo=* --releasever=8.5 --setopt=module_platform_id=platform:el8 --enablerepo=rhel-8-for-x86_64-baseos-rpms --enablerepo=rhel-8-for-x86_64-appstream-rpms --enablerepo=codeready-builder-for-rhel-8-x86_64-rpms libedit-devel nkf
I recently tried to convert a CentOS 8 Linux x86_64 VM to RHEL x86_64. After running the script the install was broken. Here is a report of the incident:
- The tool started execution, and moved things arround too quickly before failing cause of tainted kernel.
- The script entered rollback state.
- The rollback operation forgot to restore some files such as /etc/os-release and left some of the new RHEL tools still available. At this point the system is in a mixed-transition state and cannot properly reboot.
- The next reboot obviously leads to emergency shell due to /etc/os-release not restored.
After some research it appears the file /etc/os-release
is provided by a package named redhat-release
on RHEL and centos-release
on CentOS. My guess is the script started to uninstall the centos-release
package but the rollback operation forgot or failed to re-install the missing package.
After these findings the process to restore the system at this point is to mount /dev, /sys and /proc in the damaged system root and chroot into it. Then you can apply these commands one after the other:
- echo "stock" > /etc/yum/vars/infra
- dhclient
- dnf install centos-release --releasever 8
- dnf update
And don't forget to disable SELinux as some of it's base policies might have not been restored.
I’ve tried to convert from CentOS8 to RHEL8 using convert2rhel, and I’ve gotten unexpected result ,although the convert process completed normally.
I expected that centos-release file is replaced to redhat-release, but the result is not. Following is result after convert.
# cat /etc/redhat-release
CentOS Linux release 8.3.2011
# ls -l /etc/*release
-rw-r--r--. 1 root root 30 11月 10 10:49 /etc/centos-release
lrwxrwxrwx. 1 root root 21 11月 10 10:49 /etc/os-release -> ../usr/lib/os-release
lrwxrwxrwx. 1 root root 14 11月 10 10:49 /etc/redhat-release -> centos-release
Remained unchanged are
# yum list extras --disablerepo="*" --enablerepo=rhel-8-baseos --enablerepo=rhel-8-appstream
centos-gpg-keys.noarch 1:8-2.el8 @anaconda
centos-linux-release.noarch 8.3-1.2011.el8 @anaconda
centos-linux-repos.noarch 8-2.el8 @anaconda
convert2rhel.noarch 0.14-1.el8 @@commandline
I could see following message in convert2rhel.log
:
[01/21/2021 23:46:54] TASK - [Convert: Remove excluded packages] ********************************
Searching for the following excluded packages:
centos-logos .................................... 0
centos-indexhtml ................................ 0
centos-release* ................................. 0
redhat-release* ................................. 0
rhn* ............................................ 0
python3-rhn* .................................... 0
Nothing to do.
[01/21/2021 23:46:54] TASK - [Convert: Install Red Hat release package] *************************
Installing redhat-release package
WARNING - Removing /etc/system-release saved during previous run of convert2rhel
No package to install
[01/22/2021 00:06:46] TASK - [Convert: List remaining non-Red Hat packages] *********************
Listing packages not signed by Red Hat
The following packages were left unchanged.
Package Packager Repository
------- -------- ----------
centos-gpg-keys-8-2.el8.noarch CentOS Buildsys @anaconda
centos-linux-release-8.3-1.2011.el8.noarch CentOS Buildsys @anaconda
centos-linux-repos-8-2.el8.noarch CentOS Buildsys @anaconda
convert2rhel-0.14-1.el8.noarch N/A @@commandline
:
Is this result expected? If no, What am I doing wrong?
# cat redhat-release
CentOS Linux release 8.3.2011
cat /etc/yum.repos.d/rhel-media.repo
[rhel-8-baseos]
name=Red Hat Enterprise Linux 8.3.0 - BaseOS
baseurl=file:///mnt/media/BaseOS
mediaid=None
metadata_expire=-1
gpgcheck=0
cost=500
[rhel-8-appstream]
name=Red Hat Enterprise Linux 8.3.0 - AppStream
baseurl=file:///mnt/media/AppStream
mediaid=None
metadata_expire=-1
gpgcheck=0
cost=500
# yum install -y https://github.com/oamg/convert2rhel/releases/download/v0.14/convert2rhel-0.14-1.el8.noarch.rpm
# convert2rhel --disable-submgr --enablerepo rhel-8-baseos --enablerepo rhel-8-appstream --debug
:
[01/22/2021 00:06:46] TASK - [Final: rpm files modified by the conversion] **********************
Running the 'rpm -Va' command which can take several minutes. It can be disabled by using the --no-rpm-va option.
[01/22/2021 00:06:46] DEBUG - Calling command 'rpm -Va'
The 'rpm -Va' output has been stored in the /var/log/convert2rhel/rpm_va_after_conversion.log file
Comparison of modified rpm files from before and after the conversion:
--- /var/log/convert2rhel/rpm_va.log
+++ /var/log/convert2rhel/rpm_va_after_conversion.log
@@ -0,0 +1,10 @@
+..5....T. /var/lib/selinux/targeted/active/commit_num
+.......T. /var/lib/selinux/targeted/active/file_contexts
+.......T. /var/lib/selinux/targeted/active/homedir_template
+S.5....T. /var/lib/selinux/targeted/active/policy.kern
+.......T. /var/lib/selinux/targeted/active/seusers
+.......T. /var/lib/selinux/targeted/active/users_extra
+missing /etc/system-release
+S.5....T. c /var/lib/unbound/root.key
+S.5....T. c /etc/dnf/dnf.conf
+.M....... g /var/lib/plymouth/boot-duration
@@ -3 +12,0 @@
-.M....... g /var/lib/plymouth/boot-duration
[01/22/2021 00:06:58] TASK - [Final: Non-interactive mode] **************************************
For the non-interactive use of the tool, run the following command:
convert2rhel --disable-submgr --disablerepo=* --enablerepo=rhel-8-baseos --enablerepo=rhel-8-appstream -v Server -y
WARNING - In order to boot the RHEL kernel, restart of the system is needed.
# echo $?
0
I had centos 8 using lvm and i ran the convert2rhel on a physical machine and now my system doesnt boot have an error on boot
"System BootOrder not found. Initializing defaults"
Creating boot entry Boot003 with label "Red Hat Enterprise Linux£ for file '\EFI\REDHAT\shimx64.efi"
Any ideas ???
As I learned the hard way, if you run convert2rhel inside tmux, at one point, tmux will segfault, leaving the system in a partially-converted state:
Jun 01 19:00:29 lookingglass kernel: tmux: server[275157]: segfault at 7e51 ip 00005634bb5c29fa sp 00007ffe11f7a6f8 error 4 in tmux (deleted)[5634bb597000+86000]
Jun 01 19:00:29 lookingglass kernel: Code: 08 88 4d 00 eb a6 48 8d 3d 33 19 04 00 31 c0 e8 fc c1 00 00 66 90 66 2e 0f 1f 84 00 00 00 00 00 89 f6 48 8d 04 b6 48 03 47 08 <0f> b6 08 f6 c1 08 75 4e 89 ce 83>
Jun 01 19:00:29 lookingglass systemd[1]: Created slice system-systemd-coredump.slice.
Jun 01 19:00:29 lookingglass systemd[1]: Started Process Core Dump (PID 398626/UID 0).
Jun 01 19:00:31 lookingglass systemd-coredump[398627]: Process 275157 (tmux: server) of user 1000 dumped core.
Stack trace of thread 275157:
#0 0x00005634bb5c29fa grid_get_cell1 (/usr/bin/tmux (deleted))
#1 0x00005634bb5c3e16 grid_reflow_join (/usr/bin/tmux (deleted))
#2 0x00005634bb5c4bb9 grid_reflow (/usr/bin/tmux (deleted))
#3 0x00005634bb5fbf29 window_pane_resize (/usr/bin/tmux (deleted))
#4 0x00005634bb5cd7f1 layout_fix_panes (/usr/bin/tmux (deleted))
#5 0x00005634bb5d580a recalculate_sizes (/usr/bin/tmux (deleted))
#6 0x00005634bb5dc1b3 server_client_dispatch (/usr/bin/tmux (deleted))
#7 0x00005634bb5d4e71 proc_event_cb (/usr/bin/tmux (deleted))
#8 0x00007fb37031ad85 n/a (/usr/lib64/libevent-2.1.so.6.0.2 (deleted))
convert2rhel.log is attached.
Packit failed on creating pull-requests in dist-git:
dist-git branch | error |
---|---|
el6 |
The distgit repository /tmp/packit-dist-gitrm8kothh is dirty.This is not supported. |
epel7 |
Failed to download file from URL https://github.com/oamg/convert2rhel/archive/vv0.12/convert2rhel-v0.12.tar.gz. Reason: 'Not Found'. |
You can re-trigger the update by adding /packit propose-update
to the issue comment.
After an abort in the convert2rhel
process, CentOS yum repos are not properly re-installed. It seems that $releasever
is not properly being parsed.
When running yum repolist all
on a broken system the following will appear:
base/$releasever/x86_64 CentOS-$releasever - Base
...
cr/$releasever/x86_64 CentOS-$releasever - cr
Where on a working system yum repolist all
produces the following:
base/7/x86_64 CentOS-7 - Base
...
cr/7/x86_64 CentOS-7 - cr
This leaves the system in an unusable state.
Using VMware clones of a newly built "server with GUI" Centos 7 to work out convert2rhel to RHEL7.
Pre update: on one of the clones 'yum check' reveals no issues.
On this particular run I set skip_broken=1 in /etc/yum.conf on the theroy I could just address any issues later - it did not seem to have the effect
In my examples below I'm working 2 clones:
On "Trane" - convert2rhel was executed and failed.
On "dhcp189" - convert2rhel has not been run.
Pre convert2rhel
[root@dhcp189 ~]# yum check
Loaded plugins: fastestmirror, langpacks
check all
Steps followed to run convert2rhel:
On the VM to be converted:
[root@Trane ~]# yum install -y https://github.com/oamg/convert2rhel/releases/download/v0.17/convert2rhel-0.17-1.el7.noarch.rpm
[root@Trane ~]# yum install tmux -y
[root@Trane ~]# tmux new -s convert
[root@Trane ~]# yum update -y
[root@Trane ~]# reboot
[root@Trane ~]# convert2rhel --disable-submgr --enablerepo rhel-7-server-rpms --debug
Here's where it breaks.
Error: Package: abrt-retrace-client-2.1.11-60.el7.centos.x86_64 (@anaconda/7)
Requires: abrt = 2.1.11-60.el7.centos
Removing: abrt-2.1.11-60.el7.centos.x86_64 (@anaconda/7)
abrt = 2.1.11-60.el7.centos
Downgraded By: abrt-2.1.11-60.el7.x86_64 (rhel-7-server-rpms)
abrt = 2.1.11-60.el7
Available: abrt-2.1.11-12.el7.x86_64 (rhel-7-server-rpms)
abrt = 2.1.11-12.el7
Available: abrt-2.1.11-19.el7.x86_64 (rhel-7-server-rpms)
abrt = 2.1.11-19.el7
Available: abrt-2.1.11-22.el7_1.x86_64 (rhel-7-server-rpms)
abrt = 2.1.11-22.el7_1
Available: abrt-2.1.11-34.el7.x86_64 (rhel-7-server-rpms)
abrt = 2.1.11-34.el7
Available: abrt-2.1.11-35.el7.x86_64 (rhel-7-server-rpms)
abrt = 2.1.11-35.el7
Available: abrt-2.1.11-45.el7.x86_64 (rhel-7-server-rpms)
abrt = 2.1.11-45.el7
Available: abrt-2.1.11-48.el7.x86_64 (rhel-7-server-rpms)
abrt = 2.1.11-48.el7
Available: abrt-2.1.11-50.el7.x86_64 (rhel-7-server-rpms)
abrt = 2.1.11-50.el7
Available: abrt-2.1.11-52.el7.x86_64 (rhel-7-server-rpms)
abrt = 2.1.11-52.el7
Available: abrt-2.1.11-55.el7.x86_64 (rhel-7-server-rpms)
abrt = 2.1.11-55.el7
Available: abrt-2.1.11-57.el7.x86_64 (rhel-7-server-rpms)
abrt = 2.1.11-57.el7
You could try using --skip-broken to work around the problem
** Found 4 pre-existing rpmdb problem(s), 'yum check' output follows:
abrt-cli-2.1.11-60.el7.centos.x86_64 has missing requires of libreport-centos >= ('0', '2.1.11', '46')
abrt-cli-2.1.11-60.el7.centos.x86_64 has missing requires of libreport-plugin-mantisbt >= ('0', '2.1.11', '46')
abrt-desktop-2.1.11-60.el7.centos.x86_64 has missing requires of libreport-centos >= ('0', '2.1.11', '46')
abrt-desktop-2.1.11-60.el7.centos.x86_64 has missing requires of libreport-plugin-mantisbt >= ('0', '2.1.11', '46')
Seems to be a naming or numbering convention issue for libreport-centos and libreport-plugin-mantisbt
[root@Trane ~]# rpm -qa | grep libreport
libreport-python-2.1.11-53.el7.centos.x86_64
libreport-plugin-bugzilla-2.1.11-53.el7.centos.x86_64
libreport-cli-2.1.11-53.el7.centos.x86_64
libreport-filesystem-2.1.11-53.el7.centos.x86_64
libreport-plugin-reportuploader-2.1.11-53.el7.centos.x86_64
libreport-plugin-mailx-2.1.11-53.el7.centos.x86_64
libreport-anaconda-2.1.11-53.el7.centos.x86_64
libreport-2.1.11-53.el7.centos.x86_64
libreport-plugin-ureport-2.1.11-53.el7.centos.x86_64
libreport-web-2.1.11-53.el7.centos.x86_64
libreport-rhel-anaconda-bugzilla-2.1.11-53.el7.centos.x86_64
libreport-gtk-2.1.11-53.el7.centos.x86_64
libreport-plugin-rhtsupport-2.1.11-53.el7.centos.x86_64
On the clone that of this machine pre convert2rhel, the "missing" packages were already installed.
[root@dhcp189 ~]# yum install libreport-plugin-mantisbt
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
[root@dhcp189 ~]# rpm -qa | grep libreport-centos
libreport-centos-2.1.11-53.el7.centos.x86_64
[root@dhcp189 ~]# rpm -qa | grep libreport-plugin-mantisbt
libreport-plugin-mantisbt-2.1.11-53.el7.centos.x86_64
Nothing to do
[root@dhcp189 ~]# rpm -qa | grep libreport-centos
libreport-centos-2.1.11-53.el7.centos.x86_64
[root@dhcp189 ~]# rpm -qa | grep libreport-plugin-mantisbt
libreport-plugin-mantisbt-2.1.11-53.el7.centos.x86_64
But on the machine where the covert2rhel failed the packages have been removed?
[root@Trane ~]# rpm -qa | grep libreport-centos
[root@Trane ~]# rpm -qa | grep libreport-plugin-mantisbt
[root@Trane ~]#
I uploaded the log file.
And a question. Suppose I encounter a problem like this and want to fix it, and restart the convert.
(Maybe uninstalling the offending packages to deal with them later?)
What is the magic that lets me restart?
[root@Trane ~]# convert2rhel --disable-submgr --enablerepo rhel-7-server-rpms --debug --restart
[03/06/2021 08:55:38] TASK - [Prepare: Gather system information] *******************************
Name: Red Hat Enterprise Linux Server
OS version: 7.9
[03/06/2021 08:55:38] DEBUG - Calling command 'uname -i'
Architecture: x86_64
Config filename: red-7-x86_64.cfg
CRITICAL - Current combination of system distribution and architecture is not supported for the conversion to RHEL.
And another question.
Is there a "yum check" type command I could run before convert2rhel that wold have alerted me to the issue?
And finally - as I read the logfile, I missed this on screen:
[03/05/2021 14:10:56] TASK - [Prepare: Gather system information] *******************************
Name: CentOS Linux
OS version: 7.9
[03/05/2021 14:10:56] DEBUG - Calling command 'uname -i'
Architecture: x86_64
Config filename: centos-7-x86_64.cfg
Running the 'rpm -Va' command which can take several minutes. It can be disabled by using the --no-rpm-va option.
[03/05/2021 14:10:56] DEBUG - Calling command 'rpm -Va'
[03/05/2021 14:10:59] DEBUG - Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/convert2rhel/main.py", line 65, in main
systeminfo.system_info.resolve_system_info()
File "/usr/lib/python2.7/site-packages/convert2rhel/systeminfo.py", line 88, in resolve_system_info
self.generate_rpm_va()
File "/usr/lib/python2.7/site-packages/convert2rhel/systeminfo.py", line 190, in generate_rpm_va
rpm_va, _ = utils.run_subprocess("rpm -Va", print_output=False)
File "/usr/lib/python2.7/site-packages/convert2rhel/utils.py", line 142, in run_subprocess
for line in iter(process.stdout.readline, b''):
KeyboardInterrupt
No changes were made to the system.
And above - shouldn't I have been warned that a script failed?
Thanks for looking at this,
David
My conversion is failing after TASK: [Convert: Subscription Manager - Install].
I get a "CRITICAL - The /usr/share/convert2rhel/subscription-manager directory does not exist or is empty." error. The only way I can see there being something in this directory is if I'm using a satellite instance but I'm trying to use RHSM and the docs don't say anything about putting anything in that directory when using that resource. Am I missing something?
Trying this on CentOS 8. Thanks!
Preconditions:
CentOs7
Steps:
convert2rhel --disable-submgr --enablerepo "*" --debug
Continue with the system conversion? [y/n]:
n
Actual result:
Wired trace
File "/usr/lib/python2.7/site-packages/convert2rhel/main.py", line 61, in main
user_to_accept_eula()
File "/usr/lib/python2.7/site-packages/convert2rhel/main.py", line 134, in user_to_accept_eula
utils.ask_to_continue()
File "/usr/lib/python2.7/site-packages/convert2rhel/utils.py", line 185, in ask_to_continue
loggerinst.critical("User cancelled the conversion\n")
File "/usr/lib/python2.7/site-packages/convert2rhel/logger.py", line 100, in critical
sys.exit(1)
SystemExit: 1
Expected result:
Just simple message User canceled the conversion
Hi Experts,
I installed a centos 7.9 server to test conver2rhel, the server is installed as "server with gui" and has totally 1348 pkgs installed. Below are some original info from the box.
[root@localhost ~]# cat /etc/centos-release
CentOS Linux release 7.9.2009 (Core)
[root@localhost ~]# uname -r
3.10.0-1160.el7.x86_64
[root@localhost ~]# rpm -qa | wc -l
1348
[root@localhost ~]# yum repolist
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
As the instruction, I use rhel 7.9 installation media to make a yum.
[root@localhost yum.repos.d]# cat > local.repo << EOF
[rhel-7.9]
name=rhel-7.9
enabled=1
gpgcheck=0
baseurl=file:/media
EOF
[root@localhost yum.repos.d]# ls
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo local.repo
CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo CentOS-x86_64-kernel.repo
[root@localhost yum.repos.d]# yum repolist
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
Then I installed the convert2rhel tools and run the conversion:
[root@localhost ~]# yum install -y https://github.com/oamg/convert2rhel/releases/download/v0.15/convert2rhel-0.15-1.el7.noarch.rpm
[root@localhost ~]# convert2rhel --disable-submgr --enablerepo rhel-7.9 --debug
Then it will encounter an error in one of the step(replacing the centos kernel ), which complain a dependency error. The whole output is as below:
[01/31/2021 17:24:39] DEBUG - Calling command 'yum install -y --disablerepo=* --enablerepo=rhel-7.9 kernel'
Loaded plugins: fastestmirror, langpacks
Determining fastest mirrors
Package kernel-3.10.0-1160.el7.x86_64 already installed and latest version
Nothing to do
Conflict of kernels: One of the installed kernels has the same version as the latest RHEL kernel.
[01/31/2021 17:24:40] DEBUG - Calling command 'yum list -y --disablerepo=* --enablerepo=rhel-7.9 --showduplicates kernel'
WARNING - The convert2rhel is going to force-replace the only kernel installed, which has the same NEVRA as the only available RHEL kernel. If anything goes wrong with such replacement, the system will become unbootable. If you want the convert2rhel to install the RHEL kernel in a safer manner, you can install a different version of kernel first and then run convert2rhel again.
Continue with the system conversion? [y/n]: y
[01/31/2021 17:24:48] DEBUG - Downloading the kernel-3.10.0-1160.el7 package.
[01/31/2021 17:24:48] DEBUG - Calling command 'yumdownloader -v --disablerepo=* --enablerepo=rhel-7.9 --destdir="/var/lib/convert2rhel/" kernel-3.10.0-1160.el7'
Loading "fastestmirror" plugin
Loading "langpacks" plugin
Adding en_US.UTF-8 to language list
Config time: 0.006
Loading mirror speeds from cached hostfile
repo time: 0.001
Setting up Package Sacks
pkgsack time: 0.002
rpmdb time: 0.000
kernel-3.10.0-1160.el7.x86_64.rpm | 50 MB 00:00:00
Successfully downloaded the kernel-3.10.0-1160.el7 package.
[01/31/2021 17:24:48] DEBUG - Path of the downloaded package: /var/lib/convert2rhel/kernel-3.10.0-1160.el7.x86_64.rpm
Replacing CentOS Linux kernel-3.10.0-1160.el7 with RHEL kernel with the same NEVRA ...
[01/31/2021 17:24:48] DEBUG - Calling command 'rpm -i --force --replacepkgs /var/lib/convert2rhel/kernel-3.10.0-1160.el7*'
[01/31/2021 17:24:49] CRITICAL - Unable to replace kernel package: error: Failed dependencies:
system-release is needed by kernel-3.10.0-1160.el7.x86_64
[01/31/2021 17:24:49] DEBUG - Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/convert2rhel/main.py", line 89, in main
post_ponr_conversion()
File "/usr/lib/python2.7/site-packages/convert2rhel/main.py", line 190, in post_ponr_conversion
pkghandler.preserve_only_rhel_kernel()
File "/usr/lib/python2.7/site-packages/convert2rhel/pkghandler.py", line 447, in preserve_only_rhel_kernel
kernel_update_needed = install_rhel_kernel()
File "/usr/lib/python2.7/site-packages/convert2rhel/pkghandler.py", line 487, in install_rhel_kernel
handle_no_newer_rhel_kernel_available()
File "/usr/lib/python2.7/site-packages/convert2rhel/pkghandler.py", line 509, in handle_no_newer_rhel_kernel_available
replace_non_rhel_installed_kernel(installed[0])
File "/usr/lib/python2.7/site-packages/convert2rhel/pkghandler.py", line 562, in replace_non_rhel_installed_kernel
loggerinst.critical("Unable to replace kernel package: %s" % output)
File "/usr/lib/python2.7/site-packages/convert2rhel/logger.py", line 105, in critical
sys.exit(msg)
SystemExit: Unable to replace kernel package: error: Failed dependencies:
system-release is needed by kernel-3.10.0-1160.el7.x86_64
WARNING - Conversion process interrupted and manual user intervention will be necessary.
Actually, I can't find a package named "system-release", then I tried manually replace the centos kernel by rhel kernel with the same version:
[root@localhost ~]# rpm -ihv /media/Packages/kernel-3.10.0-1160.el7.x86_64.rpm --force --nodeps
Then run convert2rhel again, this time it will give the error and exit again, it return another error(seems still lack of system-release package).
Continue with the system conversion? [y/n]: y
[01/31/2021 17:39:40] TASK - [Prepare: Gather system information] *******************************
[01/31/2021 17:39:40] CRITICAL - Error: Unable to find the /etc/system-release file containing the OS name and version
[01/31/2021 17:39:40] DEBUG - Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/convert2rhel/main.py", line 65, in main
systeminfo.system_info.resolve_system_info()
File "/usr/lib/python2.7/site-packages/convert2rhel/systeminfo.py", line 72, in resolve_system_info
self.system_release_file_content = self._get_system_release_file_content()
File "/usr/lib/python2.7/site-packages/convert2rhel/systeminfo.py", line 88, in _get_system_release_file_content
return redhatrelease.get_system_release_content()
File "/usr/lib/python2.7/site-packages/convert2rhel/redhatrelease.py", line 82, in get_system_release_content
return utils.get_file_content(filepath)
File "/usr/lib/python2.7/site-packages/convert2rhel/utils.py", line 76, in get_file_content
if not os.path.exists(filename):
File "/usr/lib64/python2.7/genericpath.py", line 18, in exists
os.stat(path)
TypeError: coercing to Unicode: need string or buffer, NoneType found
No changes were made to the system.
But If I manually install redhat-release-server package(which can help to resolve the dependency lack of "system-release"), it complains" Current combination of system distribution and architecture is not supported for the conversion to RHEL" and exit.
Would you pls verify it? Thx!
Hi,
After the new C2R Tool is running for 10 Minutes, even passing the final Tests ect the System is always running into the Same error. Resolving dependency errors. Why the Script tries to install 2 versions of the same package. Unfortunately the Target machine is left behind in a undefined state.
Problem 1: cannot install both NetworkManager-1:1.32.10-5.el8_5.x86_64 and NetworkManager-1:1.32.10-4.el8.x86_64
Resolving dependency errors ...
Checking for problematic packages
No other package to try to downgrade in order to resolve yum dependency errors.
Checking for problematic packages
RITICAL - Could not resolve yum errors.
WARNING - Conversion process interrupted and manual user intervention will be necessary.
This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.
This repository currently has no open or pending branches.
.devcontainer/alma9/alma9-development.Containerfile
almalinux 9
Containerfiles/centos8.Containerfile
centos 8
Containerfiles/centos9.Containerfile
Containerfiles/rpmbuild.centos8.Containerfile
centos 8
Containerfiles/rpmbuild.centos9.Containerfile
.github/workflows/autotag.yml
actions/checkout v4
.github/workflows/build_images.yml
actions/checkout v4@1d96c772d19495a3b5c517cd2bc0cb401ea0529f
docker/login-action v3
docker/setup-buildx-action v3
docker/build-push-action v5
ubuntu 22.04
.github/workflows/codeql.yml
actions/checkout v4@1d96c772d19495a3b5c517cd2bc0cb401ea0529f
github/codeql-action v3
github/codeql-action v3
github/codeql-action v3
.github/workflows/coverage.yml
actions/checkout v4
docker/setup-buildx-action v3
docker/login-action v3
codecov/codecov-action v4
codecov/codecov-action v4
.github/workflows/enforce_labels.yml
yogevbd/enforce-label-action 2.2.2
.github/workflows/enforce_verification_labels.yml
yogevbd/enforce-label-action 2.2.2
.github/workflows/generate_manpage.yml
actions/checkout v4
actions/setup-python v5
.github/workflows/label-commenter.yml
actions/checkout v4@1d96c772d19495a3b5c517cd2bc0cb401ea0529f
peaceiris/actions-label-commenter v1.10.0
.github/workflows/release.yml
actions/checkout v4
shogo82148/actions-upload-release-asset v1
.github/workflows/tests.yml
actions/checkout v4@1d96c772d19495a3b5c517cd2bc0cb401ea0529f
docker/setup-buildx-action v3
docker/login-action v3
ubuntu 22.04
.devcontainer/alma9/requirements.txt
pylint ==3.1.0
astroid ==3.1.0
pre-commit ==3.7.0
pytest ==8.1.1
pytest-cov ==5.0.0
coverage ==7.5.0
1. mound RHEL8.2 ISO to /cdrom
2. Create local AppStream and BaseOS repo files as below:
myAppStream.repo
[LocalRepo_AppStream]
name=LocalRepository_AppStream
baseurl=file:///cdrom/AppStream
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
myBaseOS.repo
[LocalRepo_BaseOS]
name=LocalRepository_BaseOS
baseurl=file:///cdrom/BaseOS
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
`Error:
Problem 1: package mesa-libxatracker-19.3.4-2.el8.x86_64 requires libLLVM-9.so()(64bit), but none of the providers can be installed
Resolving dependency errors ...
Found protected packages: []
Found deps packages: []
Found multilib packages: []
Found req packages: []
No other package to try to downgrade in order to resolve yum dependency errors.
[01/30/2021 15:14:55] CRITICAL - Could not resolve yum errors.
[01/30/2021 15:14:55] DEBUG - Traceback (most recent call last):
File "/usr/lib/python3.6/site-packages/convert2rhel/main.py", line 89, in main
post_ponr_conversion()
File "/usr/lib/python3.6/site-packages/convert2rhel/main.py", line 192, in post_ponr_conversion
pkghandler.replace_non_red_hat_packages()
File "/usr/lib/python3.6/site-packages/convert2rhel/pkghandler.py", line 431, in replace_non_red_hat_packages
call_yum_cmd_w_downgrades(cmd, system_info.fingerprints_orig_os)
File "/usr/lib/python3.6/site-packages/convert2rhel/pkghandler.py", line 68, in call_yum_cmd_w_downgrades
loggerinst.critical("Could not resolve yum errors.")
File "/usr/lib/python3.6/site-packages/convert2rhel/logger.py", line 105, in critical
sys.exit(msg)
SystemExit: Could not resolve yum errors.
WARNING - Conversion process interrupted and manual user intervention will be necessary.
log.tar.gz
`
Could you please help a check? Thanks.
I started from CENTOS 8.1 :
[root@R5 src]# uname -a
Linux R5 4.18.0-147.el8.x86_64 #1 SMP Wed Dec 4 21:51:45 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
[root@R5 src]# rpm -qa|grep kernel
kernel-core-4.18.0-193.el8.x86_64
kernel-4.18.0-193.el8.x86_64
kernel-tools-4.18.0-193.el8.x86_64
kernel-modules-4.18.0-193.el8.x86_64
kernel-tools-libs-4.18.0-193.el8.x86_64
And convertion went without problems but system didnt boot again , my system is a virtual machine running on VMware, At booting I can see only next output
Do you have any advise, Thanks
Error message
TASK [Comment mirrorlist in all repos.] ***************************************************************************
task path: ./setup-convert2rhel.yml.new:37
fatal: [leapp2rhel]: FAILED! => {
"msg": "Invalid data passed to 'loop', it requires a list, got this instead: centos8_repos. Hint: If you passed a list/dict of just one element, try adding wantlist=True to your lookup invocation or use q/query instead of lookup."
}
Using Ansible 2.9.27 on Fedora 35
In the OS Validation section it isn't possible to skip the check due to the current logic
- name: Validate Release Version (6.10, 7.9, 8.5)
fail:
msg: "Distribution version must be 6.10, 7.9, or 8.5"
when: (ansible_distribution_version != '6.10' and ansible_distribution_version != '7.9'
and ansible_distribution_version != '8.5') or skip_os_version_check|bool
Should be
- name: Validate Release Version (6.10, 7.9, 8.5)
fail:
msg: "Distribution version must be 6.10, 7.9, or 8.5"
when: (ansible_distribution_version != '6.10' and ansible_distribution_version != '7.9'
and ansible_distribution_version != '8.5') and not skip_os_version_check
The regular expression for Requires in get_problematic_pkgs() can parse yum output incorrectly and end up adding package names that either don't exist or are different than the package which was actually specified. For instance, python2_hawkey >= 0.7.0
is parsed into python2
I'm unsure how big a problem this is in practice (In the python2-hawkey case, I believe it will just result in downgrading the python2 package unnecessarily, which will add time to the run but won't be an error) but we should look into fixing it.
We can probably call either the yum or rpm apis to do so; at the command line, rpm -q --whatprovides <REQUIRES>
will give us the package name of any Requires in a package that is installed. yum whatprovides <REQUIRES>
if we need to search the repositories for the provide, not just the installed packages.
Once fixed, we should update the unittest to test that the output of get_problematic_pkgs() is exactly what we expect rather than merely checking that the values we expect to be there are (but not checking whether extra values are present).
I'm not able to upgrade from centos 8.3, seems like the issue is with the centos-release package which was renamed to centos-linux-release in 8.3. it doesn't get removed anymore and then fails to install redhat-release because of yum transaction errors.
convert2rhel completes anyways but system can't boot. trying to create grub.cfg manually shows the problem:
grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg
sed: can't read /etc/system-release: No such file or directory
Am I doing something wrong or is 8.3 just not possible yet?
Thanks!
There is an error with this repository's Renovate configuration that needs to be fixed. As a precaution, Renovate will stop PRs until it is resolved.
Location: .github/renovate.json
Error type: Invalid JSON (parsing failed)
Message: Syntax error near , ],
Trying to play with convert2rhel.
Got an error on a Centos 7 vm
Linux localhost.localdomain 3.10.0-1062.12.1.el7.x86_64 #1 SMP Tue Feb 4 23:02:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Preconditions:
Steps to reproduce:
# yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
# yum install -y convert2rhel
# yum update -y
# reboot
# convert2rhel --disable-submgr --disablerepo "*" --enablerepo rhel-7-server-optional-rpms --debug
Actual result:
Got an error:
File "/usr/lib/python2.7/site-packages/convert2rhel/main.py", line 76, in main
pre_ponr_conversion()
File "/usr/lib/python2.7/site-packages/convert2rhel/main.py", line 167, in pre_ponr_conversion
repo.check_needed_repos_availability(repos_needed)
File "/usr/lib/python2.7/site-packages/convert2rhel/repo.py", line 255, in check_needed_repos_availability
avail_repos = get_avail_repos()
File "/usr/lib/python2.7/site-packages/convert2rhel/repo.py", line 282, in get_avail_repos
loggerinst.critical("yum repolist command failed: \n\n" + repos_raw)
File "/usr/lib/python2.7/site-packages/convert2rhel/logger.py", line 100, in critical
sys.exit(1)
SystemExit: 1
Full trace:
http://pastebin.test.redhat.com/834166
Expected result:
The script was executed without any errors
I am getting the following errors when running convert2rhel on all CENTOS6 systems. Although it does look the package is installed. This causes the convert2rhel script to fail. After it fails what are the possible recovery paths to complete the conversion?
Reinstall 1 Package(s)
Total download size: 1.0 M
Installed size: 0
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : filesystem-2.4.30-3.el6.x86_64 1/1Error unpacking rpm package filesystem-2.4.30-3.el6.x86_64
error: unpacking of archive failed on file /sys: cpio: chown
Verifying : filesystem-2.4.30-3.el6.x86_64 1/1
Failed:
filesystem.x86_64 0:2.4.30-3.el6
Complete!
Received return code: 1
Resolving dependency errors ...
Found protected packages: []
Found deps packages: []
Found multilib packages: []
Found req packages: []
No other package to try to downgrade in order to resolve yum dependency errors.
[11/19/2020 16:50:51] CRITICAL - Could not resolve yum errors.
Packit failed on creating pull-requests in dist-git:
dist-git branch | error |
---|---|
master |
[Errno 2] No such file or directory: '/tmp/packit-dist-gitgyjxx5py/sources' |
You can re-trigger the update by adding /packit propose-update
to the issue comment.
Running convert2rhel-0.17-1.el8.noarch on CentOS 8 seems to be failing without using an activation key
After the certificates installation step I'm propmted for the username and password
[02/15/2021 19:38:45] TASK - [Convert: Subscription Manager - Subscribe system] *****************
Building subscription-manager command ...
... activation key not found, username and password required
Username: rhn-engineering-mhulan
Password:
Registering system by running subscription-manager command ...
Unregistering from: subscription.rhsm.redhat.com:443/subscription
Network error. Please check the connection details, or see /var/log/rhsm/rhsm.log for more information.
System registration failed with return code = 70
Trying again - provide username and password.
Building subscription-manager command ...
... activation key not found, username and password required
rhsm log
2021-02-15 19:41:21,368 [ERROR] 6:14957:MainThread @connection.py:793 - Response: 400
2021-02-15 19:41:21,368 [ERROR] 6:14957:MainThread @connection.py:794 - JSON parsing error: Expecting value: line 1 column 1 (char 0)
2021-02-15 19:41:21,368 [ERROR] 6:14957:MainThread @managercli.py:218 - Unregister failed
2021-02-15 19:41:21,369 [ERROR] 6:14957:MainThread @managercli.py:219 - HTTP error (400 - Bad Request)
Traceback (most recent call last):
File "/usr/lib64/python3.6/site-packages/subscription_manager/managercli.py", line 1547, in _do_command
unregister.UnregisterService(self.cp).unregister()
File "/usr/lib64/python3.6/site-packages/rhsmlib/services/unregister.py", line 54, in unregister
self.uep.unregisterConsumer(self.identity.uuid)
File "/usr/lib64/python3.6/site-packages/rhsm/connection.py", line 1322, in unregisterConsumer
return self.conn.request_delete(method)
File "/usr/lib64/python3.6/site-packages/rhsm/connection.py", line 892, in request_delete
return self._request("DELETE", method, params, headers=headers)
File "/usr/lib64/python3.6/site-packages/rhsm/connection.py", line 906, in _request
info=info, headers=headers, cert_key_pairs=cert_key_pairs)
File "/usr/lib64/python3.6/site-packages/rhsm/connection.py", line 765, in _request
self.validateResponse(result, request_type, handler)
File "/usr/lib64/python3.6/site-packages/rhsm/connection.py", line 863, in validateResponse
raise NetworkException(response['status'])
rhsm.connection.NetworkException: HTTP error (400 - Bad Request)
I tried convert from a centos 8.4 to a rhel 8.4. it looks like he now tries to update to rhel 8.5 (which was released yesterday) and fails with the following error:
`('[%s] %s - %s', '11/10/2021 10:53:00', 'DEBUG', "Calling command 'yum install -y --setopt=module_platform_id=platform:el8 /usr/share/convert2rhel/subscription-manager/subscription-manager-1.28.21-3.el8.x86_64.rpm /usr/share/convert2rhel/subs
cription-manager/subscription-manager-rhsm-certificates-1.28.21-3.el8.x86_64.rpm /usr/share/convert2rhel/subscription-manager/python3-subscription-manager-rhsm-1.28.21-3.el8.x86_64.rpm /usr/share/convert2rhel/subscription-manager/dnf-plugin-s
ubscription-manager-1.28.21-3.el8.x86_64.rpm /usr/share/convert2rhel/subscription-manager/python3-syspurpose-1.28.21-3.el8.x86_64.rpm'")
Failed loading plugin "spacewalk": No module named 'up2date_client'
Last metadata expiration check: 0:34:02 ago on Wed Nov 10 10:18:58 2021.
Error:
Problem 1: conflicting requests
According to the documentation he should upgrade from centos 8.4 to rhel 8.4 and not the next higher minor.
Is there anything I can do so he stays on the same minor?
The last two conversions of a centos IPA server ended up loosing the java alternatives symlinks. Recreated by running the scriptlet from java-1.8.0-openjdk-headless.
While centos8 is new, there may still be those who'd like to switch to the real thing.
Containers, e.g. using LXC, LXD or a Proxmox CT, do not use either UEFI or BIOS and in fact do not run their own kernel. It would be nice if Convert2RHEL could support converting a CentOS 8 container to RHEL 8.
[02/17/2021 08:57:35] TASK - [Convert: Subscription Manager - Disable all repositories] *********
Repositories disabled.
[02/17/2021 08:58:57] TASK - [Convert: Subscription Manager - Enable RHEL repositories] *********
Repositories enabled through subscription-manager
[02/17/2021 09:00:00] TASK - [Convert: Remove packages containing repofiles] ********************
Searching for packages containing repofiles or affecting variables in the repofiles:
centos-release .................................. 1
WARNING - The following packages will be removed...
Package Vendor/Packager Repository
------- --------------- ----------
centos-release-7-9.2009.0.el7.centos.x86_64 CentOS anaconda
Continue with the system conversion? [y/n]: y
Backing up centos-release-7-9.2009.0.el7.centos.x86_64
WARNING - Couldn't download the centos-release-7-9.2009.0.el7.centos.x86_64 package using yumdownloader.
Output from the yumdownloader call:
Loading "fastestmirror" plugin
Loading "product-id" plugin
Loading "subscription-manager" plugin
Updating Subscription Management repositories.
Config time: 6.363
Loading mirror speeds from cached hostfile
* base: ftp.fi.muni.cz
* extras: ftp.fi.muni.cz
* updates: ftp.fi.muni.cz
https://cdn.redhat.com/content/dist/rhel/server/7/7/x86_64/os/repodata/repomd.xml: [Errno 14] HTTPS Error 404 - Not Found
Trying other mirror.
To address this issue please refer to the below wiki article
https://wiki.centos.org/yum-errors
If above article doesn't help to resolve this issue please use https://bugs.centos.org/.
failure: repodata/repomd.xml from rhel-7-server-rpms: [Errno 256] No more mirrors to try.
https://cdn.redhat.com/content/dist/rhel/server/7/7/x86_64/os/repodata/repomd.xml: [Errno 14] HTTPS Error 404 - Not Found
Note that regardless of the above error the conversion succeeded ok 🎉
Converted CentOS 8.3 today with version 0.16. Seems to have went well, except any yum-based command now brings this error that wasn't happening in CentOS:
$ sudo dnf repolist
Updating Subscription Management repositories.
/usr/local/lib/python3.6/site-packages/dateutil/parser/_parser.py:70: UnicodeWarning: decode() called on unicode string, see https://bugzilla.redhat.com/show_bug.cgi?id=1693751
instream = instream.decode()
This bug has apparently been around for a while upstream through the years in previous versions such as 8.1, and I'm not sure if convert2rhel is responsible or simply worked as intended, since I know it does a ton of rpm-related work. Since I only have one machine to work with I figured I'd ask if anyone else can test. But I'll reiterate, the system I converted wasn't doing this before.
When I run the script it ends in an error near the end when it tries to restart the server.
Here is the error :
[03/30/2021 10:34:25] TASK - [Final: Non-interactive mode] **************************************
For the non-interactive use of the tool, run the following command:
convert2rhel --disable-submgr --disablerepo=* --enablerepo=redhat -y('[%s] %s - %s', '03/30/2021 10:34:25', 'DEBUG', "Calling command 'reboot'")
Traceback (most recent call last):
File "/usr/lib/python2.6/site-packages/convert2rhel/main.py", line 109, in main
utils.restart_system()
File "/usr/lib/python2.6/site-packages/convert2rhel/utils.py", line 117, in restart_system
run_subprocess("reboot")
File "/usr/lib/python2.6/site-packages/convert2rhel/utils.py", line 140, in run_subprocess
env={'LC_ALL': 'C'})
File "/usr/lib64/python2.6/subprocess.py", line 642, in init
errread, errwrite)
File "/usr/lib64/python2.6/subprocess.py", line 1238, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directoryWARNING - Conversion process interrupted and manual user intervention will be necessary.
I tried with versions 0.20 and 0.19 of the script. I checked that the reboot command existed, but after some testing from a python console I noticed that it worked by removing the "env={'LC_ALL': 'C'}" parameter from the subprocess.popen command.
Default server image used in an openstack environment. Converting a fully update to date CentOS 8 server to RHEL. It seems the code gets stuck on #143 in that it is not able to fetch the /etc/system-release because the utility relocates it.
rpm -qa | grep convert
convert2rhel-0.15-1.el8.noarch
yum repolist
repo id repo name
appstream CentOS Linux 8 - AppStream
baseos CentOS Linux 8 - BaseOS
extras CentOS Linux 8 - Extras
convert2rhel --disable-submgr --enablerepo appstream --enablerepo baseos --debug
WARNING - By continuing you accept this EULA.
[01/12/2021 09:14:52] TASK - [Prepare: Gather system information] *******************************
Name: CentOS Release
OS major version: 8
[01/12/2021 09:14:52] DEBUG - Calling command 'uname -i'
Architecture: x86_64
Config filename: centos-8-x86_64.cfg
Running the 'rpm -Va' command which can take several minutes. It can be disabled by using the --no-rpm-va option.
[01/12/2021 09:14:52] DEBUG - Calling command 'rpm -Va'
The 'rpm -Va' output has been stored in the /var/log/convert2rhel/rpm_va.log file
[01/12/2021 09:15:04] TASK - [Prepare: Determine RHEL variant] **********************************
Variant: Server
[01/12/2021 09:15:04] TASK - [Prepare: Backup System] *******************************************
Backing up /etc/system-release
Copying /etc/system-release to /var/lib/convert2rhel/
Backing up /etc/yum.conf
Copying /etc/yum.conf to /var/lib/convert2rhel/
[01/12/2021 09:15:04] TASK - [Prepare: Clear YUM/DNF version locks] *****************************
Usage of YUM/DNF versionlock plugin not detected.
[01/12/2021 09:15:04] TASK - [Convert: Remove excluded packages] ********************************
Searching for the following excluded packages:
centos-logos* ................................... 0
centos-indexhtml ................................ 0
centos*-release ................................. 1
centos*-repos ................................... 1
centos-obsolete-packages ........................ 0
redhat-release* ................................. 0
rhn* ............................................ 1
python3-rhn* .................................... 2
WARNING - The following packages will be removed...
Package Packager Repository
------- -------- ----------
centos-linux-release-8.3-1.2011.el8.noarch CentOS Buildsys @@commandline
centos-linux-repos-8-2.el8.noarch CentOS Buildsys @@commandline
rhn-client-tools-2.8.16-13.module_el8.1.0+211+ad6c0bc7.x86_64 CentOS Buildsys @@commandline
python3-rhn-client-tools-2.8.16-13.module_el8.1.0+211+ad6c0bc7.x86_64 CentOS Buildsys @@commandline
python3-rhnlib-2.8.6-8.module_el8.1.0+211+ad6c0bc7.noarch CentOS Buildsys @@commandline
Backing up centos-linux-release-8.3-1.2011.el8.noarch
[01/12/2021 09:15:09] DEBUG - Downloading the centos-linux-release-8.3-1.2011.el8.noarch package.
[01/12/2021 09:15:09] DEBUG - Calling command 'yumdownloader -v --destdir="/var/lib/convert2rhel/" centos-linux-release-8.3-1.2011.el8.noarch'
Loaded plugins: builddep, changelog, config-manager, copr, debug, debuginfo-install, download, generate_completion_cache, needs-restarting, playground, repoclosure, repodiff, repograph, repomanage, reposync
DNF version: 4.2.23
cachedir: /var/cache/dnf
User-Agent: constructed: 'libdnf (CentOS Linux 8; generic; Linux.x86_64)'
repo: using cache for: appstream
appstream: using metadata from Thu Jan 7 10:51:09 2021.
repo: using cache for: baseos
baseos: using metadata from Thu Jan 7 10:51:01 2021.
repo: using cache for: extras
extras: using metadata from Thu Nov 12 08:42:22 2020.
Last metadata expiration check: 1:09:56 ago on Tue Jan 12 08:05:14 2021.
Completion plugin: Generating completion cache...
[SKIPPED] centos-linux-release-8.3-1.2011.el8.noarch.rpm: Already downloaded
Successfully downloaded the centos-linux-release-8.3-1.2011.el8.noarch package.
[01/12/2021 09:15:11] DEBUG - Path of the downloaded package: /var/lib/convert2rhel/centos-linux-release-8.3-1.2011.el8.noarch.rpm
Backing up centos-linux-repos-8-2.el8.noarch
[01/12/2021 09:15:11] DEBUG - Downloading the centos-linux-repos-8-2.el8.noarch package.
[01/12/2021 09:15:11] DEBUG - Calling command 'yumdownloader -v --destdir="/var/lib/convert2rhel/" centos-linux-repos-8-2.el8.noarch'
Loaded plugins: builddep, changelog, config-manager, copr, debug, debuginfo-install, download, generate_completion_cache, needs-restarting, playground, repoclosure, repodiff, repograph, repomanage, reposync
DNF version: 4.2.23
cachedir: /var/cache/dnf
User-Agent: constructed: 'libdnf (CentOS Linux 8; generic; Linux.x86_64)'
repo: using cache for: appstream
appstream: using metadata from Thu Jan 7 10:51:09 2021.
repo: using cache for: baseos
baseos: using metadata from Thu Jan 7 10:51:01 2021.
repo: using cache for: extras
extras: using metadata from Thu Nov 12 08:42:22 2020.
Last metadata expiration check: 1:09:57 ago on Tue Jan 12 08:05:14 2021.
Completion plugin: Generating completion cache...
[SKIPPED] centos-linux-repos-8-2.el8.noarch.rpm: Already downloaded
Successfully downloaded the centos-linux-repos-8-2.el8.noarch package.
[01/12/2021 09:15:12] DEBUG - Path of the downloaded package: /var/lib/convert2rhel/centos-linux-repos-8-2.el8.noarch.rpm
Backing up rhn-client-tools-2.8.16-13.module_el8.1.0+211+ad6c0bc7.x86_64
[01/12/2021 09:15:12] DEBUG - Downloading the rhn-client-tools-2.8.16-13.module_el8.1.0+211+ad6c0bc7.x86_64 package.
[01/12/2021 09:15:12] DEBUG - Calling command 'yumdownloader -v --destdir="/var/lib/convert2rhel/" rhn-client-tools-2.8.16-13.module_el8.1.0+211+ad6c0bc7.x86_64'
Loaded plugins: builddep, changelog, config-manager, copr, debug, debuginfo-install, download, generate_completion_cache, needs-restarting, playground, repoclosure, repodiff, repograph, repomanage, reposync
DNF version: 4.2.23
cachedir: /var/cache/dnf
User-Agent: constructed: 'libdnf (CentOS Linux 8; generic; Linux.x86_64)'
repo: using cache for: appstream
appstream: using metadata from Thu Jan 7 10:51:09 2021.
repo: using cache for: baseos
baseos: using metadata from Thu Jan 7 10:51:01 2021.
repo: using cache for: extras
extras: using metadata from Thu Nov 12 08:42:22 2020.
Last metadata expiration check: 1:09:58 ago on Tue Jan 12 08:05:14 2021.
Completion plugin: Generating completion cache...
[SKIPPED] rhn-client-tools-2.8.16-13.module_el8.1.0+211+ad6c0bc7.x86_64.rpm: Already downloaded
Successfully downloaded the rhn-client-tools-2.8.16-13.module_el8.1.0+211+ad6c0bc7.x86_64 package.
[01/12/2021 09:15:13] DEBUG - Path of the downloaded package: /var/lib/convert2rhel/rhn-client-tools-2.8.16-13.module_el8.1.0+211+ad6c0bc7.x86_64.rpm
Backing up python3-rhn-client-tools-2.8.16-13.module_el8.1.0+211+ad6c0bc7.x86_64
[01/12/2021 09:15:13] DEBUG - Downloading the python3-rhn-client-tools-2.8.16-13.module_el8.1.0+211+ad6c0bc7.x86_64 package.
[01/12/2021 09:15:13] DEBUG - Calling command 'yumdownloader -v --destdir="/var/lib/convert2rhel/" python3-rhn-client-tools-2.8.16-13.module_el8.1.0+211+ad6c0bc7.x86_64'
Loaded plugins: builddep, changelog, config-manager, copr, debug, debuginfo-install, download, generate_completion_cache, needs-restarting, playground, repoclosure, repodiff, repograph, repomanage, reposync
DNF version: 4.2.23
cachedir: /var/cache/dnf
User-Agent: constructed: 'libdnf (CentOS Linux 8; generic; Linux.x86_64)'
repo: using cache for: appstream
appstream: using metadata from Thu Jan 7 10:51:09 2021.
repo: using cache for: baseos
baseos: using metadata from Thu Jan 7 10:51:01 2021.
repo: using cache for: extras
extras: using metadata from Thu Nov 12 08:42:22 2020.
Last metadata expiration check: 1:10:00 ago on Tue Jan 12 08:05:14 2021.
Completion plugin: Generating completion cache...
[SKIPPED] python3-rhn-client-tools-2.8.16-13.module_el8.1.0+211+ad6c0bc7.x86_64.rpm: Already downloaded
Successfully downloaded the python3-rhn-client-tools-2.8.16-13.module_el8.1.0+211+ad6c0bc7.x86_64 package.
[01/12/2021 09:15:14] DEBUG - Path of the downloaded package: /var/lib/convert2rhel/python3-rhn-client-tools-2.8.16-13.module_el8.1.0+211+ad6c0bc7.x86_64.rpm
Backing up python3-rhnlib-2.8.6-8.module_el8.1.0+211+ad6c0bc7.noarch
[01/12/2021 09:15:14] DEBUG - Downloading the python3-rhnlib-2.8.6-8.module_el8.1.0+211+ad6c0bc7.noarch package.
[01/12/2021 09:15:14] DEBUG - Calling command 'yumdownloader -v --destdir="/var/lib/convert2rhel/" python3-rhnlib-2.8.6-8.module_el8.1.0+211+ad6c0bc7.noarch'
Loaded plugins: builddep, changelog, config-manager, copr, debug, debuginfo-install, download, generate_completion_cache, needs-restarting, playground, repoclosure, repodiff, repograph, repomanage, reposync
DNF version: 4.2.23
cachedir: /var/cache/dnf
User-Agent: constructed: 'libdnf (CentOS Linux 8; generic; Linux.x86_64)'
repo: using cache for: appstream
appstream: using metadata from Thu Jan 7 10:51:09 2021.
repo: using cache for: baseos
baseos: using metadata from Thu Jan 7 10:51:01 2021.
repo: using cache for: extras
extras: using metadata from Thu Nov 12 08:42:22 2020.
Last metadata expiration check: 1:10:01 ago on Tue Jan 12 08:05:14 2021.
Completion plugin: Generating completion cache...
[SKIPPED] python3-rhnlib-2.8.6-8.module_el8.1.0+211+ad6c0bc7.noarch.rpm: Already downloaded
Successfully downloaded the python3-rhnlib-2.8.6-8.module_el8.1.0+211+ad6c0bc7.noarch package.
[01/12/2021 09:15:15] DEBUG - Path of the downloaded package: /var/lib/convert2rhel/python3-rhnlib-2.8.6-8.module_el8.1.0+211+ad6c0bc7.noarch.rpm
Removing package: centos-linux-release-8.3-1.2011.el8.noarch
[01/12/2021 09:15:15] DEBUG - Calling command 'rpm -e --nodeps centos-linux-release-8.3-1.2011.el8.noarch'
Removing package: centos-linux-repos-8-2.el8.noarch
[01/12/2021 09:15:16] DEBUG - Calling command 'rpm -e --nodeps centos-linux-repos-8-2.el8.noarch'
Removing package: rhn-client-tools-2.8.16-13.module_el8.1.0+211+ad6c0bc7.x86_64
[01/12/2021 09:15:16] DEBUG - Calling command 'rpm -e --nodeps rhn-client-tools-2.8.16-13.module_el8.1.0+211+ad6c0bc7.x86_64'
Removing package: python3-rhn-client-tools-2.8.16-13.module_el8.1.0+211+ad6c0bc7.x86_64
[01/12/2021 09:15:16] DEBUG - Calling command 'rpm -e --nodeps python3-rhn-client-tools-2.8.16-13.module_el8.1.0+211+ad6c0bc7.x86_64'
Removing package: python3-rhnlib-2.8.6-8.module_el8.1.0+211+ad6c0bc7.noarch
[01/12/2021 09:15:16] DEBUG - Calling command 'rpm -e --nodeps python3-rhnlib-2.8.6-8.module_el8.1.0+211+ad6c0bc7.noarch'
[01/12/2021 09:15:17] DEBUG - Successfully removed 5 packages
[01/12/2021 09:15:17] TASK - [Convert: Install Red Hat release package] *************************
Installing redhat-release package
No package to install
[01/12/2021 09:15:17] TASK - [Convert: Patch yum configuration file] ****************************
[01/12/2021 09:15:17] DEBUG - /etc/yum.conf patched.
[01/12/2021 09:15:17] TASK - [Convert: List third-party packages] *******************************
WARNING - Only packages signed by CentOS Release are to be reinstalled. Red Hat support won't be provided for the following third party packages:
Package Packager Repository
------- -------- ----------
convert2rhel-0.15-1.el8.noarch N/A @@commandline
WARNING - The tool allows rollback of any action until this point.
WARNING - By continuing all further changes on the system will need to be reverted manually by the user, if necessary.
[01/12/2021 09:16:00] TASK - [Convert: Import Red Hat GPG keys] *********************************
[01/12/2021 09:16:00] DEBUG - Calling command 'rpm --import /usr/share/convert2rhel/gpg-keys/RPM-GPG-KEY-redhat-legacy-release'
[01/12/2021 09:16:00] DEBUG - Calling command 'rpm --import /usr/share/convert2rhel/gpg-keys/RPM-GPG-KEY-redhat-release'
[01/12/2021 09:16:00] TASK - [Convert: Prepare kernel] ******************************************
Installing RHEL kernel ...
[01/12/2021 09:16:00] DEBUG - Calling command 'yum install -y --disablerepo=* --enablerepo=appstream --enablerepo=baseos kernel'
Unable to detect release version (use '--releasever' to specify release version)
Failed loading plugin "spacewalk": No module named 'up2date_client'
Error: Unknown repo: 'appstream'
[01/12/2021 09:16:00] CRITICAL - Error occured while attempting to install the RHEL kernel
[01/12/2021 09:16:00] DEBUG - Traceback (most recent call last):
File "/usr/lib/python3.6/site-packages/convert2rhel/main.py", line 89, in main
post_ponr_conversion()
File "/usr/lib/python3.6/site-packages/convert2rhel/main.py", line 190, in post_ponr_conversion
pkghandler.preserve_only_rhel_kernel()
File "/usr/lib/python3.6/site-packages/convert2rhel/pkghandler.py", line 447, in preserve_only_rhel_kernel
kernel_update_needed = install_rhel_kernel()
File "/usr/lib/python3.6/site-packages/convert2rhel/pkghandler.py", line 468, in install_rhel_kernel
loggerinst.critical("Error occured while attempting to install the"
File "/usr/lib/python3.6/site-packages/convert2rhel/logger.py", line 105, in critical
sys.exit(msg)
SystemExit: Error occured while attempting to install the RHEL kernel
WARNING - Conversion process interrupted and manual user intervention will be necessary.
Traceback (most recent call last):
File "/usr/lib/python3.6/site-packages/convert2rhel/main.py", line 55, in main
toolopts.CLI()
File "/usr/lib/python3.6/site-packages/convert2rhel/toolopts.py", line 51, in __init__
self._process_cli_options()
File "/usr/lib/python3.6/site-packages/convert2rhel/toolopts.py", line 166, in _process_cli_options
parsed_opts, _ = self._parser.parse_args()
File "/usr/lib64/python3.6/optparse.py", line 1387, in parse_args
stop = self._process_args(largs, rargs, values)
File "/usr/lib64/python3.6/optparse.py", line 1427, in _process_args
self._process_long_opt(rargs, values)
File "/usr/lib64/python3.6/optparse.py", line 1501, in _process_long_opt
option.process(opt, value, values, self)
File "/usr/lib64/python3.6/optparse.py", line 785, in process
self.action, self.dest, opt, value, values, parser)
File "/usr/lib64/python3.6/optparse.py", line 808, in take_action
parser.exit()
File "/usr/lib64/python3.6/optparse.py", line 1559, in exit
sys.exit(status)
SystemExit: 0
Unless I miss something, such a scenario does not seem handled for now.
The process tries to download the centos-release pkg after having disabled all repos from redhat.repo, hence it happens too late in the process.
=> Uninstalling the pkg in question from the RPMDB only (rpm -e --nodeps --justdb centos-release
) fixed the issue for the customer.
=> On my side, in using standard/external CentOS repos, I needed to add "7" in /etc/yum/vars/releasever and then hacked the code to remove that file before convert2rhel invokes a repoquery against RHEL7 repos (where $releasever must be "7Server" instead).
I am experiencing the issue while converting OL6. Traceback is the following:
https://gist.github.com/ZhukovGreen/bbe9a306d5d3cc536e9dff264358eb14
The conversion was running at #100
After the announcement of CentOS 8.x being dropped, I used centos2ol to convert from CentOS 8.3 to Oracle Linux 8.3:
Red Hat Enterprise Linux release 8.3 (Ootpa)
With the new RHEL announcement, I now want to convert to RHEL. Fully updated system, using convert2rhel like so:
convert2rhel --disable-submgr --disablerepo="*" --enablerepo BaseOS --no-rpm-va
And I get the following error:
WARNING - The tool allows rollback of any action until this point.
WARNING - By continuing all further changes on the system will need to be reverted manually by the user, if necessary.
Continue with the system conversion? [y/n]: y
[01/20/2021 22:20:33] TASK - [Convert: Import Red Hat GPG keys] *********************************
[01/20/2021 22:20:33] TASK - [Convert: Prepare kernel] ******************************************
Installing RHEL kernel ...
Unable to detect release version (use '--releasever' to specify release version)
Error: Unknown repo: 'BaseOS'
[01/20/2021 22:20:33] CRITICAL - Error occured while attempting to install the RHEL kernel
WARNING - Conversion process interrupted and manual user intervention will be necessary.
What am I doing wrong? Thanks for any pointers!
Running convert2rhel on my CentOS 8.4.2105 box stops after registering the subscription:
[11/13/2021 17:04:17] TASK - [Convert: Subscription Manager - Subscribe system] *****************
Building subscription-manager command ...
... activation key not found, using given username and password
... username detected
... password detected
Registering the system using subscription-manager ...
Registrieren bei: subscription.rhsm.redhat.com:443/subscription
Das System wurde mit ID registriert: e740841c-18fd-4736-a475-114fcf16a0fb
Der registrierte Systemname lautet: localhost
--- Logging error ---
Traceback (most recent call last):
File "/usr/lib64/python3.6/logging/__init__.py", line 996, in emit
stream.write(msg)
UnicodeEncodeError: 'ascii' codec can't encode character '\xfc' in position 205: ordinal not in range(128)
Call stack:
File "/usr/sbin/subscription-manager", line 11, in <module>
load_entry_point('subscription-manager==1.28.21', 'console_scripts', 'subscription-manager')()
File "/usr/lib64/python3.6/site-packages/subscription_manager/scripts/subscription_manager.py", line 87, in main
return managercli.ManagerCLI().main()
File "/usr/lib64/python3.6/site-packages/subscription_manager/managercli.py", line 3365, in main
ret = CLI.main(self)
File "/usr/lib64/python3.6/site-packages/subscription_manager/cli.py", line 183, in main
return cmd.main()
File "/usr/lib64/python3.6/site-packages/subscription_manager/managercli.py", line 564, in main
return_code = self._do_command()
File "/usr/lib64/python3.6/site-packages/subscription_manager/managercli.py", line 1741, in _do_command
self.entcertlib.update()
File "/usr/lib64/python3.6/site-packages/subscription_manager/certlib.py", line 32, in update
self.report = self.locker.run(self._do_update)
File "/usr/lib64/python3.6/site-packages/subscription_manager/certlib.py", line 18, in run
return action()
File "/usr/lib64/python3.6/site-packages/subscription_manager/entcertlib.py", line 42, in _do_update
return action.perform()
File "/usr/lib64/python3.6/site-packages/subscription_manager/entcertlib.py", line 131, in perform
log.info('certs updated:\n%s', self.report)
Message: 'certs updated:\n%s'
Arguments: (<subscription_manager.entcertlib.EntCertUpdateReport object at 0x7f0d20f67240>,)
Manually select subscription appropriate for the conversion
CRITICAL - Unable to get list of available subscriptions:
+-------------------------------------------+
'ascii' codec can't encode character '\xfc' in position 8: ordinal not in range(128)
WARNING - Abnormal exit! Performing rollback ...
My CentOS is german, so I tried LC_ALL=C convert2rhel
as workaround (https://access.redhat.com/discussions/6462611), same error. Any idea how to fix?
I have a CentOS 8.3 minimal instance running on a VMware Fusion to which I have applied all the available updates and rebooted the system.
Installed latest version of convert2rhel (v0.21), mounted RHEL 8.4 beta iso to a local mount dir path and ran the conversion with the following command:
convert2rhel --disable-submgr --disablerepo=* --enablerepo=InstallMedia-BaseOS --enablerepo=InstallMedia-AppStream --debug
As part of the final checks, the conversion throws error with unsupporting kernel modules. Here is the part that was picked out from the full logs:
[05/14/2021 06:30:42] TASK - [Convert: Final system checks before main conversion] **************
[05/14/2021 06:30:42] DEBUG - Calling command 'uname -r'
4.18.0-240.22.1.el8_3.x86_64
[05/14/2021 06:30:42] DEBUG - Calling command 'find /lib/modules/4.18.0-240.22.1.el8_3.x86_64 -name "*.ko*" -type f'
[05/14/2021 06:30:42] DEBUG - Calling command 'repoquery --releasever=8 --setopt=module_platform_id=platform:el8 --repoid InstallMedia-BaseOS --repoid InstallMedia-AppStream -f /lib/modules/*.ko*'
[05/14/2021 06:30:43] DEBUG - Calling command 'repoquery --releasever=8 --setopt=module_platform_id=platform:el8 --repoid InstallMedia-BaseOS --repoid InstallMedia-AppStream -l kernel-core-0:4.18.0-293.el8.x86_64 kernel-debug-core-0:4.18.0-293.el8.x86_64 kernel-debug-modules-0:4.18.0-293.el8.x86_64 kernel-debug-modules-extra-0:4.18.0-293.el8.x86_64 kernel-modules-0:4.18.0-293.el8.x86_64 kernel-modules-extra-0:4.18.0-293.el8.x86_64 kmod-kvdo-0:6.2.4.26-76.el8.x86_64 kmod-redhat-oracleasm-8:2.0.8-11.el8.x86_64'
[05/14/2021 06:30:44] DEBUG - Calling command 'uname -r'
4.18.0-240.22.1.el8_3.x86_64
CRITICAL - The following kernel modules are not supported in RHEL:
/lib/modules/4.18.0-240.22.1.el8_3.x86_64/kernel/lib/livepatch/test_klp_state3.ko.xz
/lib/modules/4.18.0-240.22.1.el8_3.x86_64/kernel/drivers/iommu/amd_iommu_v2.ko.xz
/lib/modules/4.18.0-240.22.1.el8_3.x86_64/kernel/lib/livepatch/test_klp_state2.ko.xz
/lib/modules/4.18.0-240.22.1.el8_3.x86_64/kernel/arch/x86/events/intel/intel-rapl-perf.ko.xz
/lib/modules/4.18.0-240.22.1.el8_3.x86_64/kernel/drivers/net/wireless/realtek/rtw88/rtw88.ko.xz
/lib/modules/4.18.0-240.22.1.el8_3.x86_64/kernel/drivers/net/wireless/realtek/rtw88/rtwpci.ko.xz
/lib/modules/4.18.0-240.22.1.el8_3.x86_64/kernel/drivers/gpu/drm/cirrus/cirrus.ko.xz
/lib/modules/4.18.0-240.22.1.el8_3.x86_64/kernel/drivers/firmware/dcdbas.ko.xz
/lib/modules/4.18.0-240.22.1.el8_3.x86_64/kernel/drivers/dax/dax_hmem.ko.xz
/lib/modules/4.18.0-240.22.1.el8_3.x86_64/kernel/drivers/acpi/dptf/dptf_power.ko.xz
/lib/modules/4.18.0-240.22.1.el8_3.x86_64/kernel/drivers/pinctrl/intel/pinctrl-intel.ko.xz
/lib/modules/4.18.0-240.22.1.el8_3.x86_64/kernel/lib/livepatch/test_klp_state.ko.xz
Uninstall or disable them and run convert2rhel again to continue with the conversion.
[05/14/2021 06:30:44] DEBUG - Traceback (most recent call last):
File "/usr/lib/python3.6/site-packages/convert2rhel/main.py", line 87, in main
pre_ponr_conversion()
File "/usr/lib/python3.6/site-packages/convert2rhel/main.py", line 199, in pre_ponr_conversion
checks.perform_pre_ponr_checks()
File "/usr/lib/python3.6/site-packages/convert2rhel/checks.py", line 125, in perform_pre_ponr_checks
ensure_compatibility_of_kmods()
File "/usr/lib/python3.6/site-packages/convert2rhel/checks.py", line 151, in ensure_compatibility_of_kmods
).format(kmods=not_supported_kmods)
File "/usr/lib/python3.6/site-packages/convert2rhel/logger.py", line 103, in _critical
sys.exit(msg)
SystemExit: The following kernel modules are not supported in RHEL:
/lib/modules/4.18.0-240.22.1.el8_3.x86_64/kernel/lib/livepatch/test_klp_state3.ko.xz
/lib/modules/4.18.0-240.22.1.el8_3.x86_64/kernel/drivers/iommu/amd_iommu_v2.ko.xz
/lib/modules/4.18.0-240.22.1.el8_3.x86_64/kernel/lib/livepatch/test_klp_state2.ko.xz
/lib/modules/4.18.0-240.22.1.el8_3.x86_64/kernel/arch/x86/events/intel/intel-rapl-perf.ko.xz
/lib/modules/4.18.0-240.22.1.el8_3.x86_64/kernel/drivers/net/wireless/realtek/rtw88/rtw88.ko.xz
/lib/modules/4.18.0-240.22.1.el8_3.x86_64/kernel/drivers/net/wireless/realtek/rtw88/rtwpci.ko.xz
/lib/modules/4.18.0-240.22.1.el8_3.x86_64/kernel/drivers/gpu/drm/cirrus/cirrus.ko.xz
/lib/modules/4.18.0-240.22.1.el8_3.x86_64/kernel/drivers/firmware/dcdbas.ko.xz
/lib/modules/4.18.0-240.22.1.el8_3.x86_64/kernel/drivers/dax/dax_hmem.ko.xz
/lib/modules/4.18.0-240.22.1.el8_3.x86_64/kernel/drivers/acpi/dptf/dptf_power.ko.xz
/lib/modules/4.18.0-240.22.1.el8_3.x86_64/kernel/drivers/pinctrl/intel/pinctrl-intel.ko.xz
/lib/modules/4.18.0-240.22.1.el8_3.x86_64/kernel/lib/livepatch/test_klp_state.ko.xz
Uninstall or disable them and run convert2rhel again to continue with the conversion.
WARNING - Abnormal exit! Performing rollback ...
Attached the full logs with debug enabled for further information.
I originally tried with mounting the RHEL 8.3 dvd iso as that would be the obvious straight forward conversion from CentOS 8.3 but that also failed with similar error but throwing even bigger list of unsupported kernel modules. My thought was that since I am running the latest kernel version in CentOS 8.3 (4.18.0-240.22.1.el8_3.x86_64) where as RHEL 8.3 includes older version (4.18.0-240.el8_3.x86_64), I was under the impression that the downgrade could be causing the problem, hence I started trying with RHEL 8.4 beta which includes the later version of the kernel. But, in both instances, the result was the same albeit with different sets of unsupported kernel modules.
I am stumped at this point with no further options to try, any directions would be really appreciated.
Thanks much for your help !
Packit failed on creating pull-requests in dist-git:
dist-git branch | error |
---|---|
el6 |
Failed to download file from URL https://github.com/oamg/convert2rhel/archive/vv0.13/convert2rhel-v0.13.tar.gz. Reason: 'Not Found'. |
epel7 |
Failed to download file from URL https://github.com/oamg/convert2rhel/archive/vv0.13/convert2rhel-v0.13.tar.gz. Reason: 'Not Found'. |
epel8 |
Ref 'remotes/origin/epel8' did not resolve to an object |
You can re-trigger the update by adding /packit propose-update
to the issue comment.
Hello,
I work about an automotion way to convert 80/100 servers to rhel8 with a playbook.
When I execute convert2rhel locally with this command, it's ok:
convert2rhel --disable-submgr --disablerepo="*" --enablerepo=rhel-BaseOS --enablerepo=rhel-AppStream -v Server -y
But, when I execute this inside the playbook, convertion failed, and log this in /var/log/convert2rhel/convert2rhel.log :
`
01/28/2021 15:18:12] TASK - [Prepare: End user license agreement] ******************************
Traceback (most recent call last):
File "/usr/lib/python3.6/site-packages/convert2rhel/main.py", line 61, in main
user_to_accept_eula()
File "/usr/lib/python3.6/site-packages/convert2rhel/main.py", line 137, in user_to_accept_eula
eula_text = utils.get_file_content(eula_filepath)
File "/usr/lib/python3.6/site-packages/convert2rhel/utils.py", line 82, in get_file_content
lines = file_to_read.readlines()
File "/usr/lib64/python3.6/encodings/ascii.py", line 26, in decode
return codecs.ascii_decode(input, self.errors)[0]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position 318: ordinal not in range(128)
No changes were made to the system. `
I try to force locale to en_US.UTF8 before convertion task, but it still fails.
Do you have a tip to succeed ?
Nit: we need to update the copyright year. It is 2021 already
Originally posted by @zhukovgreen in #196 (comment)
no issue here, I just wanted to say thank you all for this amazing tool. It just saved me tons of work and a major headache rebuilding my VMs due to CentOS's carpet-pulling with 8.
Please check attachment. Thanks.
log.tar.gz
Hi
Like --preupgrade option in leapp application, Can you add option --preconvert ?
Well, this is an interesting bug I've stumbled on. This is on a CentOS 7 box that's been running for several years. I get to a point where the script checks for kernel modules and then just fails.
From the logs:
[04/23/2021 04:02:05] TASK - [Convert: Final system checks before main conversion] **************
('[%s] %s - %s', '04/23/2021 04:02:05', 'DEBUG', "Calling command 'uname -r'")
5.11.9-x86_64-linode142
('[%s] %s - %s', '04/23/2021 04:02:05', 'DEBUG', 'Calling command \'find /lib/modules/5.11.9-x86_64-linode142 -name "*.ko*" -type f\'')
CRITICAL - Can't get list of kernel modules.
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/convert2rhel/main.py", line 88, in main
pre_ponr_conversion()
File "/usr/lib/python2.7/site-packages/convert2rhel/main.py", line 208, in pre_ponr_conversion
checks.perform_pre_ponr_checks()
File "/usr/lib/python2.7/site-packages/convert2rhel/checks.py", line 83, in perform_pre_ponr_checks
ensure_compatibility_of_kmods()
File "/usr/lib/python2.7/site-packages/convert2rhel/checks.py", line 88, in ensure_compatibility_of_kmods
host_kmods = get_installed_kmods()
File "/usr/lib/python2.7/site-packages/convert2rhel/checks.py", line 135, in get_installed_kmods
logger.critical("Can't get list of kernel modules.")
File "/usr/lib/python2.7/site-packages/convert2rhel/logger.py", line 103, in _critical
sys.exit(msg)
SystemExit: Can't get list of kernel modules.
I double-checked that directory and there are no .ko files in there.
Any similar tool to convert from Ubuntu to RHEL
I'm looking for some tool that can suggest the libs from RHEL so the ubuntu equivalent can be replaced. Thanks
Yesterday I converted the CentOS 8.4 to RHEL 8.4 successfully with convert2rhel command. But the java command soft link is missing after the convertion. My command is "convert2rhel --disable-submgr --enablerepo rhes84-baseos --enablerepo rhes84-appstream -y --no-rpm-va --debug". The convert log message doesn't complain about the openjdk. Actually the openjdk package is still there.
# rpm -qa|grep jdk
copy-jdk-configs-3.7-4.el8.noarch
java-1.8.0-openjdk-1.8.0.282.b08-4.el8.x86_64
java-1.8.0-openjdk-headless-1.8.0.282.b08-4.el8.x86_64
The java command exists as well.
# ls -l /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.282.b08-4.el8.x86_64/jre/bin/java
-rwxr-xr-x. 1 root root 11520 Feb 24 2021 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.282.b08-4.el8.x86_64/jre/bin/java
But the java soft link is missing.
# which java
/usr/bin/which: no java in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/cdfwendy/bin:/cdfwendy/bin:/root/bin)
# alternatives --list
libnssckbi.so.x86_64 auto /usr/lib64/pkcs11/p11-kit-trust.so
python auto /usr/libexec/no-python
ifup auto /usr/libexec/nm-ifup
ld auto /usr/bin/ld.bfd
mkisofs auto /usr/bin/genisoimage
print auto /usr/bin/lpr.cups
xinputrc auto /etc/X11/xinit/xinput.d/ibus.conf
nmap auto /usr/bin/ncat
python3 auto /usr/bin/python3.6
cifs-idmap-plugin auto /usr/lib64/cifs-utils/cifs_idmap_sss.so
libwbclient.so.0.15-64 auto /usr/lib64/samba/wbclient/libwbclient.so.0.15
Before the convert, the java is showed in alternatives list as below.
# alternatives --list
libnssckbi.so.x86_64 auto /usr/lib64/pkcs11/p11-kit-trust.so
python auto /usr/libexec/no-python
ifup auto /usr/libexec/nm-ifup
ld auto /usr/bin/ld.bfd
mkisofs auto /usr/bin/genisoimage
print auto /usr/bin/lpr.cups
xinputrc auto /etc/X11/xinit/xinput.d/ibus.conf
nmap auto /usr/bin/ncat
python3 auto /usr/bin/python3.6
cifs-idmap-plugin auto /usr/lib64/cifs-utils/cifs_idmap_sss.so
libwbclient.so.0.15-64 auto /usr/lib64/samba/wbclient/libwbclient.so.0.15
java auto /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.282.b08-4.el8.x86_64/jre/bin/java
jre_openjdk auto /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.282.b08-4.el8.x86_64/jre
jre_1.8.0 auto /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.282.b08-4.el8.x86_64/jre
jre_1.8.0_openjdk auto /usr/lib/jvm/jre-1.8.0-openjdk-1.8.0.282.b08-4.el8.x86_64
Any suggestions are appreciated.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.