-
Notifications
You must be signed in to change notification settings - Fork 68
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
imageProgressWriter doesn't propagate docker errors under certain conditions #32
Comments
Since this was just a copy of @csrwng's original code, we should just port the changes back. |
Issues go stale after 90d of inactivity. Mark the issue as fresh by commenting If this issue is safe to close now please do so with /lifecycle stale |
Stale issues rot after 30d of inactivity. Mark the issue as fresh by commenting If this issue is safe to close now please do so with /lifecycle rotten |
Rotten issues close after 30d of inactivity. Reopen the issue by commenting /close |
@openshift-bot: Closing this issue. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
The issue is that
imageProgressWriter
can be used in two ways, by callingReadFrom
or by callingWrite
(possibly multiple times). Both go-dockerclient and unit tests pass the writer toio.Copy
which uses theReadFrom
method. However when I wrap imageProgressWriter in anio.MultiWriter
theWrite
method is used which results in slightly different behavior. For example when the decoded JSON object containserror
key,ReadFrom
returns the error immediately butWrite
returns it on the next invocation which may never happen.For openshift/origin#12407 I have an implementation of
Write
that does not useio.Pipe
/goroutine but it's ugly and does a lot of unnecessary copying: https://github.com/mmilata/origin/blob/25a5c910d1afb87a0f8b6266954a72ee7eca4ec8/pkg/build/builder/dockerutil.go#L253To reproduce:
The text was updated successfully, but these errors were encountered: