Bug 1002395

Summary: use createrepo_c instead of createrepo
Product: [Retired] Beaker Reporter: Dan Callaghan <dcallagh>
Component: schedulerAssignee: Raymond Mancy <rmancy>
Status: CLOSED CURRENTRELEASE QA Contact: tools-bugs <tools-bugs>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 0.14CC: aigao, asaha, dcallagh, ebaak, llim, qwan, rmancy, xjia
Target Milestone: 0.15Keywords: FutureFeature
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-10-03 02:29:14 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:
Embargoed:
Bug Depends On: 965915    
Bug Blocks:    

Description Dan Callaghan 2013-08-29 06:10:26 UTC
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'

Comment 2 Dan Callaghan 2013-08-29 06:18:12 UTC
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.

Comment 3 Raymond Mancy 2013-09-04 05:49:18 UTC
http://gerrit.beaker-project.org/#/c/2208

Comment 4 Nick Coghlan 2013-09-06 02:41:52 UTC
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 :)

Comment 8 Nick Coghlan 2013-10-03 02:29:14 UTC
Beaker 0.15 has been released.