Bug 1173419

Summary: yumpayload assumes existence of yum in installed package set, but doesn't enforce it
Product: [Fedora] Fedora Reporter: Adam Williamson <awilliam>
Component: anacondaAssignee: Anaconda Maintenance Team <anaconda-maint-list>
Status: CLOSED DUPLICATE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: rawhideCC: anaconda-maint-list, g.kaviyarasu, jonathan, tflink, vanmeeuwen+fedora
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: All   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-12-17 14:32:31 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Adam Williamson 2014-12-12 05:32:48 UTC
Up to F21, it's pretty safe to expect yum will be included in any Fedora install, because it's a mandatory package in the 'core' group.

In F22, however, it isn't. dnf has replaced it in core.

yumpayload.py implicitly assumes it will always be installed to the system, though:

_yum_target_langpack_conf = "/etc/yum/pluginconf.d/langpacks.conf"

...

    def _copyLangpacksConfigToTarget(self):
        shutil.copy2(_yum_installer_langpack_conf,
                     iutil.getSysroot()+_yum_target_langpack_conf)

...

    def postInstall(self):
...
        self._copyLangpacksConfigToTarget()

The yum package owns the directory /etc/yum/pluginconf.d .

tflink hit a traceback attempting an install of Rawhide:

http://beaker-dev.fedoraproject.org/logs/recipes/0+/128/anaconda-tb-do5leT

I believe what happened is his installed package set did not contain yum, so when _copyLangpacksConfigToTarget was run, it failed because /mnt/sysimage/etc/yum/pluginconf.d did not exist.

I've just confirmed I see the same thing if I do a minimal install of the 2014-12-08 Rawhide nightly (which hadn't yet switched to dnf by default).

anaconda has now moved to dnf by default and the dnf payload won't hit this bug, but you can still use a parameter to use yum instead, and you could hit this bug on that path.

I'm not sure what the best thing to do here is, actually. Is it really correct that this config only gets written out when the *installer* is using yum? It doesn't seem like that's necessarily the case, to me. Even if the installer uses dnf, the system user/admin may want to use yum, and presumably they would want to have the appropriate langpacks.conf installed? Should this just get done regardless of the payload type?

Comment 1 Tim Flink 2014-12-12 05:44:04 UTC
If it's useful, the kickstart used and other logs are available as well.

http://beaker-dev.fedoraproject.org/bkr/jobs/128

Note that the beaker install is still not 100% functional and all the log urls are rendered improperly but replacing the 'beaker01.qa.fedoraproject.org/beaker' with 'beaker-dev.fedoraproject.org/' will change them into usable links.

This install was done with the 20141209 rawhide tree.

Comment 2 Adam Williamson 2014-12-12 06:53:52 UTC
it's reproducible just by doing any install with the minimal package set (@core). Well, and quite a lot of other package sets too, I guess, I don't know exactly what dep chains still pull in yum in F22, if any.

Comment 3 David Shea 2014-12-17 14:32:31 UTC

*** This bug has been marked as a duplicate of bug 1152753 ***