Project

Profile

Help

Story #2099

closed

As a user, I can sync v2 schema manifests

Added by twaugh over 8 years ago. Updated over 5 years ago.

Status:
CLOSED - CURRENTRELEASE
Priority:
Normal
Start date:
Due date:
% Done:

100%

Estimated time:
(Total: 0:00 h)
Platform Release:
2.13.0
Target Release - Docker:
2.4.0
Groomed:
Yes
Sprint Candidate:
Yes
Tags:
Pulp 2
Sprint:
Sprint 16
Quarter:

Description

As a result of this story, Pulp Docker will support both schema versions, 1 and 2 for sync, publish and copy.

To support both schema 1 and 2 we need to:
1. during sync always make 2 requests to the registry and in each request set properly the headers.
2. as a result of 2 requests we will have to save to the DB manifest with both schemas.
3. change Tag model and add schema_version field and include it into the unit_key( having 2 instances of tags will facilitate copy operation)
4. make sure copy operation works with above changes related to Tag model.
5. write a migration for Tag model change, also write a migration to drop old index
6. in manifest schema 2 there is a config array that contains a config blob, which is treated as regular layer. In order to have a runable docker image config layer should also be present. That means that we would need to download it and store in the DB( as a regular blob layer). That means that most likely we would need to change Manifest model and add a config layer blob field to it. No migration needs to be written for this field
7. change the schema of the crane metadata file to have two manifest lists: one for schema 1, and one for schema 2
8. change publish to create the new crane metadata file, also change publish directory structure for manifests

Note:
this work will not enable support for manifest list( aka fat manifest)


Sub-issues 1 (0 open1 closed)

Crane - Story #2336: Update crane to serve manifest schema 2CLOSED - CURRENTRELEASEipanova@redhat.com

Actions

Related issues

Blocks Crane - Story #2102: Easier way to configure Crane to serve both V1 and V2CLOSED - WONTFIX

Actions
Blocks Docker Support - Story #2384: As a user I can sync manifest listsCLOSED - CURRENTRELEASEipanova@redhat.com

Actions

Also available in: Atom PDF