Conversation
48856bf to
fabe2ec
Compare
fabe2ec to
002e1d1
Compare
4b8e6e3 to
43e8c7e
Compare
|
Test failures in /registry. |
|
@cpuguy83 yeah taking care of it |
b08d191 to
03a1391
Compare
|
So tbh I am kinda disappointed, I thought there was going to be this magical interface for push pull with v1 and v2 and I guess it is just not there yet. I am wondering does this add any new features that we absolutely need for 1.7, is this like a step towards the magical clean interface. what do we gain here other than vendoring registry but using the same V2 functions like we had before. |
|
@jfrazelle I'm sorry to have disappointed you, we originally wanted it to have one interface for both but it turned out to be more complex than what we wanted, plus imagine how difficult it would have been to review, if here we're "just" getting rid of v2 code in engine. So the next steps are to continue the cleanup, to eventually get to the promised land :) With promised land++ being no v1 code. |
|
no worries totally understandable On Thu, May 21, 2015 at 3:37 PM, Tibor Vass [email protected]
|
|
@jfrazelle: @tiborvass and I both took a crack at implementing the v1 code using the magical v2 interface. We were not happy with the results. @tiborvass was working on an intermediate solution that would provide a uniform interface for both v1 and v2. We agreed the code change was too large to be considered a refactor and would require more testing than could be provided for the freeze date. I agree with Tibor we should phase this in and the next steps will be better. This not only provides vendoring of distribution client and getting rid of the horrendous (and was supposed to be temporary) v2 code from registry, but also takes a step toward getting rid of the ping logic and opening the door for true separation of name and transport. This will enable more advanced use cases for mirroring and allow integration of the namespace work being done in distribution. |
03a1391 to
df83a22
Compare
|
This branch needs a test that forbids falling back to V1 registry for pulls with digest reference: #12879. Pull #12881 is fixing that, but this rewrites the code entirely. Also, I could not find the code path which is verifying manifest digests at all (since |
|
Thanks @nakedible will update the code |
0eaa3b2 to
bd8787b
Compare
graph/push_v2.go
Outdated
There was a problem hiding this comment.
A BlobWriter should always be closed regardless of whether Commit or Cancel is called. This comment can be removed.
204626f to
cf87231
Compare
|
Addressed comments |
|
Investigating bug with auth token |
26b60c4 to
d2568ec
Compare
|
Added @dmcgowan's fix commit, fingers crossed. |
49679c5 to
6685991
Compare
Signed-off-by: Tibor Vass <[email protected]>
Signed-off-by: Tibor Vass <[email protected]>
Signed-off-by: Derek McGowan <[email protected]> (github: dmcgowan) Signed-off-by: Tibor Vass <[email protected]>
6685991 to
19515a7
Compare
|
LGTM |
Vendor distribution client v2
This patch vendors the v2 distribution registry client and uses it instead of the v2 codepath in graph/ and registry/ folders. It should not affect the v1 codepath.
Praise @dmcgowan for the good, blame me for the bad :)
Some clarifications on the value of this PR to help it get merged:
APIEndpointin the code) that we try one after the other, if the error returned by a registry API call satisfies a typed-error fallback logic detailed inregistry.WrapError: so not all errors will fallback to v1. This part will be improved in the future, for instance: allow registry endpoints to determine their fallback policies.Big future direction: the brightest day will be when we can get rid of the v1 code. In order to get there, we will have to refactor some more. Most importantly, we will make what many hoped this PR would do: have the code in graph talk only one API, which gets dispatched to the appropriate API version codepath. We will also get rid of much of the old code in registry/, things like
Endpointwill retire.