Bug 1418801

Summary: RFE: provide a way to push the output of a build to multiple destinations
Product: OpenShift Container Platform Reporter: raffaele spazzoli <rspazzol>
Component: RFEAssignee: Ben Parees <bparees>
Status: CLOSED DEFERRED QA Contact: Xiaoli Tian <xtian>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 3.4.0CC: aos-bugs, bparees, erich, jokerman, mbarrett, mfojtik, mmccomas, rromerom
Target Milestone: ---Flags: bparees: needinfo? (mfojtik)
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-03-12 13:54:36 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:

Description raffaele spazzoli 2017-02-02 18:30:14 UTC
The relevant build config section would look like something like this:
output:
- to:
    kind: "ImageStreamTag"
    name: "my-image:latest"
- to:
    kind: "ImageStreamTag"
    name: "externalrepo:5000/dir/my-image:3.2"
  imageLabels:
  - name: "vendor"
    value: "MyCompany"
  - name: "authoritative-source-url"
    value: "registry.mycompany.com"

Comment 1 Ben Parees 2017-02-03 15:00:44 UTC
this already exists as a trello card:
https://trello.com/c/nOX8FTRq

but the intent is not to implement it in the way you described, but rather to allow images to be labeled in such a way that the imagestream import process imports them with multiple tags.

Comment 2 raffaele spazzoli 2017-02-03 15:03:35 UTC
the spirit of this request was to be able to push the image to one or multiple external repos as well as the internal one. not sure whether labels would help with that use case.

Comment 3 Eric Rich 2017-02-13 21:37:54 UTC
(In reply to raffaele spazzoli from comment #2)
> the spirit of this request was to be able to push the image to one or
> multiple external repos as well as the internal one. not sure whether labels
> would help with that use case.

What is the driver for wanting to push to multiple registries?

Comment 12 Ruben Romero Montes 2017-09-03 11:05:37 UTC
Hi Ben, Michal,
I wanted to share with you customer's point of view as I think it's also valuable and deserves to be part of this discussion.

~~~
Actually we would like not see that way of doing. We are not using jenkins when we are using buildconfigs. It is kind of overkill to use jenkins if we just want build dockerfile. Outcome is not same if we need start using jenkins.

However, we made our own plugin to our docker registry which is refreshing imagestreams. It is not anymore problem for us, but I would really like to see that your tools is not going to this jenkins direction - where it is already possible to refresh that imagestream after build completes.

By adding multiple  outputs in buildconfig you could add support to both pipelines and buildconfigs. If you just go to that jenkins direction - you are not adding anything new. Currently using buildconfig it is not possible to upload docker image to registry and refresh imagestream but with pipelines it is possible to build everything and refresh image stream after that. So if you decide to use "jenkins direction" - It is not anything new.
~~~

Regards,
Ruben

Comment 13 Eric Rich 2018-03-12 13:54:36 UTC
This bug has been identified as a dated (created more than 3 months ago) bug. 
This bug has been triaged (has a trello card linked to it), or reviewed by Engineering/PM and has been put into the product backlog, 
however this bug has not been slated for a currently planned release (3.9, 3.10 or 3.11), which cover our releases for the rest of the calendar year. 

As a result of this bugs age, state on the current roadmap and PM Score (being below 70), this bug is being Closed - Differed, 
as it is currently not part of the products immediate priorities.

Please see: https://docs.google.com/document/d/1zdqF4rB3ea8GmVIZ7qWCVYUaQ7-EexUrQEF0MTwdDkw/edit for more details.