Bug 1560659 - [3.9] Binary build with --from-file not working
Summary: [3.9] Binary build with --from-file not working
Alias: None
Product: OpenShift Container Platform
Classification: Red Hat
Component: Build
Version: 3.9.0
Hardware: Unspecified
OS: Unspecified
Target Milestone: ---
: 3.9.z
Assignee: Ben Parees
QA Contact: Wenjing Zheng
Depends On: 1560608 1560661
TreeView+ depends on / blocked
Reported: 2018-03-26 16:40 UTC by Ben Parees
Modified: 2021-01-18 05:24 UTC (History)
4 users (show)

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.
Clone Of: 1560608
Last Closed: 2018-05-17 06:43:34 UTC
Target Upstream Version:

Attachments (Terms of Use)

System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2018:1566 0 None None None 2018-05-17 06:44:07 UTC

Comment 1 Ben Parees 2018-03-26 17:52:54 UTC
PR: https://github.com/openshift/ose/pull/1162

Comment 3 Wenjing Zheng 2018-04-17 08:59:00 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

Comment 4 Ben Parees 2018-04-17 14:07:55 UTC
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:  

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.

Comment 5 Wenjing Zheng 2018-04-18 09:37:45 UTC
OK, I will build a custom builder image to verify this bug. Thx for the info!

Comment 6 Wenjing Zheng 2018-04-19 07:03:25 UTC
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.

Comment 8 Wenjing Zheng 2018-04-20 01:43:19 UTC
Per comment #6, have verified this bug.

Comment 11 errata-xmlrpc 2018-05-17 06:43:34 UTC
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.


Note You need to log in before you can comment on or make changes to this bug.