Project

Profile

Help

Task #8748

closed

Story #7832: [EPIC] As a user, I have Alternate Content Sources

Implement ACS stage in download

Added by bmbouter almost 3 years ago. Updated over 2 years ago.

Status:
CLOSED - CURRENTRELEASE
Priority:
Normal
Assignee:
Category:
-
Sprint/Milestone:
Start date:
Due date:
% Done:

100%

Estimated time:
Platform Release:
Groomed:
No
Sprint Candidate:
No
Tags:
Sprint:
Sprint 105
Quarter:

Description

Background

Assume that an ACS "refresh" has already occurred and that ACS has 3 "paths". At this point the following will have occurred:

  • The user had created the remote and ACS
  • The 3 hidden repos (one for each path) will have been created
  • The refresh will create lots of Content objects associated with each hidden repo and lots of RemoteArtifacts (but no actual artifacts)

Goal

Now the user is syncing some other repo. If the ACS had created a Content + Remote Artifact that is present in the repository the user is syncing, the ACS's RemoteArtifact and Remote should be used instead of the Remote the user is providing for the sync.

Implementation

Create a new stage that will download Artifacts from ACS sources named ACSArtifactHandler. This will come just before the ArtifactDownloader stage so there is an opportunity to modify the data the ArtifactDownloader stage will use for downloading.

For each not-yet-downloaded Artifact, the ACSArtifactHandler stage will determine if there is an ACS-created RemoteArtifact that already exists. If so, it should use that RemoteArtifact for downloading. It should do this by modifying the DeclarativeArtifact so that when the ArtifactDownloader here calls d_artifact.download() it will use the ACS downloader.

Actions #1

Updated by ppicka almost 3 years ago

  • Status changed from NEW to ASSIGNED
  • Assignee set to ppicka
Actions #2

Updated by pulpbot almost 3 years ago

  • Status changed from ASSIGNED to POST
Actions #3

Updated by dalley over 2 years ago

  • Status changed from POST to NEW
  • Assignee deleted (ppicka)
  • Sprint set to Sprint 101

Unassigning due to ppicka outage

Actions #4

Updated by ipanova@redhat.com over 2 years ago

  • Sprint changed from Sprint 101 to Sprint 102
Actions #5

Updated by rchan over 2 years ago

  • Sprint changed from Sprint 102 to Sprint 103
Actions #6

Updated by rchan over 2 years ago

  • Sprint changed from Sprint 103 to Sprint 104
Actions #7

Updated by ipanova@redhat.com over 2 years ago

  • Status changed from NEW to ASSIGNED
  • Assignee set to ppicka
Actions #8

Updated by daviddavis over 2 years ago

  • Status changed from ASSIGNED to POST
Actions #9

Updated by rchan over 2 years ago

  • Sprint changed from Sprint 104 to Sprint 105

Added by ppicka over 2 years ago

Revision 3908e642 | View on GitHub

Optional stage for ACS

if requested by plugin, ACS stage is added and search for content in ACS.

closes: #8748 https://pulp.plan.io/issues/8748

Actions #10

Updated by ppicka over 2 years ago

  • Status changed from POST to MODIFIED
  • % Done changed from 0 to 100
Actions #11

Updated by pulpbot over 2 years ago

  • Sprint/Milestone set to 3.16.0
Actions #12

Updated by pulpbot over 2 years ago

  • Status changed from MODIFIED to CLOSED - CURRENTRELEASE

Also available in: Atom PDF