Bug 2219109

Summary: Multiple package versions installed lead to RPMTransaction FATAL ERROR
Product: Red Hat Enterprise Linux 7 Reporter: Daniel Reynolds <dareynol>
Component: convert2rhelAssignee: Michal Bocek <mbocek>
Status: ASSIGNED --- QA Contact: upgrades-and-conversions
Severity: medium Docs Contact: Miriam Portman <mportman>
Priority: medium    
Version: 7.9CC: egustavs, lagordon, mbocek, prjagtap
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Daniel Reynolds 2023-07-02 05:02:56 UTC
Description of problem:

When performing Centos 7.9 to RHEL 7.9 upgrade, conversion fails with

~~~
AssertionError
FATAL ERROR: python callback <bound method RPMTransaction.callback of <yum.rpmtrans.RPMTransaction instance at 0x7f560b659f80>> failed, aborting!
~~~

Version-Release number of selected component (if applicable): convert2rhel-1.2-2.el7.noarch

How reproducible: Only on customer's system.

Steps to Reproduce:
1. Run confirt2rhel

    /usr/bin/convert2rhel --org ***** --no-rhsm --enablerepo=susemanager:rhel-7-server-rpms-centos -y


Actual results:

    From 'convert2rhel-cd-p-pre-op1.txt'

    ~~~
    Downloading package: zlib-devel-1.2.7-20.el7_9.x86_64.rpm
    Running Transaction Check
    Traceback (most recent call last):
      File "/usr/lib/python2.7/site-packages/yum/rpmtrans.py", line 454, in callback
        return self._instOpenFile( bytes, total, h )
      File "/usr/lib/python2.7/site-packages/yum/rpmtrans.py", line 500, in _instOpenFile
        name, txmbr = self._getTxmbr(h)
      File "/usr/lib/python2.7/site-packages/yum/rpmtrans.py", line 280, in _getTxmbr
        assert len(txmbrs) == 1
    AssertionError
    FATAL ERROR: python callback <bound method RPMTransaction.callback of <yum.rpmtrans.RPMTransaction instance at 0x7f9a0496a638>> failed, aborting!
    [root@cd-p-pre-op1 ~]#
    ~~~

Expected results:
    
    convert2rhel to run successfully.

Additional info:

Comment 3 Eric Gustavsson 2023-07-04 11:56:59 UTC
Hi @dareynol, could you attach a log file? Should be in /var/logs/convert2rhel

Comment 13 Michal Bocek 2023-07-31 07:24:37 UTC
This bug is being triggered by having multiple package versions installed on the system, e.g. these two:
python2-cryptography-1.7.2-2.el7.x86_64
python2-cryptography-1.7.2-1.el7_4.1.x86_64

We'll add a check to convert2rhel to detect this and stop to let the user remove the duplicates.