-
Notifications
You must be signed in to change notification settings - Fork 3.8k
Implement windowsDiff.Compare to allow outputting OCI images #4399
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
Conversation
|
Build succeeded.
|
f455a3e to
c5310ee
Compare
|
I've speculatively enabled the snapshot tests on Windows, in case I've fixed them as part of this. If that's not the case, I'll back that enablement out for later. Edit: Yup, a mix of complaints from hcsshim and failures due to permissions issues, plus error "unknown" from the Basic test, means this needs more work to support the snapshot test suite. Hopefully the work is in the suite, not the code... |
|
Build succeeded.
|
|
There's a bunch of refactoring opportunities I saw from this work. Particularly, it seems that the APIs for Apart from tests,
I suspect it would be cleaner to not involve |
c5310ee to
57f840f
Compare
|
Build succeeded.
|
57f840f to
caf6dd5
Compare
|
Build succeeded.
|
caf6dd5 to
69f5446
Compare
|
Build succeeded.
|
69f5446 to
b4d60e0
Compare
|
Build succeeded.
|
|
@ambarve - PTAL |
b4d60e0 to
d0b60fb
Compare
|
Build succeeded.
|
|
Edit: Done |
d0b60fb to
e648165
Compare
|
Build succeeded.
|
|
Hmm. Rebasing showed a random bunch of HTTP-related failures. The Windows Integration run showed: which is clearly unrelated to my changes here. The Linux suite are all failing on CRI tests, getting '403 forbidden' from GCR for some image or images. We're seeing the same thing (on Linux) on main-branch HEAD, so definitely unrelated. We'll see if the Windows issue goes away when master is working and this is rebased again. Edit: The PRs that depend on this one (#4415, #4419) passed Windows CI, so I am pretty confident this failure isn't to do with this PR. |
|
@TBBle - Should we just re-run the tests are are you going ot rebase on some master change that is clean? |
|
I can't retrigger the tests AFAIK, but if you can, that'd be fine. I had a poke around, and the failures looked more like infrastructure issues than code issues, so I am not specifically waiting on a fix to rebase on-to. I only rebased this time because I needed to rebase #4419 to verify a change, and figured I'd do the whole stack to keep my |
fuweid
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm on green
1587b58 to
bea85f2
Compare
|
Build succeeded.
|
|
Gah. The rebase to current mainline branch passed: https://github.com/containerd/containerd/actions/runs/725556015 It's green-enough for me, since this PR doesn't actually change any of the on-disk layer data, and these look suspiciously like the HCS-was-busy-and-reported-success-too-early issue I speculated in #4419. Notably, the two tests this PR enables, |
|
@TBBle - This looks to be a longstanding bug with the containerd shim here: https://github.com/microsoft/hcsshim/blob/master/cmd/containerd-shim-runhcs-v1/delete.go#L29. The code properly handles the vm/container not found but I believe unintentionally re-uses the Thanks! @ambarve - Would you mind taking the bug here. The shim should not return an error on the span if that error would be handled. Easiest way would be to rename the span error used and only assign in the case we actually write an error to stderr via a defer statement. But you can come up with whatever logic you like |
jterry75
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
|
@TBBle would you mind to rebase? Your change might be not related to the error. Please rebase and retry it again. Thanks |
Signed-off-by: Paul "TBBle" Hampson <Paul.Hampson@Pobox.com>
Signed-off-by: Paul "TBBle" Hampson <Paul.Hampson@Pobox.com>
Signed-off-by: Paul "TBBle" Hampson <Paul.Hampson@Pobox.com>
This parallels the implementation of windowsDiff.Apply, including bouncing very briefly though archive.WriteDiff and then straight back out into Windows-specific code. It's mostly pulling existing mechanisms from non-Windows Compare or Windows Apply, and highlights that there's probably a lot of scope for refactoring on top of this. Now the export-related integration tests pass CI on Windows. Signed-off-by: Paul "TBBle" Hampson <Paul.Hampson@Pobox.com>
bea85f2 to
c750498
Compare
|
Build succeeded.
|
|
All green! |
fuweid
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
This builds on #4395 to implement the
Compareside of the differ and similarly toApply, adds a redirect for WCOW toarchive.WriteDiff.With this change, (and a bunch of buildkit hacks), I can now export an image I built with buildkit to any of the types
oci,docker, orimage.Fixes: #4394