Project

Profile

Help

Story #4209

closed

Story #3693: Lazy for Pulp3

As a plugin writer, I can implement lazy sync for plugins with multiple metadata files

Added by amacdona@redhat.com over 5 years ago. Updated almost 4 years ago.

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

0%

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

Description

Problem

For plugins such as Python and Docker that have many metadata files, we may need a different way to implement lazy sync than the current plan, which is to omit the ArtifactDownloader stage and the ArtifactSaver stage.

Because there are many metadata files, (and with Docker, these metadata files are also content units), we are using the ArtifactDownloader stage to download metadata. In this case, the metadata files need to be downloaded, and related content saved, but the non-metadata files should be skipped for downloading and saving.

Solution

The DeclarativeArtifact gets a new flag called 'deferred_download' defaulting to False to specify, that the artifact stages stop processing it (making it lazy).

At the same time the 'download_artifacts' flag of DeclarativeVersion is removed.

So the plugin must either use the deferred_download flag, or tailor its own Pipeline.


Related issues

Related to Python Support - Story #1884: As a user, I can lazily sync python packagesMODIFIEDCodeHeeler

Actions
Related to Container Support - Story #4174: As a user, I can lazy sync a docker repositoryCLOSED - CURRENTRELEASEdkliban@redhat.com

Actions
Related to RPM Support - Issue #4446: multiple test failures on master branchCLOSED - CURRENTRELEASEActions

Also available in: Atom PDF