Bug 831062 - jenkins build will fail after create the second jenkins server in the domain
Summary: jenkins build will fail after create the second jenkins server in the domain
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: OKD
Classification: Red Hat
Component: Containers
Version: 2.x
Hardware: Unspecified
OS: Unspecified
low
low
Target Milestone: ---
: ---
Assignee: Bill DeCoste
QA Contact: libra bugs
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2012-06-12 06:25 UTC by Meng Bo
Modified: 2015-05-14 22:55 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2012-08-07 20:42:28 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Meng Bo 2012-06-12 06:25:00 UTC
Description of problem:
Create an app and jenkins server in a domain, embed the jenkins client to the app,
Create the second jenkins server in the same domain. Push the app via jenkins will get failed. It will find the slave build from the 2nd jenkins server which is exist in the first one.

Version-Release number of selected component (if applicable):
cartridge-jenkins-client-1.4-0.28.1-1.git.0.3dce547.el6.noarch
cartridge-jenkins-1.4-0.94.1-1.git.0.04efee1.el6.noarch

How reproducible:
always

Steps to Reproduce:
1.create app with jenkins embedded
2.create the 2nd jenkins server
3.do some change in the app git repo and git push
  
Actual results:
[bmeng@localhost py1]$ git push
Counting objects: 3, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (2/2), 215 bytes, done.
Total 2 (delta 1), reused 0 (delta 0)
remote: Executing Jenkins build.
remote: 
remote: You can track your build at https://jk1-bmeng1stg.stg.rhcloud.com/job/py1-build
remote: 
remote: ERROR - Job not available: http://jk1-bmeng1stg.stg.rhcloud.com/job/py1-build
remote: !!!!!!!!
remote: Deployment Halted!
remote: If the build failed before the deploy step, your previous
remote: build is still running.  Otherwise, your application may be
remote: partially deployed or inaccessible.
remote: Fix the build and try again.
remote: !!!!!!!!
To ssh://cb8e3e3620d14bd89859d165ae847a84.rhcloud.com/~/git/py1.git/
   9e483f3..4ba3f5c  master -> master


Expected results:
Build should be pushed successfully.

Additional info:
Application Info
================
py1
    Framework: python-2.6
     Creation: 2012-06-08T07:34:23-04:00
         UUID: cb8e3e3620d14bd89859d165ae847a84
      Git URL: ssh://cb8e3e3620d14bd89859d165ae847a84.rhcloud.com/~/git/py1.git/
   Public URL: http://py1-bmeng1stg.stg.rhcloud.com/

 Embedded: 
      jenkins-client-1.4 - Job URL: https://jenkins-bmeng1stg.stg.rhcloud.com/job/py1-build/


jenkins
    Framework: jenkins-1.4
     Creation: 2012-06-12T02:06:18-04:00
         UUID: 6cc105a9adf2413aad37afb0a38e9d55
      Git URL: ssh://6cc105a9adf2413aad37afb0a38e9d55.rhcloud.com/~/git/jenkins.git/
   Public URL: http://jenkins-bmeng1stg.stg.rhcloud.com/

 Embedded: 
      None

jk1
    Framework: jenkins-1.4
     Creation: 2012-06-12T02:07:50-04:00
         UUID: fbbc670adefe46e39409124525001724
      Git URL: ssh://fbbc670adefe46e39409124525001724.rhcloud.com/~/git/jk1.git/
   Public URL: http://jk1-bmeng1stg.stg.rhcloud.com/

 Embedded: 
      None

Comment 1 Bill DeCoste 2012-07-12 14:19:11 UTC
The problem is that you have used up all 3 allowed gears: jenkins1 + jenkins2 + app = 3. Jenkins requires another gear for the builder which would be 4 gears which exceeds the 3 gear limit. If you look in the jenkins logs you will see that the build failed because the gear limit has been reached and Jenkins is unable to create a new builder.

Not a bug - working as designed.

Comment 2 Meng Bo 2012-07-13 05:44:27 UTC
Hi Bill, 
This should not be the gear limits issue. My account bmeng+1 has 20 gears on stage env which domain is bmeng1stg.

You can found in my additional info.
The py1 jenkins job is on the first jenkins server 

( Embedded: 
      jenkins-client-1.4 - Job URL: https://jenkins-bmeng1stg.stg.rhcloud.com/job/py1-build/), 

but when I trying to push build via git push, it will try to find the job on the second jenkins server 

(remote: You can track your build at https://jk1-bmeng1stg.stg.rhcloud.com/job/py1-build
remote: 
remote: ERROR - Job not available: http://jk1-bmeng1stg.stg.rhcloud.com/job/py1-build
remote: !!!!!!!!)

so, the build failed. And there is no log on both jenkins server for this failure.

Comment 3 Bill DeCoste 2012-07-13 17:21:01 UTC
Related bug - create 2 Jenkins, delete the 2nd, then try to create an app w/embedded jenkins:

[root@ip-10-40-63-58 ~]# rhc app create -l bdecoste61 -p 123456 -a jboss1 -t jbossas-7 --enable-jenkins -d
Submitting form:
rhlogin: bdecoste61
debug: true
Contacting https://localhost

Found existing Jenkins application: jenkins
Creating application: jboss1 in bdecoste61a
Contacting https://localhost
Response from server:
DEBUG:


Exit Code: 0
broker_c: namespacerhloginsshapp_uuiddebugaltercartridgecart_typeactionapp_nameapi
api_c: placeholder
API version:    1.1.3
DEBUG: 'jboss1' creation returned success.
Now your new domain name is being propagated worldwide (this might take a minute)...
    retry # 4 - Waiting for DNS: jboss1-bdecoste61a.dev.rhcloud.com
Pulling new repo down
git clone --quiet ssh://eba5c102d23548c5a6ef4e992faa541d.rhcloud.com/~/git/jboss1.git/ jboss1
remote: Counting objects: 39, done.
remote: Compressing objects: 100% (29/29), done.
Receiving objects: 100% (39/39), 19.51 KiB, done.
Resolving deltas: 100% (1/1), done.
remote: Total 39 (delta 1), reused 0 (delta 0)
Now embedding the jenkins client into 'jboss1'...
Contacting https://localhost
Problem reported from server. Response code was 500.

DEBUG:
Cartridge return code: 151

Exit Code: 1
broker_c: namespacerhloginsshapp_uuiddebugaltercartridgecart_typeactionapp_nameapi
api_c: placeholder
API version:    1.1.3

RESULT:
Jenkins server does not exist!  Please create with rhc app create -t jenkins-1.4

Cleaning up git repo
Cleaning up application
Contacting https://localhost

Comment 4 Bill DeCoste 2012-07-13 17:57:07 UTC
JENKINS_URL is being overwritten with the URL for the 2nd Jenkins.

Comment 5 Bill DeCoste 2012-07-14 13:17:28 UTC
Fix is not to overwrite existing Jenkins .envs

Comment 6 Meng Bo 2012-07-18 03:03:47 UTC
Verified on devenv_1899, bug has been fixed.
Push app will trigger the correct jenkins server.


Note You need to log in before you can comment on or make changes to this bug.