Bug 2185931

Summary: Export in syncable format fails if target export directory is not on same filesystem as artifacts
Product: Red Hat Satellite Reporter: Joniel Pasqualetto <jpasqual>
Component: PulpAssignee: satellite6-bugs <satellite6-bugs>
Status: CLOSED DUPLICATE QA Contact: Satellite QE Team <sat-qe-bz-list>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 6.11.5   
Target Milestone: Unspecified   
Target Release: Unused   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-04-11 16:09:18 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:

Description Joniel Pasqualetto 2023-04-11 16:06:31 UTC
Description of problem:

Export using syncable format fails when target export directory is not on same filesystem as the artifacts.

Problem happens because a hard-link can't be established.


# hammer content-export complete repository --id 143 --format=syncable 
[....................................................................................................................................................................................................................................] [100%]
Error: [Errno 18] Invalid cross-device link: '/var/lib/pulp/media/artifact/2a/f7421e6dca5434bded776a640efadbe9a393b495b6c935f8a764c835f40e7b' -> '/var/lib/pulp/exports/DefaultOrganization/Export-Dinos-143/3.0/2023-04-11T15-51-57-00-00/custom/CustomProduct/Dinos/Packages/p/pteradactyl-1.0-1.noarch.rpm'


Version-Release number of selected component (if applicable):

6.11

How reproducible:
Always

Steps to Reproduce:
1. Mount /var/lib/pulp/exports on a different filesystem
2. Try export anything on syncable format
3.

Actual results: 

Error: [Errno 18] Invalid cross-device link: '/var/lib/pulp/media/artifact/2a/f7421e6dca5434bded776a640efadbe9a393b495b6c935f8a764c835f40e7b' -> '/var/lib/pulp/exports/DefaultOrganization/Export-Dinos-143/3.0/2023-04-11T15-51-57-00-00/custom/CustomProduct/Dinos/Packages/p/pteradactyl-1.0-1.noarch.rpm'


Expected results:
Export would work properly and copy the artifacts instead of linking them.

Additional info:

This works on Satellite 6.12  (pulpcore-3.18), so I wonder if we could cherry-pick the change and backport to pulpcore-3.16, used by satellite 6.11.

Comment 1 Joniel Pasqualetto 2023-04-11 16:09:18 UTC
I think I went too fast when reporting this BZ. Looks like a duplicate of https://bugzilla.redhat.com/show_bug.cgi?id=2125444

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