Project

Profile

Help

Story #5413

As a plugin writer, declarative artifacts without a "remote" will not have RemoteArtifacts created

Added by ppicka about 1 month ago. Updated about 1 month ago.

Status:
MODIFIED
Priority:
Normal
Category:
-
Sprint/Milestone:
-
Start date:
Due date:
% Done:

100%

Platform Release:
Blocks Release:
Backwards Incompatible:
No
Groomed:
Yes
Sprint Candidate:
No
Tags:
QA Contact:
Complexity:
Smash Test:
Verified:
No
Verification Required:
No
Sprint:
Sprint 59

Description

If a plugin writer does not declarate a "remote" on a declarative Artifact have no RemoteArtifact objects be created.

Validation adjustments

The validation there will need to be loosened to allow remote to be unset. When unset, the Artifact must already have it's binary data attached to the in-memory Artifact causing ArtifactDownloader to pass it through unmodified.

The Artifact can be saved or unsaved. If saved the ArtifactSaver stage will effectively pass it through unmodified. If unsaved the ArtifactSaver stage will perform its usual operation.

Useful for example in modularity support when we got artifact from first stage which doesn't need to be downloaded but should go through stage to create right relations with content.


Checklist

Associated revisions

Revision e2fe778f View on GitHub
Added by dkliban@redhat.com about 1 month ago

Skip downloading DeclarativeArtifacts if a file is already present

This patch introduces an additional check to the method that schedules Artifact
downloading. DeclarativeArtifacts that contain an Artifact that already has a file
are not scheduled for download.

This patch also makes the remote required for the DeclarativeArtifact unless the Artifact
already has a file associated with it.

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

re: #5172
https://pulp.plan.io/issues/5172

History

#1 Updated by bmbouter about 1 month ago

  • Subject changed from Possibility to skip artifact download and remote artifact saver stages at Sync to As a plugin writer, declarative artifacts without a "remote" will not have RemoteArtifacts created
  • Description updated (diff)

This doesn't have an affect on the ArtifactDownload or ArtifactSaver stages so I edited it to remove that part. @ppicka does this sound right?

#2 Updated by bmbouter about 1 month ago

  • Description updated (diff)

#3 Updated by bmbouter about 1 month ago

I can see value in the created in-memory Artifact being unsaved because then the ArtifactSaver can efficiently save them in batches.

Regarding the ArtifactDownloader I don't think we need explicit skipping, as much as the current behavior should recognize the Artifact as already downloaded. So in that way it would be "skipped" with the existing logic.

#4 Updated by bmbouter about 1 month ago

  • Description updated (diff)

#5 Updated by bmbouter about 1 month ago

  • Description updated (diff)

#6 Updated by dkliban@redhat.com about 1 month ago

  • Groomed changed from No to Yes
  • Sprint set to Sprint 58

#7 Updated by ppicka about 1 month ago

  • Checklist item when 'remote' missing on declarative artifact won't raise error set to Done
  • Checklist item when 'remote' missing download and remote save is skipped set to Done

#8 Updated by ppicka about 1 month ago

  • Status changed from NEW to ASSIGNED
  • Assignee set to ppicka

#9 Updated by ppicka about 1 month ago

  • Status changed from ASSIGNED to POST

#10 Updated by rchan about 1 month ago

  • Sprint changed from Sprint 58 to Sprint 59

#11 Updated by dkliban@redhat.com about 1 month ago

  • Assignee changed from ppicka to dkliban@redhat.com

#12 Updated by dkliban@redhat.com about 1 month ago

  • Status changed from POST to MODIFIED
  • % Done changed from 0 to 100

Please register to edit this issue

Also available in: Atom PDF