Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1631232

Summary: Process and apply templates triggers multiple deployments
Product: OpenShift Container Platform Reporter: Andre Costa <andcosta>
Component: openshift-controller-managerAssignee: Tomáš Nožička <tnozicka>
Status: CLOSED NOTABUG QA Contact: zhou ying <yinzhou>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 3.9.0CC: andcosta, aos-bugs
Target Milestone: ---   
Target Release: 3.9.z   
Hardware: x86_64   
OS: All   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-12-17 18:05:09 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:
Attachments:
Description Flags
logs
none
master_logs
none
logs none

Description Andre Costa 2018-09-20 09:21:52 UTC
Created attachment 1485082 [details]
logs

Description of problem:
When processing a custom template with 'oc process <some-template> -p key=value | oc apply -f -' duplicated replicationcontrollers are created, with the first being cancelled and second finishing successfully with a running pod. 

Customer does not use Openshift Integrated Registry nor builds inside Openshift. All the images are pull and pushed to their Artifactory external Registry and all builds are done on their private Jenkins servers. 

I'm uploading the files with the objects created after processing the template a long with the imagestream. We can see that a new deployment version is trigger with a image change reason and rc-1 point to image-name:tag (as in the dc) and the second that supersedes the rc-1 points to image@sha256:layerid.  

Version-Release number of selected component (if applicable):
OCP v3.9.31
oc client version 3.9.41

How reproducible:
On the customer side everytime we use the command - oc process <some-template> -p key=value | oc apply -f -.
But when using oc process <some-template> -p key=value | oc create -f - this doesn't happen.

Actual results:
Multiple deplyments versions being trigger with image change reason without any clear reason why.

Expected results:
Processing templates without the behavior above.

Additional info:

Comment 1 Tomáš Nožička 2018-09-24 13:52:08 UTC
Please provide the necessary info as described in this doc 

 https://docs.google.com/document/d/13YIo4z8r2U5h03cwJVADALHN_dYT0Odp7rgvnUo3TdE/edit#heading=h.ipszod45cgxn

Comment 2 Andre Costa 2018-09-25 13:28:32 UTC
Created attachment 1486744 [details]
master_logs

Comment 4 Tomáš Nožička 2018-09-25 14:20:20 UTC
Please follow the instruction in the document and fill in the other information. Notably I don't see the object YAML dumps, describe, nor the `oc version` output, but please follow the instructions as written there.

Comment 6 Tomáš Nožička 2018-09-25 16:43:28 UTC
sorry, I missed the describe, but I am still missing the most important part:

"Provide YAML dump of DeploymentConfig, ReplicationController (if available), the ReplicationController pod (if created) and the deployer Pod. (oc get <name> -o yaml)."

A template is what is looks like before creating it, we need a dump of how the objects look like after the unexpected state occurred.

Comment 7 Andre Costa 2018-09-26 09:32:51 UTC
Created attachment 1487122 [details]
logs

Comment 9 Tomáš Nožička 2018-09-26 09:55:06 UTC
Thanks, I can now find the DC yaml dump there.

The issue seems to be that your customer is specifying both image and image stream trigger at the same time. Those features are exclusive, you either specify the image, or ask for it to be filled in from the trigger. Just set image to " ".

Let me know if that fixed the issue your customer is having.