Tracker #21289

Add Docker Manifest List to Katello

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

Status:New% Done:

0%

Priority:Normal
Assigned To:Partha Aji
Category:Docker
Target version:Team Brad - Iteration 27
Difficulty: Bugzilla link:
Story points-
Velocity based estimate-
ReleaseKatello 3.6.1Release relationshipAuto

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 list New 10/18/2017
Related to Katello - Feature #21388: content view filter needs to be able to work with docker ... Closed 10/18/2017
Blocked by Katello - Feature #21290: Add Model Bindings for Docker Manifest List Closed 10/11/2017
Blocked by Katello - Feature #21291: Add UI Bindings for the Docker Manifest List Closed 10/11/2017
Blocked by Runcible - Bug #21161: Add Docker Manifest List to Runcible Closed 09/29/2017

History

#1 Updated by Partha Aji 7 months ago

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

#2 Updated by Partha Aji 7 months ago

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

#3 Updated by Partha Aji 7 months ago

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

#4 Updated by Partha Aji 7 months ago

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

#5 Updated by Partha Aji 7 months ago

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

#6 Updated by Partha Aji 7 months ago

  • Project changed from Runcible to Katello

#7 Updated by Justin Sherrill 7 months ago

  • Release set to Katello 3.6.0
  • Category set to Docker

#8 Updated by Partha Aji 7 months ago

#9 Updated by Partha Aji 7 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 7 months ago

  • Target version changed from Team Brad - Iteration 22 to Team Brad - Iteration 23

#11 Updated by Brad Buckingham 6 months ago

  • Target version changed from Team Brad - Iteration 23 to Team Brad - Iteration 24

#12 Updated by Brad Buckingham 5 months ago

  • Target version changed from Team Brad - Iteration 24 to Team Brad - Iteration 25

#13 Updated by Brad Buckingham 5 months ago

  • Target version changed from Team Brad - Iteration 25 to Team Brad - Iteration 26

#14 Updated by Brad Buckingham 4 months ago

  • Target version changed from Team Brad - Iteration 26 to Team Brad - Iteration 27

#15 Updated by John Mitsch about 1 month ago

  • Release changed from Katello 3.6.0 to Katello 3.6.1

Also available in: Atom PDF