Bug 1722358

Summary: [fc29] traceback on dnf packager while creating transaction
Product: [oVirt] otopi Reporter: Sandro Bonazzola <sbonazzo>
Component: Plugins.packagersAssignee: Gal Zaidman <gzaidman>
Status: CLOSED CURRENTRELEASE QA Contact: Pavel Novotny <pnovotny>
Severity: urgent Docs Contact:
Priority: urgent    
Version: 1.8.0CC: bugs, didi, lleistne, pasik
Target Milestone: ovirt-4.4.0Flags: sbonazzo: ovirt-4.4?
sbonazzo: planning_ack?
sbonazzo: devel_ack?
lleistne: testing_ack+
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: 2020-05-20 20:02:12 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: Integration RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1460625    

Description Sandro Bonazzola 2019-06-20 07:22:17 UTC
Description of problem:

Traceback on dnf packager while creating transaction:

2019-06-20 09:16:27,228+0200 DEBUG otopi.context context._executeMethod:127 Stage customization METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine_common.dialog.titles.Plugin._title_s_packages
2019-06-20 09:16:27,228+0200 DEBUG otopi.plugins.otopi.dialog.human dialog.__logString:204 DIALOG:SEND                
2019-06-20 09:16:27,228+0200 DEBUG otopi.plugins.otopi.dialog.human dialog.__logString:204 DIALOG:SEND                 --== PACKAGES ==--
2019-06-20 09:16:27,228+0200 DEBUG otopi.plugins.otopi.dialog.human dialog.__logString:204 DIALOG:SEND                
2019-06-20 09:16:27,230+0200 DEBUG otopi.context context._executeMethod:127 Stage customization METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages.Plugin._customization
2019-06-20 09:16:27,230+0200 INFO otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._customization:358 Checking for product updates...
2019-06-20 09:16:27,231+0200 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages.verbose:203 DNF Creating transaction
2019-06-20 09:16:31,726+0200 ERROR otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages.error:211 DNF 'Base' object has no attribute '_group_persistor'
2019-06-20 09:16:31,726+0200 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages.verbose:203 DNF Closing transaction with rollback
2019-06-20 09:16:31,949+0200 INFO otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages.info:207 DNF Performing DNF transaction rollback
2019-06-20 09:16:35,509+0200 DEBUG otopi.context context._executeMethod:145 method exception
Traceback (most recent call last):
  File "/usr/lib/python3.7/site-packages/otopi/context.py", line 132, in _executeMethod
    method['method']()
  File "/usr/share/ovirt-engine/setup/bin/../plugins/ovirt-engine-setup/ovirt-engine-common/distro-rpm/packages.py", line 363, in _customization
    ) = self._checkForProductUpdate()
  File "/usr/share/ovirt-engine/setup/bin/../plugins/ovirt-engine-setup/ovirt-engine-common/distro-rpm/packages.py", line 239, in _checkForProductUpdate
    groups = [group['name'] for group in mpm.queryGroups()]
  File "/usr/lib/python3.7/site-packages/otopi/minidnf.py", line 822, in queryGroups
    for group in base.comps.groups_iter()
  File "/usr/lib/python3.7/site-packages/otopi/minidnf.py", line 822, in <listcomp>
    for group in base.comps.groups_iter()
AttributeError: 'Base' object has no attribute '_group_persistor'
2019-06-20 09:16:35,513+0200 ERROR otopi.context context._executeMethod:154 Failed to execute stage 'Environment customization': 'Base' object has no attribute '_group_persistor'
2019-06-20 09:16:35,514+0200 DEBUG otopi.context context.dumpEnvironment:731 ENVIRONMENT DUMP - BEGIN
2019-06-20 09:16:35,514+0200 DEBUG otopi.context context.dumpEnvironment:741 ENV BASE/error=bool:'True'
2019-06-20 09:16:35,514+0200 DEBUG otopi.context context.dumpEnvironment:741 ENV BASE/exceptionInfo=list:'[(<class 'AttributeError'>, AttributeError("'Base' object has no attribute '_group_persistor'"), <traceback object at 0x7f2a90d83108>)]'
2019-06-20 09:16:35,515+0200 DEBUG otopi.context context.dumpEnvironment:745 ENVIRONMENT DUMP - END
2019-06-20 09:16:35,515+0200 INFO otopi.context context.runSequence:613 Stage: Clean up
2019-06-20 09:16:35,515+0200 DEBUG otopi.context context.runSequence:617 STAGE cleanup
2019-06-20 09:16:35,516+0200 DEBUG otopi.context context._executeMethod:127 Stage cleanup METHOD otopi.plugins.otopi.dialog.answer_file.Plugin._generate_answer_file


