Project

Profile

Help

Issue #2237

Updated by jortel@redhat.com over 7 years ago

The pulp ostree publisher uses _libostree_ pull-local which by nature will hard link files instead of copying them.    However, the _AtomicDirectoryPublishStep.process_main()_ in pulp uses _shutil.copytree()_ instead of at least attempting to move the working-directory to the master/<timestamp> location.    The result is, the ostree plugin pull-local creates an ostree repository using hard links but the copy operation creates a copy.    Given the size of ostree repositories, this uses a ton of disk.  

 THIS NEEDS TO BE FIXED IN PLATFORM. 

 Should be doing something like this: 

 <pre> 
 try: 
      rename() 
 except OSError as e: 
     if e.errno == errno.EXDEV: 
         copytree() 
     else: 
         raise 
 </pre> 

Back