-
Bug
-
Resolution: Done
-
Normal
-
0.26
-
False
-
False
-
-
2
-
2022-Q3, 2022-Q4
In a test where we modify the releasever value inside the config file of c2r (/usr/share/convert2rhel/configs) I'm hitting an error on check of not updated kernel packag. This check is supposed to be skipped on the OracleLinux 8.4 but isn't due to this modification.
The test itself: https://github.com/oamg/convert2rhel/blob/main/tests/integration/tier0/releasever-as-mapping/test_releasever_as_mapping.py
The log:
12:28:07 out: ============================= test session starts ============================== 12:28:07 out: platform linux -- Python 3.6.8, pytest-7.0.1, pluggy-1.0.0 -- /usr/bin/python3 12:28:07 out: cachedir: .pytest_cache 12:28:07 out: rootdir: /var/ARTIFACTS/work-releasever_as_mappingyeFeva/plans/tier0/releasever_as_mapping/discover/default/tests, configfile: pytest.ini 12:28:07 out: plugins: cov-3.0.0 12:28:07 out: collecting ... collected 2 items 12:28:07 out: 12:28:07 out: test_releasever_as_mapping.py::test_releasever_as_mapping_config_modified INFO:conftest:Scanning /usr/share/convert2rhel/configs/oracle-8-x86_64.cfg for 'releasever=.*' and replace with 'releasever=333' 12:28:07 out: DEBUG:conftest:'releasever=' replaced with 12:28:07 out: 'releasever=333' 12:28:07 out: DEBUG:/usr/local/lib/python3.6/site-packages/envparse.py:Get 'RHSM_SERVER_URL' casted as '<class 'str'>'/'None' with default '<class 'envparse.NoValue'>' 12:28:07 out: DEBUG:/usr/local/lib/python3.6/site-packages/envparse.py:Get 'RHSM_USERNAME' casted as '<class 'str'>'/'None' with default '<class 'envparse.NoValue'>' 12:28:07 out: DEBUG:/usr/local/lib/python3.6/site-packages/envparse.py:Get 'RHSM_PASSWORD' casted as '<class 'str'>'/'None' with default '<class 'envparse.NoValue'>' 12:28:07 out: DEBUG:/usr/local/lib/python3.6/site-packages/envparse.py:Get 'RHSM_POOL' casted as '<class 'str'>'/'None' with default '<class 'envparse.NoValue'>' 12:28:07 out: 12:28:07 out: [06/29/2022 12:28:07] TASK - [Prepare: Show Red Hat software EULA] ****************************** 12:28:07 out: The following text is a copy of the November 18, 2019 version of Red Hat GPLv2-Based End User License Agreement (EULA) [1]. 12:28:07 out: For up-to-date version of the EULA, visit [2]. 12:28:07 out: [1] https://www.redhat.com/licenses/Red_Hat_GPLv2-Based_EULA_20191118.pdf 12:28:07 out: [2] https://www.redhat.com/en/about/agreements 12:28:07 out: 12:28:07 out: END USER LICENSE AGREEMENT 12:28:07 out: RED HAT GPLv2-BASED 12:28:07 out: 12:28:07 out: PLEASE READ THIS END USER LICENSE AGREEMENT CAREFULLY BEFORE USING SOFTWARE FROM RED HAT. BY USING RED HAT SOFTWARE, YOU SIGNIFY YOUR ASSENT TO AND ACCEPTANCE OF THIS END USER LICENSE AGREEMENT AND ACKNOWLEDGE YOU HAVE READ AND UNDERSTAND THE TERMS. AN INDIVIDUAL ACTING ON BEHALF OF AN ENTITY REPRESENTS THAT HE OR SHE HAS THE AUTHORITY TO ENTER INTO THIS END USER LICENSE AGREEMENT ON BEHALF OF THAT ENTITY. IF YOU DO NOT ACCEPT THE TERMS OF THIS AGREEMENT, THEN YOU MUST NOT USE THE RED HAT SOFTWARE. THIS END USER LICENSE AGREEMENT DOES NOT PROVIDE ANY RIGHTS TO RED HAT SERVICES SUCH AS SOFTWARE MAINTENANCE, UPGRADES OR SUPPORT. PLEASE REVIEW YOUR SERVICE OR SUBSCRIPTION AGREEMENT(S) THAT YOU MAY HAVE WITH RED HAT OR OTHER AUTHORIZED RED HAT SERVICE PROVIDERS REGARDING SERVICES AND ASSOCIATED PAYMENTS. 12:28:07 out: 12:28:07 out: This end user license agreement ("EULA") governs the use of any Red Hat software application that includes or refers to this license and any related updates, source code, appearance, structure and organization (the "Programs"), regardless of the delivery mechanism. 12:28:07 out: 12:28:07 out: 1. 12:28:07 out: License Grant. Subject to the following terms, Red Hat, Inc. ("Red Hat") grants to you a perpetual, worldwide license to the Programs (each of which may include multiple software components) pursuant to the GNU General Public License v.2 (https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html). With the exception of certain image files identified in Section 2 below, each software component is governed by a license located in the software component's source code that permits you to run, copy, modify, and redistribute (subject to certain obligations in some cases) the software component. The license rights for the binary only firmware components are located with the components themselves. This EULA pertains solely to the Programs and does not limit your rights under, or grant you rights that supersede, the license terms of any particular component. 12:28:07 out: 12:28:07 out: 2. 12:28:07 out: Intellectual Property Rights. The Programs and each of their components are owned by Red Hat and other licensors and are protectedunder copyright law and other laws as applicable. Title to the Programs and any component, or to any copy or modification shall remain with Red Hat and other licensors, subject to the applicable license. The "Red Hat" mark, the individual Program marks, and the "Red Hat" logo are trademarks or registered trademarks of Red Hat and its affiliates in the U.S. and other countries. This EULA does not permit you to distribute the Programs using Red Hat's trademarks, regardless of whether the Programs have been modified. You may make a commercial redistribution of the Programs only if (a) permitted under a separate written agreement with Red Hat authorizing such commercial redistribution or (b) you remove and replace all occurrences of Red Hat trademarks and logos. Modifications to the software may corrupt the Programs. You should read the information found at http://www.redhat.com/about/corporate/trademark/ before distributing a copy of the Programs. 12:28:07 out: 12:28:07 out: 3. 12:28:07 out: Limited Warranty. Except as specifically stated in this Section 3, a separate agreement with Red Hat, or a license for a particular component, to the maximum extent permitted under applicable law, the Programs and the components are provided and licensed "as is" without warranty of any kind, express or implied, including the implied warranties of merchantability, non-infringement or fitness for a particular purpose. Red Hat warrants that the media on which the Programs and the components are provided will be free from defects in materials and manufacture under normal use for a period of 30 days from the date of delivery to you. Neither Red Hat nor its affiliates warrant that the functions contained in the Programs will meet your requirements or that the operation of the Programs will be entirely error free, appear or perform precisely as described in the accompanying documentation, or comply with regulatory requirements. This warranty extends only to the party that purchases subscription services for the Programs from Red Hat and/or its affiliates or a Red Hat authorized distributor. 12:28:07 out: 12:28:07 out: 4. 12:28:07 out: Limitation of Remedies and Liability. To the maximum extent permitted by applicable law, your exclusive remedy under this EULA is to return any defective media within 30 days of delivery along with a copy of your payment receipt and Red Hat, at its option, will replace it or refund the money you paid for the media. To the maximum extent permitted under applicable law, under no circumstances will Red Hat, its affiliates, any Red Hat authorized distributor, or the licensor of any component provided to you under this EULA be liable to you for any incidental or consequential damages, including lost profits or lost savings arising out of the use or inability to use the Programs or any component, even if Red Hat, its affiliates, an authorized distributor, and/or licensor has been advised of the possibility of such damages. In no event shall Red Hat's or its affiliates' liability, an authorized distributor's liability or the liability of the licensor of a component provided to you under this EULA exceed the amount that you paid to Red Hat for the media under this EULA. 12:28:07 out: 12:28:07 out: 5. 12:28:07 out: Export Control. You understand that countries, including the U.S., may restrict the import, use, export, re-export or transfer of encryption products and other controlled materials (which may include the Programs or related technical information licensed hereunder) ("Controlled Materials"). As required by U.S. law, you represent and warrant that you: (a) understand that certain of the Controlled Materials are of U.S. origin and subject to export controls under the U.S. Export Administration Regulations (the "EAR"); (b) are not located in (or owned or controlled by any person or entity located in) any country listed in Country Group E:1 in Supplement No. 1 to part 740 of the EAR; or by any person or entity listed on the U.S. Department of Treasury Office of Foreign Assets Control ("OFAC") list of Specially Designated Nationals and Blocked Persons ("SDNs") (and are not 50% or more owned or controlled by any one or more persons or entities identified on the SDN list); (c) will not export, re-export or transfer the Controlled Materials to (1) any prohibited destination, (2) anyone who has been prohibited from participating in U.S. export transactions by any federal agency of the U.S. government or (3) any end user who you know or have reason to know will use them in the design, development or production of nuclear, chemical or biological weapons, or rocket systems, space launch vehicles, or sounding rockets, or unmanned air vehicle systems or any other prohibited use under the EAR; and (d) understand and agree that if you are in the United States and export, re-export or transfer the Controlled Materials to eligible end users, you will, to the extent required by EAR Section 740.17(e), submit semi-annual reports to the U.S. Commerce Department's Bureau of Industry and Security, that include the name and address (including country) of each transferee. 12:28:07 out: 12:28:07 out: 6. 12:28:07 out: Third Party Software. The Programs may be provided with third party software that are not part of the Programs. These third party software are not required to run the Programs, are provided as a convenience to you, and are subject to their own license terms. The license terms either accompany the third party software or can be viewed at http://www.redhat.com/licenses/thirdparty/eula.html. If you do not agree to abide by the applicable license terms for the third party software, then you may not install them. If you wish to install the third party software on more than one system or transfer the third party software to another party, then you must contact the licensor of the applicable third party software. 12:28:07 out: 12:28:07 out: 7. 12:28:07 out: General. If any provision of this EULA is held to be unenforceable, the enforceability of the remaining provisions shall not be affected. Any claim, controversy or dispute arising under or relating to this EULA shall be governed by the laws of the State of New York and of the United States, without regard to any conflict of laws provisions. The rights and obligations of the parties to this EULA shall not be governed by the United Nations Convention on the International Sale of Goods. 12:28:07 out: 12:28:07 out: Copyright 2019 Red Hat, Inc. All rights reserved. The Program marks, "Red Hat" mark and the Red Hat logo are trademarks or registered trademarks of Red Hat, Inc. All other trademarks are the property of their respective owners. 12:28:07 out: 12:28:07 out: 12:28:07 out: [06/29/2022 12:28:07] TASK - [Prepare: Gather system information] ******************************* 12:28:07 out: Name: Oracle Linux Server 12:28:07 out: OS version: 8.4 12:28:07 out: [06/29/2022 12:28:07] DEBUG - Calling command 'uname -i' 12:28:07 out: Architecture: x86_64 12:28:07 out: Config filename: oracle-8-x86_64.cfg 12:28:07 out: Skipping the execution of 'rpm -Va'. 12:28:07 out: [06/29/2022 12:28:07] DEBUG - Calling command 'uname -r' 12:28:07 out: [06/29/2022 12:28:07] DEBUG - Booted kernel VRA (version, release, architecture): 4.18.0-305.el8.x86_64 12:28:07 out: Checking internet connectivity using host '8.8.8.8' and port '53'. 12:28:12 out: 12:28:12 out: [06/29/2022 12:28:12] TASK - [Prepare: Clear YUM/DNF version locks] ***************************** 12:28:12 out: Usage of YUM/DNF versionlock plugin not detected. 12:28:12 out: 12:28:12 out: [06/29/2022 12:28:12] TASK - [Prepare: Checking the firmware interface type (BIOS/UEFI)] ******** 12:28:12 out: BIOS detected. 12:28:12 out: 12:28:12 out: [06/29/2022 12:28:12] TASK - [Prepare: Checking if loaded kernel modules are not tainted] ******* 12:28:12 out: [06/29/2022 12:28:12] DEBUG - Calling command 'grep ( /proc/modules' 12:28:12 out: No tainted kernel module is loaded. 12:28:12 out: 12:28:12 out: [06/29/2022 12:28:12] TASK - [Prepare: Checking /mnt and /sys are read-write] ******************* 12:28:12 out: [06/29/2022 12:28:12] DEBUG - /sys mount point is not read-only. 12:28:12 out: Read-only /mnt or /sys mount points not detected. 12:28:12 out: 12:28:12 out: [06/29/2022 12:28:12] TASK - [Prepare: Check kernel compatibility with RHEL] ******************** 12:28:12 out: [06/29/2022 12:28:12] DEBUG - Booted kernel version '4.18.0' corresponds to the version available in RHEL 8 12:28:12 out: [06/29/2022 12:28:12] DEBUG - Calling command 'rpm -qf --qf %{NAME} /boot/vmlinuz-4.18.0-305.el8.x86_64' 12:28:12 out: [06/29/2022 12:28:12] DEBUG - Booted kernel package name: kernel-core 12:28:12 out: [06/29/2022 12:28:12] DEBUG - The booted kernel is signed by Oracle. 12:28:12 out: The booted kernel 4.18.0-305.el8.x86_64 is compatible with RHEL. 12:28:12 out: 12:28:12 out: [06/29/2022 12:28:12] TASK - [Prepare: Checking if --enablerepo repositories are accessible] **** 12:28:12 out: Skipping the check of repositories due to the use of RHSM for the conversion. 12:28:12 out: 12:28:12 out: [06/29/2022 12:28:12] TASK - [Prepare: Checking if the installed packages are up-to-date] ******* 12:28:19 out: WARNING - The system has 247 packages not updated based on the enabled system repos. 12:28:19 out: List of packages to update: kernel-tools glib2 libss libcap-ng util-linux zlib platform-python-pip NetworkManager-initscripts-updown rpm-build libsepol dracut elfutils-debuginfod-client rpm-plugin-selinux selinux-policy file keyutils ncurses-base python3-rpm-generators coreutils-common dnf cronie emacs-filesystem iproute shadow-utils libnftnl libcurl grub2-tools-extra btrfs-progs gnutls yum-utils NetworkManager libffi systemd-udev libcomps selinux-policy-targeted python3-audit glibc-common python3-pip python3-firewall python3-libsemanage rpm-build-libs coreutils dhcp-libs git-core dracut-network dbus-libs binutils grub2-pc-modules crypto-policies-scripts libstdc++ vim-enhanced qt5-srpm-macros kernel-core device-mapper-libs NetworkManager-libnm rpm-plugin-systemd-inhibit psmisc quota-nls git e2fsprogs-libs bind-export-libs openssh-server libsolv nfs-utils fuse-libs cyrus-sasl-lib lvm2-libs rdma-core glibc-devel libblkid which systemd chrony krb5-libs libibverbs nvmetcli grub2-tools-minimal python3-libs device-mapper openssl libxcrypt-devel gdisk elfutils-libelf libreport-filesystem numactl-libs python3-unbound lvm2 authselect kernel kexec-tools python3-nose bash glibc-gconv-extra linux-firmware lua-libs libtirpc git-core-doc gawk iptables-libs perl-macros libfastjson device-mapper-persistent-data python3-setools gzip linux-firmware-core xz-libs device-mapper-event-libs elfutils-libs nftables libssh-config systemd-pam device-mapper-event pcre sudo iptables libmount kpartx python3-babel kernel-uek man-db glibc-langpack-en libuuid libbpf authselect-libs libsemanage perl-interpreter json-c vim-filesystem nvme-cli dmidecode python3-libcomps rsyslog python3-dnf pam cloud-init dnf-data cpio python3-rpm audit-libs openssl-libs libdnf python3-dnf-plugins-core rsync dbus glibc dbus-common iputils hwdata dracut-squash ncurses redhat-release openssh-clients elfutils-default-yama-scope libuser dhcp-client grub2-tools iptables-ebtables kernel-tools-libs python3-policycoreutils vim-minimal openldap dbus-daemon kernel-modules python3-virtualenv python3-libdnf grub2-tools-efi tzdata expat libseccomp passwd libcom_err cronie-anacron redhat-rpm-config libfdisk rpm-libs python3-pip-wheel platform-python-devel sqlite-libs e2fsprogs gpgme grubby virt-what perl-Errno ethtool policycoreutils yum gdb-headless python3-jinja2 python3-netifaces sed platform-python gssproxy systemd-libs perl-Git librepo python3-cryptography libsmartcols libndp grub2-pc perl-IO crypto-policies libarchive curl glibc-headers oraclelinux-release dbus-tools python3-hawkey python3-nftables info qemu-guest-agent libgcrypt filesystem kmod-libs libxcrypt cryptsetup-libs firewalld libmodulemd quota os-prober python3-gpg unzip jansson grub2-common libnfsidmap firewalld-filesystem keyutils-libs libxml2 ncurses-libs dwz libssh tpm2-tss file-libs elfutils kmod python3-wheel-wheel openssh perl-libs dnf-plugins-core dhcp-common unbound-libs rpm xz oraclelinux-release-el8 vim-common libcap libsysfs nettle. 12:28:19 out: 12:28:19 out: Not updating the packages may cause the conversion to fail. 12:28:19 out: Consider stopping the conversion and update the packages before re-running convert2rhel. 12:28:19 out: 12:28:19 out: [06/29/2022 12:28:19] TASK - [Prepare: Checking if the loaded kernel version is the most recent] 12:28:19 out: [06/29/2022 12:28:19] DEBUG - Calling command 'repoquery --quiet --qf "%{BUILDTIME}\t%{VERSION}-%{RELEASE}\t%{REPOID}" kernel-core' 12:28:24 out: [06/29/2022 12:28:24] DEBUG - Calling command 'uname -r' 12:28:24 out: CRITICAL - The version of the loaded kernel is different from the latest version in the enabled system repositories. 12:28:24 out: Latest kernel version available in ol8_baseos_latest: 4.18.0-372.9.1.el8 12:28:24 out: Loaded kernel version: 4.18.0-305.el8 12:28:24 out: 12:28:24 out: To proceed with the conversion, update the kernel version by executing the following step: 12:28:24 out: 12:28:24 out: 1. yum install kernel-core-4.18.0-372.9.1.el8 -y 12:28:24 out: 2. reboot 12:28:24 out: [06/29/2022 12:28:24] DEBUG - Traceback (most recent call last): 12:28:24 out: File "/usr/lib/python3.6/site-packages/convert2rhel/main.py", line 91, in main 12:28:24 out: checks.perform_pre_checks() 12:28:24 out: File "/usr/lib/python3.6/site-packages/convert2rhel/checks.py", line 62, in perform_pre_checks 12:28:24 out: is_loaded_kernel_latest() 12:28:24 out: File "/usr/lib/python3.6/site-packages/convert2rhel/checks.py", line 595, in is_loaded_kernel_latest 12:28:24 out: "2. reboot" % (repos_message, repoid, latest_kernel, loaded_kernel, package_to_check, latest_kernel) 12:28:24 out: File "/usr/lib/python3.6/site-packages/convert2rhel/logger.py", line 145, in _critical 12:28:24 out: sys.exit(msg) 12:28:24 out: SystemExit: The version of the loaded kernel is different from the latest version in the enabled system repositories. 12:28:24 out: Latest kernel version available in ol8_baseos_latest: 4.18.0-372.9.1.el8 12:28:24 out: Loaded kernel version: 4.18.0-305.el8 12:28:24 out: 12:28:24 out: To proceed with the conversion, update the kernel version by executing the following step: 12:28:24 out: 12:28:24 out: 1. yum install kernel-core-4.18.0-372.9.1.el8 -y 12:28:24 out: 2. reboot 12:28:24 out: 12:28:24 out: No changes were made to the system. 12:28:24 out: DEBUG:conftest:ConfigUtils file was restored to the origin state 12:28:24 out: FAILED
Steps to reproduce:
- provision an Oracle Linux 8.4 machine
- install a kernel-core from the https://yum.oracle.com/repo/OracleLinux/OL8/4/baseos/base/x86_64/getPackage/kernel-4.18.0-305.el8.x86_64.rpm
- set the old kernel as default:
grubby --set-default /boot/vmlinuz-`rpm -q --qf "%{BUILDTIME}\t%{EVR}.%{ARCH}\n" kernel | sort -nr | head -1 | cut -f2`
- reboot
- modify the releasever inside the /usr/share/convert2rhel/configs/oracle-8-x86_64.cfg to some value
- run the conversion and observe that the check is not skipped