Version-Release number of selected component (if applicable):
python3-otopi-1.9.0-0.0.master.20190618103422.git1462d05.fc29.noarch
python3-dnf-4.2.5-1.fc29.noarch

Comment 1 Sandro Bonazzola 2019-06-20 07:33:29 UTC
Issue reproduce also on python2:

2019-06-20 09:32:05,513+0200 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages.verbose:203 DNF Creating transaction
2019-06-20 09:32:08,674+0200 ERROR otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages.error:211 DNF 'Base' object has no attribute '_group_persistor'
2019-06-20 09:32:08,674+0200 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages.verbose:203 DNF Closing transaction with rollback
2019-06-20 09:32:08,911+0200 INFO otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages.info:207 DNF Performing DNF transaction rollback
2019-06-20 09:32:11,943+0200 DEBUG otopi.context context._executeMethod:145 method exception
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/otopi/context.py", line 132, in _executeMethod
    method['method']()
  File "/usr/share/ovirt-engine/setup/bin/../plugins/ovirt-engine-setup/ovirt-engine-common/distro-rpm/packages.py", line 363, in _customization
    ) = self._checkForProductUpdate()
  File "/usr/share/ovirt-engine/setup/bin/../plugins/ovirt-engine-setup/ovirt-engine-common/distro-rpm/packages.py", line 239, in _checkForProductUpdate
    groups = [group['name'] for group in mpm.queryGroups()]
  File "/usr/lib/python2.7/site-packages/otopi/minidnf.py", line 822, in queryGroups
    for group in base.comps.groups_iter()
AttributeError: 'Base' object has no attribute '_group_persistor'
2019-06-20 09:32:11,946+0200 ERROR otopi.context context._executeMethod:154 Failed to execute stage 'Environment customization': 'Base' object has no attribute '_group_persistor'

with
python2-otopi-1.9.0-0.0.master.20190618103422.git1462d05.fc29.noarch
python2-dnf-4.2.5-1.fc29.noarch

Comment 2 Pavel Novotny 2020-03-24 22:19:43 UTC
Verified downstream in
otopi-common-1.9.0-1.el8ev.noarch
python3-dnf-4.2.17-6.el8.noarch

Running engine-setup with DNF doesn't crash on DNF transaction:


# OTOPI_DNF_ENABLE=1 engine-setup
...
          --== PACKAGES ==--
         
[ INFO  ] Checking for product updates...
          Setup needs to install or update the following packages:
          [erase] 0:ovirt-engine-4.4.0-0.25.master.el8ev.noarch 
          [install] 0:ovirt-engine-4.4.0-0.26.master.el8ev.noarch will be installed
...
[ INFO  ] Stage: Transaction setup
...
[ INFO  ] Stage: Package installation
[ INFO  ] DNF Downloading 9 files, 166558.35KB
[ INFO  ] DNF Downloaded ovirt-engine-4.4.0-0.26.master.el8ev.noarch.rpm
...
[ INFO  ] Execution of setup completed successfully

Comment 3 Sandro Bonazzola 2020-05-20 20:02:12 UTC
This bugzilla is included in oVirt 4.4.0 release, published on May 20th 2020.

Since the problem described in this bug report should be
resolved in oVirt 4.4.0 release, it has been closed with a resolution of CURRENT RELEASE.

If the solution does not work for you, please open a new bug report.