Bug 1560659
Summary: | [3.9] Binary build with --from-file not working | ||
---|---|---|---|
Product: | OpenShift Container Platform | Reporter: | Ben Parees <bparees> |
Component: | Build | Assignee: | Ben Parees <bparees> |
Status: | CLOSED ERRATA | QA Contact: | Wenjing Zheng <wzheng> |
Severity: | urgent | Docs Contact: | |
Priority: | unspecified | ||
Version: | 3.9.0 | CC: | aos-bugs, bparees, vwalek, wzheng |
Target Milestone: | --- | ||
Target Release: | 3.9.z | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: |
Cause: Build pods use multiple containers. Binary builds need to specify which container to stream content into, and for custom builds the name of the container is different from non-custom builds.
Consequence: When streaming binary content into a custom build, the expected container (git-clone) does not exist and the build fails.
Fix: The logic for streaming binary content into a custom build pod will be changed to reference the correct container name (custom-build)
Result: Binary content will successfully stream into the custom build container.
|
Story Points: | --- |
Clone Of: | 1560608 | Environment: | |
Last Closed: | 2018-05-17 06:43:34 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | 1560608, 1560661 | ||
Bug Blocks: |
Comment 1
Ben Parees
2018-03-26 17:52:54 UTC
Have tested with ocp v3.9.22, met below error when do binary build for custom strategy: $ oc start-build ruby-sample-build --from-file=ruby-hello-world.zip --follow --wait --loglevel=5 Uploading file "ruby-hello-world.zip" as binary input for the build ... build "ruby-sample-build-7" started Could not access source url: F0417 16:58:01.171596 32348 helpers.go:119] error: the build wzheng2/ruby-sample-build-7 status is "Failed" oc get builds -n wzheng2 NAME TYPE FROM STATUS STARTED DURATION ruby-sample-build-2 Custom Binary Failed (GenericBuildFailed) About an hour ago 15s ruby-sample-build-3 Custom Binary Failed (GenericBuildFailed) About an hour ago 5s Wenjing, what image did you use as your custom builder image? There is no source url because it's a binary build, so the logic in our sample custom builder which tries to access the source url will fail: https://github.com/openshift/origin/blob/master/images/builder/docker/custom-docker-builder/build.sh#L33 To do a binary build w/ a custom builder image, you need your custom builder's entrypoint script to do a "tar -xf -" to extract the incoming binary content (and then whatever logic you want to process the content). You can't use the sample custom builder image. I'm pretty sure we don't have any existing tests for this scenario. OK, I will build a custom builder image to verify this bug. Thx for the info! Verified with below steps on v3.9.22 1. Edit custom builder image Dockerfile like below: #CMD ["/tmp/build.sh"] ENTRYPOINT tar -xf - 2. docker build . -t custom-builder 3. Create a custom build with above customized builder image 4. git clone https://github.com/openshift/ruby-hello-world; tar -cf ruby-hello-world.tar.gz ruby-hello-world 5. $ oc start-build ruby-sample-build --from-file=ruby-hello-world.tar.gz --follow --wait --loglevel=5 Uploading file "ruby-hello-world.tar.gz" as binary input for the build ... build "ruby-sample-build-5" started build "ruby-sample-build-5" will go completed at last. Per comment #6, have verified this bug. Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2018:1566 |