Why does Leapp upgrade fails with 'NameError: global name 'dnf' is not defined' ?

Solution Verified - Updated -

Issue

  • Leapp preupgrade command fails with below traceback.
Process Process-242:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/multiprocessing/process.py", line 258, in _bootstrap
    self.run()
  File "/usr/lib64/python2.7/multiprocessing/process.py", line 114, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/lib/python2.7/site-packages/leapp/repository/actor_definition.py", line 72, in _do_run
    actor_instance.run(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/leapp/actors/__init__.py", line 289, in run
    self.process(*args)
  File "/usr/share/leapp-repository/repositories/system_upgrade/common/actors/scansubscriptionmanagerinfo/actor.py", line 21, in process
    scanrhsm.scan()
  File "/usr/share/leapp-repository/repositories/system_upgrade/common/libraries/rhsm.py", line 103, in wrapper
    return f(*args, **kwargs)
  File "/usr/share/leapp-repository/repositories/system_upgrade/common/actors/scansubscriptionmanagerinfo/libraries/scanrhsm.py", line 9, in scan
    info = rhsm.scan_rhsm_info(context)
  File "/usr/share/leapp-repository/repositories/system_upgrade/common/libraries/rhsm.py", line 103, in wrapper
    return f(*args, **kwargs)
  File "/usr/share/leapp-repository/repositories/system_upgrade/common/libraries/rhsm.py", line 382, in scan_rhsm_info
    info.available_repos = get_available_repo_ids(context)
  File "/usr/share/leapp-repository/repositories/system_upgrade/common/libraries/rhsm.py", line 171, in get_available_repo_ids
    repofiles = repofileutils.get_parsed_repofiles(context)
  File "/usr/share/leapp-repository/repositories/system_upgrade/common/libraries/repofileutils.py", line 74, in get_parsed_repofiles
    cmd = ['find', '-L'] + get_repodirs() + ['-maxdepth', '1', '-type', 'f', '-name', '*.repo']
  File "/usr/share/leapp-repository/repositories/system_upgrade/common/libraries/repofileutils.py", line 54, in get_repodirs
    with dnf.base.Base() as base:
NameError: global name 'dnf' is not defined

Environment

  • Red Hat Enterprise Linux 7
  • Red Hat Enterprise Linux 8
  • Leapp

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content