Red Hat Bugzilla – Bug 1002395
use createrepo_c instead of createrepo
Last modified: 2018-02-05 19:41:31 EST
This is a mitigation for bug 968858.
createrepo_c is a more efficient implementation (in terms of memory, CPU time, and wall time) of createrepo. We've already established that it produces equivalent repometadata for our purposes, so we should start using it for building the task yum repo.
It might be worth making the createrepo implementation configurable, just in case we (or someone) needs to switch back to the original createrepo. For example in server.cfg:
# Command to run to build yum repos. 'createrepo' is the original implementation,
# 'createrepo_c' is a more efficient re-implementation.
beaker.createrepo_command = 'createrepo_c'
Steps to verify:
1. Ensure createrepo_c is being invoked (not createrepo) when a task is uploaded to the task library.
2. Ensure the generated task repo still works correctly (tasks can be installed) for recipes running RHEL3-7 and Fedora.
Patch review found that this really needs to be tested in two parts:
- task library unit tests to ensure the command invoked can be changed and that both createrepo and createrepo_c work
- integration tests to ensure the server picks up the configuration setting for which command to use
Hence adding a dependency on the BZ about adding unit tests for the task library in the first place :)
Beaker 0.15 has been released.