Task #8748
closedStory #7832: [EPIC] As a user, I have Alternate Content Sources
Implement ACS stage in download
100%
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.
Updated by ppicka over 3 years ago
- Status changed from NEW to ASSIGNED
- Assignee set to ppicka
Updated by pulpbot over 3 years ago
- Status changed from ASSIGNED to POST
Updated by dalley over 3 years ago
- Status changed from POST to NEW
- Assignee deleted (
ppicka) - Sprint set to Sprint 101
Unassigning due to ppicka outage
Updated by ipanova@redhat.com over 3 years ago
- Sprint changed from Sprint 101 to Sprint 102
Updated by ipanova@redhat.com over 3 years ago
- Status changed from NEW to ASSIGNED
- Assignee set to ppicka
Added by ppicka over 3 years ago
Updated by ppicka over 3 years ago
- Status changed from POST to MODIFIED
- % Done changed from 0 to 100
Applied in changeset pulpcore|3908e642990d8694066e620b27fbbcde8d5c7f18.
Updated by pulpbot about 3 years ago
- Status changed from MODIFIED to CLOSED - CURRENTRELEASE
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