Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Take care of manifest config blob #10805

Merged

Conversation

mfojtik
Copy link
Member

@mfojtik mfojtik commented Sep 5, 2016

clone of: #10759

Resolves #10730

Manifest V2 schema 2 introduces a special blob called config which used to be emeedded in earlier schema. See upstream's spec for details. The config is stored as a regular blob on registry's storage. Thus the config needs to be treated similar to a regular layer:

  1. the pullthrough middleware needs to be able to fetch it from remote repository
  2. we need to increase a size of image for the size of its config
  3. the config's digest needs to be cached as a regular layer inside a registry for subsequent lookups
  4. image pruning needs to prune it the same way as regular layer

The PR addresses the first 3 items. I'd like to cover the pruning case in a follow-up.

Michal Minář added 2 commits September 5, 2016 20:02
Make sure to match image having config name equal to the wanted blob
digest. Remember the image and allow access to its layers.

Signed-off-by: Michal Minář <miminar@redhat.com>
Manifest configs are fetched using Get() method from blob store.
Pullthrough middleware needs to override it as well to allow for pulling
manifest v2 schema 2 images from remote repositories.

Signed-off-by: Michal Minář <miminar@redhat.com>
@mfojtik
Copy link
Member Author

mfojtik commented Sep 5, 2016

@liggitt @miminar we need to get this today. I fixed that failing test here.

@mfojtik mfojtik added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Sep 5, 2016
os::cmd::expect_success "oc login -u schema2-user -p pass"
os::cmd::expect_success "oc project schema2"
# tagging remote docker.io/busybox image
os::cmd::expect_success "oc tag --source=docker busybox '${DOCKER_REGISTRY}/schema2/busybox'"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

actually, I was wrong... I think this was supposed to be docker tag, but without the --source

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it's trying to tag and push using pure docker API calls

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

--source removed

Michal Minář added 2 commits September 5, 2016 20:13
Signed-off-by: Michal Minář <miminar@redhat.com>
Signed-off-by: Michal Minář <miminar@redhat.com>
@mfojtik
Copy link
Member Author

mfojtik commented Sep 5, 2016

[merge]

@liggitt liggitt added this to the 1.3.0 milestone Sep 5, 2016
@liggitt liggitt self-assigned this Sep 5, 2016
@miminar
Copy link

miminar commented Sep 5, 2016

@mfojtik thanks! You were faster 😄

@soltysh
Copy link
Member

soltysh commented Sep 6, 2016

[test]

@openshift-bot
Copy link
Contributor

Evaluated for origin test up to c442bf4

@mfojtik
Copy link
Member Author

mfojtik commented Sep 6, 2016

[merge]

@openshift-bot
Copy link
Contributor

Evaluated for origin merge up to c442bf4

@openshift-bot
Copy link
Contributor

continuous-integration/openshift-jenkins/test SUCCESS (https://ci.openshift.redhat.com/jenkins/job/test_pr_origin/8715/)

@openshift-bot openshift-bot merged commit 7f59726 into openshift:master Sep 6, 2016
@openshift-bot
Copy link
Contributor

continuous-integration/openshift-jenkins/merge SUCCESS (https://ci.openshift.redhat.com/jenkins/job/test_pr_origin/8716/)

@mfojtik mfojtik deleted the take-care-of-manifest-config branch September 5, 2018 21:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. priority/P1
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants