Red Hat Bugzilla – Bug 849139
Jenkins slave app should have the same quota as the app
Last modified: 2015-05-14 22:03:13 EDT
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):
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
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:
+ rsync --delete-after -az -e /usr/libexec/stickshift/cartridges/jenkins-1.4/info/bin/git_ssh_wrapper.sh 'email@example.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
Jenkins slave app should have the same quota as the app, so that jenkins build succeed
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).
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.
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 ***