{"action":"created","issue":{"url":"https://api.github.com/repos/openshift/origin/issues/9819","repository_url":"https://api.github.com/repos/openshift/origin","labels_url":"https://api.github.com/repos/openshift/origin/issues/9819/labels{/name}","comments_url":"https://api.github.com/repos/openshift/origin/issues/9819/comments","events_url":"https://api.github.com/repos/openshift/origin/issues/9819/events","html_url":"https://github.com/openshift/origin/pull/9819","id":165366649,"number":9819,"title":"User can get only blobs he's able to see","user":{"login":"miminar","id":1478803,"avatar_url":"https://avatars.githubusercontent.com/u/1478803?v=3","gravatar_id":"","url":"https://api.github.com/users/miminar","html_url":"https://github.com/miminar","followers_url":"https://api.github.com/users/miminar/followers","following_url":"https://api.github.com/users/miminar/following{/other_user}","gists_url":"https://api.github.com/users/miminar/gists{/gist_id}","starred_url":"https://api.github.com/users/miminar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/miminar/subscriptions","organizations_url":"https://api.github.com/users/miminar/orgs","repos_url":"https://api.github.com/users/miminar/repos","events_url":"https://api.github.com/users/miminar/events{/privacy}","received_events_url":"https://api.github.com/users/miminar/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":36,"created_at":"2016-07-13T16:38:34Z","updated_at":"2016-08-03T11:47:25Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/openshift/origin/pulls/9819","html_url":"https://github.com/openshift/origin/pull/9819","diff_url":"https://github.com/openshift/origin/pull/9819.diff","patch_url":"https://github.com/openshift/origin/pull/9819.patch"},"body":"Closes #9755, closes #6841\r\n\r\nThis PR fixes several issues:\r\n\r\n1. The most important is a fix for #9819. Where a user authorized to a single repository can pull any blob stored in the registry.\r\n2. This also enables cross-repo mount feature. It allows a client to *mount* a blob from another repository in the registry to the destination repository (the target of the push). Docker client remembers source registry/repository for each layer it pulled. During a push of a blob **B** to a repository **D**, it instructs the registry to mount **B** from another repository **S** in the same registry if it previously pulled the blob from there. This speeds up push time a lot. This PR enables this functionality **only** for local repositories.\r\n3. It fixes a bug in digestToRepositoryCache.RememberDigest where the first association inserted was lost immediately.\r\n4. It ensures that DockerImageManifestMediaType gets set for all the new and existing images. This requires no migration.\r\n\r\nThe 1st issue is addressed by replacing regular layer link Stat call done in our blobDescriptorService with a fall-back to image stream images in etcd. The blob must exist either locally or remotely if a remote image is tagged in the image stream. If it's tagged locally, the blob<->repository cache will be checked before the etcd query.\r\n\r\nIt's blobDescriptorService is nearly a lowest possible level where we can intercept Stat calls on local blobs. Unfortunately blob descriptor service doesn't know, which repository is being accessed without being told via context. That's why upper layers need to set repository on the context for every method that may invoke Stat or Clear on a local layer link.\r\n\r\nThe fix for 2nd issue is applies only to local repositories. Mounting from remotes needs to be addressed specifically. There's a follow-up #10120."},"comment":{"url":"https://api.github.com/repos/openshift/origin/issues/comments/237215345","html_url":"https://github.com/openshift/origin/pull/9819#issuecomment-237215345","issue_url":"https://api.github.com/repos/openshift/origin/issues/9819","id":237215345,"user":{"login":"openshift-bot","id":1779249,"avatar_url":"https://avatars.githubusercontent.com/u/1779249?v=3","gravatar_id":"","url":"https://api.github.com/users/openshift-bot","html_url":"https://github.com/openshift-bot","followers_url":"https://api.github.com/users/openshift-bot/followers","following_url":"https://api.github.com/users/openshift-bot/following{/other_user}","gists_url":"https://api.github.com/users/openshift-bot/gists{/gist_id}","starred_url":"https://api.github.com/users/openshift-bot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/openshift-bot/subscriptions","organizations_url":"https://api.github.com/users/openshift-bot/orgs","repos_url":"https://api.github.com/users/openshift-bot/repos","events_url":"https://api.github.com/users/openshift-bot/events{/privacy}","received_events_url":"https://api.github.com/users/openshift-bot/received_events","type":"User","site_admin":false},"created_at":"2016-08-03T11:47:25Z","updated_at":"2016-08-03T11:47:25Z","body":"Evaluated for origin test up to 32bf117f369ce77019350b9b797fcf9a09412f8e"}}
{"actor":{"display_login":"openshift-bot"}}