Bug 849139

Summary: Jenkins slave app should have the same quota as the app
Product: OKD Reporter: Johnny Liu <jialiu>
Component: PodAssignee: Abhishek Gupta <abhgupta>
Status: CLOSED DUPLICATE QA Contact: libra bugs <libra-bugs>
Severity: low Docs Contact:
Priority: medium    
Version: 2.x   
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: 2013-04-04 17:26:21 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:

Description Johnny Liu 2012-08-17 12:02:44 UTC
Description of problem:
Due to jenkins slave app does not have the same qutoa as app, jenkins build failed caused by rsync failure.

Version-Release number of selected component (if applicable):
devenv_2011

How reproducible:
Always

Steps to Reproduce:
1.Create a app with jenkins client embeded.
2.Set quota to 2G for this app by calling rest api
3.Write some large file in app dir, here, I created ~/<app_name>/phplib/testfile of 2000M after logging into app.
4.Do some change in git repo to trigger jenkins build
5.Log into slave app to check quota

  
Actual results:
Slave app only 1G disk quota.
[phptestbldr-jialiu.dev.rhcloud.com ~]\> quota
Disk quotas for user ae18a05e98314a4d8ae66020f8b8a162 (uid 503): 
     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
     /dev/xvde2    1564       0 1048576             248       0   40000        

And jenkins build failed, due to qutoa limit.
Check jenkins build console, get the following error:
<--snip-->
+ rsync --delete-after -az -e /usr/libexec/stickshift/cartridges/jenkins-1.4/info/bin/git_ssh_wrapper.sh '8c7ab4b8392342279907abf7fc7d429e.rhcloud.com:~/phptest/phplib/' /var/lib/stickshift/ae18a05e98314a4d8ae66020f8b8a162/phptestbldr/phplib/

rsync: write failed on "/var/lib/stickshift/ae18a05e98314a4d8ae66020f8b8a162/phptestbldr/phplib/testfile": Disk quota exceeded (122)
rsync error: error in file IO (code 11) at receiver.c(301) [receiver=3.0.6]
rsync: connection unexpectedly closed (594 bytes received so far) [generator]
rsync error: error in rsync protocol data stream (code 12) at io.c(600) [generator=3.0.6]

Build step 'Execute shell' marked build as failure
Archiving artifacts
Finished: FAILURE


Expected results:
Jenkins slave app should have the same quota as the app, so that jenkins build succeed

Additional info:

Comment 1 Dan McPherson 2012-08-17 14:20:30 UTC
This will take a couple of steps to fix.

1) Add the ability to set quota on app create (I don't think it's there currently)
2) Step 2, add this functionality through the java client
3) Step 3, use the capability from the jenkins plugin to set the same value from the source app.

Note:  An alternative will likely be available in the future when the slave builder is clearly called out as being a slave of jenkins.  Then the broker could automatically set the same values.

Abhishek, can you take a look at step 1).

Comment 2 Abhishek Gupta 2012-08-20 18:16:02 UTC
Based on discussion with Dan, we will implement this change after we make the change to scalable application creation to use a single gear group instead of 1 each for haproxy and the framework cartridge.

Lowering the severity of this bug based on this.

Comment 3 Abhishek Gupta 2013-04-04 17:26:21 UTC
In bug 947580, a suggestion was made to add the configuration to specify the quota for the builder app in the jenkins plugin configuration. This would make it more flexible since the quota requirements for the builder app can often be different from the actual app. 

The solution proposed in bug 947580 will also address this issue. So, marking this as a duplicate of that bug.

*** This bug has been marked as a duplicate of bug 947580 ***