-
Story
-
Resolution: Unresolved
-
Minor
-
None
-
rhel-8.10
-
None
-
rhel-upgrades
-
3
-
False
-
False
-
-
None
-
None
-
None
-
None
-
Enhancement
-
-
Proposed
-
-
All
-
None
-
57,005
Description of problem:
Customer installed a 3rd party DNF plugin named 'langpacks', provided by the dnf-langpacks package from the EPEL repository. This plugin comes with a bug and it breaks DNF:
- dnf -v
Loaded plugins: builddep, changelog, config-manager, copr, debug, debuginfo-install, download, generate_completion_cache, langpacks, needs-restarting, playground, repoclosure, repodiff, repograph, repomanage, reposync
Traceback (most recent call last):
File "/usr/bin/dnf", line 58, in <module>
main.user_main(sys.argv[1:], exit_code=True)
File "/usr/lib/python2.7/site-packages/dnf/cli/main.py", line 179, in user_main
errcode = main(args)
File "/usr/lib/python2.7/site-packages/dnf/cli/main.py", line 64, in main
return _main(base, args, cli_class, option_parser_class)
File "/usr/lib/python2.7/site-packages/dnf/cli/main.py", line 95, in _main
cli.configure(list(map(ucd, args)), option_parser())
File "/usr/lib/python2.7/site-packages/dnf/cli/cli.py", line 915, in configure
self.base.init_plugins(opts.disableplugin, opts.enableplugin, self)
File "/usr/lib/python2.7/site-packages/dnf/base.py", line 307, in init_plugins
self._plugins._run_init(self, cli)
File "/usr/lib/python2.7/site-packages/dnf/plugin.py", line 147, in _run_init
plugin = p_cls(base, cli)
File "/usr/lib/python2.7/site-packages/dnf-plugins/langpacks.py", line 732, in _init_
config = self.read_config(self.base.conf, "langpacks")
TypeError: read_config() takes exactly 2 arguments (3 given)
A check to see whether a 3rd party DNF plugin is in use could prevent such an error.
Version-Release number of selected component (if applicable):
leapp-repository-0.13.0-2.el7_9.noarch
How reproducible:
100%
Steps to Reproduce:
1. Enable EPEL repo for RHEL 7
2. yum install dnf-langpacks
3. leapp upgrade
Actual results:
[ERROR] Actor: target_userspace_creator
Message: Unable to install RHEL 8 userspace packages.
Summary: Details: Command ['systemd-nspawn', '--register=no', '--quiet', '-D', '/var/lib/leapp/scratch/mounts/root_/system_overlay', '--bind=/etc/hosts:/etc/hosts', '--setenv=LEAPP_NO_RHSM=0', '--setenv=LEAPP_EXPERIMENTAL=0', '--setenv=LEAPP_COMMON_TOOLS=:/etc/leapp/repos.d/system_upgrade/el7toel8/tools', '--setenv=LEAPP_COMMON_FILES=:/etc/leapp/repos.d/system_upgrade/el7toel8/files', '--setenv=LEAPP_UNSUPPORTED=0', '--setenv=LEAPP_EXECUTION_ID=7b9560ed-f9c6-45aa-94f0-935289fc8ed8', '--setenv=LEAPP_HOSTNAME=XXX', 'dnf', 'install', '-y', '--nogpgcheck', '--setopt=module_platform_id=platform:el8', '--setopt=keepcache=1', '--releasever', u'8.2', '--installroot', '/el8target', '--disablerepo', '*', '--enablerepo', u'rhel-8-for-ppc64le-appstream-rpms', '--enablerepo', u'rhel-8-for-ppc64le-baseos-rpms', '--enablerepo', u'rhel-8-for-ppc64le-supplementary-rpms', 'dnf'] failed with exit code 1.
Stderr: Host and machine ids are equal (a43f5b58478c4f29ac84d2561e6b5000): refusing to link journals Traceback (most recent call last):
File "/usr/bin/dnf", line 58, in <module>
main.user_main(sys.argv[1:], exit_code=True)
File "/usr/lib/python2.7/site-packages/dnf/cli/main.py", line 179, in user_main
errcode = main(args)
File "/usr/lib/python2.7/site-packages/dnf/cli/main.py", line 64, in main
return _main(base, args, cli_class, option_parser_class)
File "/usr/lib/python2.7/site-packages/dnf/cli/main.py", line 95, in _main
cli.configure(list(map(ucd, args)), option_parser())
File "/usr/lib/python2.7/site-packages/dnf/cli/cli.py", line 915, in configure
self.base.init_plugins(opts.disableplugin, opts.enableplugin, self)
File "/usr/lib/python2.7/site-packages/dnf/base.py", line 307, in init_plugins
self._plugins._run_init(self, cli)
File "/usr/lib/python2.7/site-packages/dnf/plugin.py", line 147, in _run_init
plugin = p_cls(base, cli)
File "/usr/lib/python2.7/site-packages/dnf-plugins/langpacks.py", line 732, in _init_
config = self.read_config(self.base.conf, "langpacks")
TypeError: read_config() takes exactly 2 arguments (3 given)
Expected results:
An inhibitor to prevent this kind of issues related to a 3rd party plugin