Project

Profile

Help

Issue #3338

closed

rsync distributor syncs symlinks to wrong directory if repo_relative_path starts with /

Added by jluza about 6 years ago. Updated about 5 years ago.

Status:
CLOSED - WONTFIX
Priority:
Normal
Assignee:
-
Category:
-
Sprint/Milestone:
-
Start date:
Due date:
Estimated time:
Severity:
2. Medium
Version:
Master
Platform Release:
OS:
Triaged:
Yes
Groomed:
No
Sprint Candidate:
No
Tags:
Pulp 2
Sprint:
Quarter:

Description

Due behavior of
os.path.join("/root/", "/foo/")

pulp/plugins/rsync/publish.py::RSyncPublishStep::make_destination

produces wrong destination directory which cause symlinks + extra content are synced to
<host>:/<relative_path> instead of <host>:<remote_root>/<relative_path>

Actions #1

Updated by dalley about 6 years ago

  • Sprint/Milestone set to 54
  • Triaged changed from No to Yes
Actions #2

Updated by jortel@redhat.com about 6 years ago

The fix needs to include preventing the relative path from being absolute (having a leading /). The publish should fail when encountering a relative path that is absolute.

Actions #3

Updated by mansari about 6 years ago

  • Status changed from NEW to ASSIGNED
  • Assignee set to mansari
Actions #4

Updated by rchan about 6 years ago

  • Sprint/Milestone changed from 54 to 56
Actions #5

Updated by bmbouter about 6 years ago

  • Sprint set to Sprint 33
Actions #6

Updated by bmbouter about 6 years ago

  • Sprint/Milestone deleted (56)
Actions #7

Updated by jortel@redhat.com about 6 years ago

  • Sprint changed from Sprint 33 to Sprint 34
Actions #8

Updated by daviddavis about 6 years ago

  • Sprint changed from Sprint 34 to Sprint 35
Actions #9

Updated by rchan about 6 years ago

  • Sprint changed from Sprint 35 to Sprint 36
Actions #10

Updated by rchan almost 6 years ago

  • Sprint changed from Sprint 36 to Sprint 37
Actions #11

Updated by rchan almost 6 years ago

  • Status changed from ASSIGNED to NEW
  • Assignee deleted (mansari)
Actions #12

Updated by rchan almost 6 years ago

  • Sprint changed from Sprint 37 to Sprint 38
Actions #13

Updated by jortel@redhat.com almost 6 years ago

  • Status changed from NEW to ASSIGNED
  • Assignee set to jortel@redhat.com
Actions #14

Updated by rchan almost 6 years ago

  • Sprint changed from Sprint 38 to Sprint 39
Actions #15

Updated by jortel@redhat.com almost 6 years ago

  • Tags deleted (Easy Fix)
Actions #16

Updated by jortel@redhat.com almost 6 years ago

The rsync distributor documentation and code are confusing. I don't see a distributor configuration property named repo_relative_path in the documentation or the code. The closest I can find is remote_units_path which appears to be verified in the remote configuration but used from the root configuration which is a bug.

Please provided a more detailed explanation and steps to reproduce including a sample distributor configuration.

Actions #17

Updated by dkliban@redhat.com almost 6 years ago

  • Sprint changed from Sprint 39 to Sprint 40
Actions #18

Updated by jortel@redhat.com almost 6 years ago

  • Status changed from ASSIGNED to NEW
  • Assignee deleted (jortel@redhat.com)
Actions #19

Updated by rchan over 5 years ago

  • Sprint changed from Sprint 40 to Sprint 41
Actions #20

Updated by daviddavis over 5 years ago

  • Sprint deleted (Sprint 41)
Actions #21

Updated by jluza over 5 years ago

repo_relative_path is attribute shared for all types of repositories. You can find it for example here:
pulp_rpm/plugins/pulp_rpm/plugins/distributors/yum/configuration.py::get_repo_relative_path which looks at repo config for
config.get('relative_url', repo.repo_id)

btw, this was filled against master but I think master is already for pulp-3.x which could be different from what was in pulp-2.x

Actions #22

Updated by bmbouter about 5 years ago

  • Status changed from NEW to CLOSED - WONTFIX
Actions #23

Updated by bmbouter about 5 years ago

  • Tags Pulp 2 added

Also available in: Atom PDF