Project

Profile

Help

Task #3914

closed

Port pulp_ansible to use DeclarativeVersion

Added by bmbouter over 5 years ago. Updated over 3 years ago.

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

100%

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

Description

Overview

Now that DeclarativeVersion is available the pulp_ansible plugin can port onto it. The progress reporting names will change, but otherwise this change will not be noticable to users, except maybe faster performance.

Implementation

The implementation will have two main parts, a metadata downloading page-by-page part, and then an object building part (i.e. Content unit, Artifact, DeclarativeArtifact, and DeclarativeContent). The metadata downloading part is the complicated part because in the paginated API you want several downloads running concurrently.

This is currently done in the pulp_ansible code. A master list is built here: https://github.com/pulp/pulp_ansible/blob/master/pulp_ansible/app/tasks/synchronizing.py#L153 Then 20 outstanding downloads happen here: https://github.com/pulp/pulp_ansible/blob/master/pulp_ansible/app/tasks/synchronizing.py#L155-L158

Then the "new_roles" data from a fetched page is parsed here https://github.com/pulp/pulp_ansible/blob/master/pulp_ansible/app/tasks/synchronizing.py#L168 This is where the Content units and Artifact objects should be encapsulated in DeclarativeContent and DeclarativeArtifact objects respectively. This is similar to what pulp_file does: https://github.com/pulp/pulp_file/blob/master/pulp_file/app/tasks/synchronizing.py#L74-L75


Related issues

Related to Pulp - Task #4078: Remove the Changeset codeCLOSED - CURRENTRELEASEdaviddavis

Actions

Also available in: Atom PDF