Bug 1317374

Summary: ImageSourceNamespace and ImageSourceImageStream don't work when add source and destination paths for buildconfig
Product: OKD Reporter: Yadan Pei <yapei>
Component: Management ConsoleAssignee: Jakub Hadvig <jhadvig>
Status: CLOSED NOTABUG QA Contact: Yadan Pei <yapei>
Severity: medium Docs Contact:
Priority: medium    
Version: 3.xCC: aos-bugs, mmccomas
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-03-15 14:46:29 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
BeforeAdding
none
Add
none
AfterAdding none

Description Yadan Pei 2016-03-14 07:00:59 UTC
Created attachment 1136070 [details]
BeforeAdding

Description of problem:
When add Source and Destination Paths for buildconfig(has Image Source configured), provided options "Namespace", "Image Stream" and "Tag" don't work as expected

Version-Release number of selected component (if applicable):
devenv-rhel7_3705
oc v1.1.3-631-g2d2d659
kubernetes v1.2.0-origin-41-g91d3e75

How reproducible:
Always

Steps to Reproduce:
1. oc create -f https://raw.githubusercontent.com/openshift-qe/v3-testfiles/master/image-streams/image-source.yaml
buildconfig "imagesourcebuild" created
buildconfig "imagedockerbuild" created
imagestream "imagesourceapp" created
imagestream "imagedockerapp" created
deploymentconfig "imagesourceapp" created
deploymentconfig "imagedockerapp" created
2.imagesourcebuild has two pairs of image source
# oc describe bc imagesourcebuild 
Name:		imagesourcebuild
Created:	53 seconds ago
Labels:		build=imagesourcebuild
Annotations:	<none>
Latest Version:	Never built
Strategy:	Source
URL:		https://github.com/openshift/ruby-hello-world.git
Image Source:	openshift/jenkins:latest
		- /usr/lib/jenkins/jenkins.war -> injected/dir
Image Source:	openshift/ruby:latest
		- /usr/lib/jenkins/jenkins.war1 -> injected/dir1
From Image:	ImageStreamTag openshift/ruby:latest
Force Pull:	yes
Output to:	ImageStreamTag imagesourceapp:latest
Triggered by:	<none>
3.imagedockerbuild has only one pair of image source
# oc describe bc imagedockerbuild 
Name:		imagedockerbuild
Created:	About a minute ago
Labels:		build=imagedockerbuild
Annotations:	<none>
Latest Version:	Never built
Strategy:	Source
URL:		https://github.com/openshift/ruby-hello-world.git
Image Source:	copies /usr/lib/jenkins/jenkins.war from openshift/jenkins:latest to injected/dir
From Image:	ImageStreamTag openshift/ruby:latest
Force Pull:	yes
Output to:	ImageStreamTag imagedockerapp:latest
Triggered by:	<none>
4. edit bc imagedockerbuild on web console, add one pair of source and destination paths, selections are as follow(refer to attached screen-shot):
Image Source From : Image Stream Tag
Namespace: openshift
Image Stream: python
Tag: 3.4
Source and Destination Paths: /usr/lib/python34:test/dir
5. Save buildconfig changes
6. Check bc imagedockerbuild settings again
# # oc describe bc imagedockerbuild
Name:		imagedockerbuild
Created:	8 minutes ago
Labels:		build=imagedockerbuild
Annotations:	<none>
Latest Version:	Never built
Strategy:	Source
URL:		https://github.com/openshift/ruby-hello-world.git
Image Source:	openshift/python:3.4
		- /usr/lib/jenkins/jenkins.war -> injected/dir
		- /usr/lib/python34 -> test/dir
From Image:	ImageStreamTag openshift/ruby:latest
Force Pull:	yes
Output to:	ImageStreamTag yapei-test/imagedockerapp:latest
Triggered by:	<none>

Actual results:
6. For Image Source settings, all source and destination paths are grouped under openshift/python:3.4
Image Source:	openshift/python:3.4
		- /usr/lib/jenkins/jenkins.war -> injected/dir
		- /usr/lib/python34 -> test/dir

Expected results:
6. Buildconfig Image Source should be categorized based on image source namespace & image source is & image source tag, correct result should be:
Image Source:	openshift/python:3.4
		- /usr/lib/python34 -> test/dir
Image Source:   openshift/jenkins:latest
                - /usr/lib/jenkins/jenkins.war -> injected/dir
Additional info:

Comment 1 Yadan Pei 2016-03-14 07:01:18 UTC
Created attachment 1136072 [details]
Add

Comment 2 Yadan Pei 2016-03-14 07:01:42 UTC
Created attachment 1136075 [details]
AfterAdding

Comment 3 Jakub Hadvig 2016-03-15 09:29:35 UTC
So from what I'm reading and trying this doesn't seems to be an issue.
Since you changed the ImageStreamTag pointing from Jenkins to Python, there won't be any Jenkins ImageSource, just Python. The additional pair of source and destination path will be included in the Python ImageSource.
Don' see any unexpected behavior.
Will double check with the DevExp members and update the issue.

Comment 4 Yadan Pei 2016-03-15 09:52:32 UTC
Sorry for the incorrect attachment "Add", didn't notice that it changed size after I cut the picture

When editting buildconfig, I just added additional pair of source and destination paths /usr/lib/python34 -> test/dir from openshift:python3.4

didn't change the original pair /usr/lib/jenkins/jenkins.war -> injected/dir

Comment 5 Jakub Hadvig 2016-03-15 13:27:32 UTC
Well thats ok, but still this is not an issue. When you change the the only ImageSource that is pointing to the Jenkins image, to point to Python, there won't be all of a sudden two ImageSources, just the updated one thats pointing to the Python image, and it will have two source->destination dirs since one was there originally and you added one.
There is no such a thing as Image Source categorization.