Project

General

Profile

Actions

Tracker #21289

open

Add Docker Manifest List to Katello

Added by Partha Aji about 7 years ago. Updated over 6 years ago.

Status:
New
Priority:
Normal
Assignee:
Category:
Container
Target version:
% Done:

0%

Difficulty:
Triaged:
Fixed in Releases:
Found in Releases:

Description

Pulp 2.14 added support for docker manifest lists (https://docs.docker.com/registry/spec/manifest-v2-2/#manifest-list) as part of https://pulp.plan.io/issues/2384

From my general understanding manifest lists are meant for multi architecture containers. For example in a checkout a busybox repo. Notice that the tag 'glibc' (having schema 1 and 2 versions) points to a manifest list:

 
> db.units_docker_tag.find({'name':'glibc'})
{ "_id" : "566bd1f7-357f-4288-b1ef-e06e3b16b3cb", "pulp_user_metadata" : {  }, "_last_updated" : 1506007919, "name" : "glibc", "manifest_digest" : "sha256:a99ec478f03a87779cb367fc0e3656df378006eb97c6ce9a84ea147aa57d7aa9", "repo_id" : "containers", "schema_version" : 1, "manifest_type" : "image", "_ns" : "units_docker_tag", "_content_type_id" : "docker_tag" }
{ "_id" : "1dbc2926-170d-409f-86a7-bb9dcb03a817", "pulp_user_metadata" : {  }, "_last_updated" : 1506007919, "name" : "glibc", "manifest_digest" : "sha256:6cb02cbabacf59962d0cd05176e68ae4769e998e8d98f5e3f28fe915de341d6c", "repo_id" : "containers", "schema_version" : 2, "manifest_type" : "list", "_ns" : "units_docker_tag", "_content_type_id" : "docker_tag" }
> db.units_docker_manifest.find({"digest":"sha256:a99ec478f03a87779cb367fc0e3656df378006eb97c6ce9a84ea147aa57d7aa9"})
{ "_id" : "949a9a37-2989-4c7a-9f0b-abacbc50329d", "pulp_user_metadata" : {  }, "_last_updated" : 1506007919, "_storage_path" : "/var/lib/pulp/content/units/docker_manifest/26/3a3fd1e41297c7ae7582f405b390e3b55dd20d423575f8ab3168ed008eb001/sha256:a99ec478f03a87779cb367fc0e3656df378006eb97c6ce9a84ea147aa57d7aa9", "downloaded" : true, "digest" : "sha256:a99ec478f03a87779cb367fc0e3656df378006eb97c6ce9a84ea147aa57d7aa9", "schema_version" : 1, "fs_layers" : [ { "blob_sum" : "sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4" }, { "blob_sum" : "sha256:91d086a909e1537f8905a225a02fbb4f75e0dbcb3b42f82120d9c27748de1cfe" } ], "_ns" : "units_docker_manifest", "_content_type_id" : "docker_manifest" }
> 
> db.units_docker_manifest_list.find({"digest":"sha256:6cb02cbabacf59962d0cd05176e68ae4769e998e8d98f5e3f28fe915de341d6c"})
{ "_id" : "d5d41cad-2a82-43d2-93c8-169a74b07e4c", "pulp_user_metadata" : {  }, "_last_updated" : 1506007917, "_storage_path" : "/var/lib/pulp/content/units/docker_manifest_list/29/5ea8bff9427de566d157403bb359d9da09a2e47b35bb3d2667342e3c4fe06f/sha256:6cb02cbabacf59962d0cd05176e68ae4769e998e8d98f5e3f28fe915de341d6c", "downloaded" : true, "digest" : "sha256:6cb02cbabacf59962d0cd05176e68ae4769e998e8d98f5e3f28fe915de341d6c", "schema_version" : 2, "manifests" : [ "sha256:98f12e5b0243774d2767dee77ad15b7cc5a835061e408c3bae9038ccdfa9d955", "sha256:5268ffa3b8d427494747e840f3016b63cb80340ff15b5aa153198d5853af3ced", "sha256:756e4909a1f5c4d78b98babd8cb4cf2937483398f7d6cb48b2c20b3e7740f54e", "sha256:92d8427b4ff3b3043073ed4d1ed54529867a8c7150c7b5d2ac3e06bb2dc5bf1c", "sha256:13258ce8b71b92b292eaa96ee9fa7d37cd1d5b5ccbce53010dd8835e2ebade09", "sha256:59117d7c016fba6ede7f87991204bd672a1dca444102de66db632383507ed90b", "sha256:e5aa1b0a24620228b75382997a0977f609b3ca3a95533dafdef84c74cc8df642" ], "amd64_digest" : "sha256:98f12e5b0243774d2767dee77ad15b7cc5a835061e408c3bae9038ccdfa9d955", "amd64_schema_version" : 2, "_ns" : "units_docker_manifest_list", "_content_type_id" : "docker_manifest_list" }
> 

This implies Katello add model changes for Docker Manifest Lists and update the following pages
1) Add model bindings for docker manifest lists. Maintain the associations between Manifests and Manifest Lists
1) Add Manage Docker Manifest Lists functionality via repo
2) Update Various counts displayed on Sync/CV pages.


Related issues 5 (1 open4 closed)

Related to Katello - Feature #21387: Cannot remove docker manifest listNew10/18/2017Actions
Related to Katello - Feature #21388: content view filter needs to be able to work with docker manifest listClosedPartha Aji10/18/2017Actions
Blocked by Katello - Feature #21290: Add Model Bindings for Docker Manifest ListClosedPartha Aji10/11/2017Actions
Blocked by Katello - Feature #21291: Add UI Bindings for the Docker Manifest ListClosedPartha Aji10/11/2017Actions
Blocked by Runcible - Bug #21161: Add Docker Manifest List to RuncibleClosedPartha Aji09/29/2017Actions
Actions

Also available in: Atom PDF