Project

General

Profile

Tracker #21289

Add Docker Manifest List to Katello

Added by Partha Aji 10 months ago. Updated about 1 month ago.

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

0%

Difficulty:
Triaged:
Yes
Bugzilla link:
Team Backlog:
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

Related to Katello - Feature #21387: Cannot remove docker manifest listNew2017-10-18
Related to Katello - Feature #21388: content view filter needs to be able to work with docker manifest listClosed2017-10-18
Blocked by Katello - Feature #21290: Add Model Bindings for Docker Manifest ListClosed2017-10-11
Blocked by Katello - Feature #21291: Add UI Bindings for the Docker Manifest ListClosed2017-10-11
Blocked by Runcible - Bug #21161: Add Docker Manifest List to RuncibleClosed2017-09-29

History

#1 Updated by Partha Aji 10 months ago

  • Related to Feature #21290: Add Model Bindings for Docker Manifest List added

#2 Updated by Partha Aji 10 months ago

  • Related to deleted (Feature #21290: Add Model Bindings for Docker Manifest List)

#3 Updated by Partha Aji 10 months ago

  • Blocked by Feature #21290: Add Model Bindings for Docker Manifest List added

#4 Updated by Partha Aji 10 months ago

  • Blocked by Feature #21291: Add UI Bindings for the Docker Manifest List added

#5 Updated by Partha Aji 10 months ago

  • Blocked by Bug #21161: Add Docker Manifest List to Runcible added

#6 Updated by Partha Aji 10 months ago

  • Project changed from Runcible to Katello

#7 Updated by Justin Sherrill 10 months ago

  • Legacy Backlogs Release (now unused) set to 284
  • Category set to Docker

#8 Updated by Partha Aji 10 months ago

#9 Updated by Partha Aji 10 months ago

  • Related to Feature #21388: content view filter needs to be able to work with docker manifest list added

#10 Updated by Brad Buckingham 10 months ago

  • Target version changed from 225 to 232

#11 Updated by Brad Buckingham 9 months ago

  • Target version changed from 232 to 236

#12 Updated by Brad Buckingham 8 months ago

  • Target version changed from 236 to 240

#13 Updated by Brad Buckingham 8 months ago

  • Target version changed from 240 to 242

#14 Updated by Brad Buckingham 7 months ago

  • Target version changed from 242 to 245

#15 Updated by John Mitsch 5 months ago

  • Legacy Backlogs Release (now unused) changed from 284 to 352

Also available in: Atom PDF