spinnaker: Successfully integrate Jenkins But Couldn't Fetch Job

root@ip-172-31-20-26:/var/log/spinnaker/igor# tail -f igor.log
	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeClosure(ScriptBytecodeAdapter.java:574) ~[groovy-all-2.4.7.jar:2.4.7]
	at com.netflix.spinnaker.hystrix.SimpleHystrixCommand.run(SimpleHystrixCommand.groovy:53) ~[kork-hystrix-1.105.0.jar:1.105.0]
	at com.netflix.hystrix.HystrixCommand$1.call(HystrixCommand.java:294) ~[hystrix-core-1.4.21.jar:1.4.21]
	... 21 common frames omitted

2018-06-21 20:58:00.127  INFO 8476 --- [readScheduler-1] c.n.s.igor.jenkins.JenkinsBuildMonitor   : - Polling cycle done - Thu Jun 21 20:58:00 UTC 2018
2018-06-21 20:58:00.141  INFO 8476 --- [readScheduler-1] c.n.s.i.d.service.ClouddriverService     : ---> HTTP GET http://localhost:7002/dockerRegistry/images/find?account=spin-dockerhub
2018-06-21 20:58:00.143  INFO 8476 --- [readScheduler-1] c.n.s.i.d.service.ClouddriverService     : <--- HTTP 200 http://localhost:7002/dockerRegistry/images/find?account=spin-dockerhub (2ms)
2018-06-21 20:58:00.182  INFO 8476 --- [readScheduler-1] c.n.s.i.d.service.ClouddriverService     : ---> HTTP GET http://localhost:7002/dockerRegistry/images/find?account=spin-ecr
2018-06-21 20:58:00.185  INFO 8476 --- [readScheduler-1] c.n.s.i.d.service.ClouddriverService     : <--- HTTP 200 http://localhost:7002/dockerRegistry/images/find?account=spin-ecr (2ms)
2018-06-21 20:58:30.091  INFO 8476 --- [readScheduler-1] c.n.spinnaker.igor.docker.DockerMonitor  : no discoveryClient, assuming InService
2018-06-21 20:58:30.091  INFO 8476 --- [readScheduler-1] c.n.s.i.d.service.ClouddriverService     : ---> HTTP GET http://localhost:7002/credentials
2018-06-21 20:58:30.094  INFO 8476 --- [readScheduler-1] c.n.s.i.d.service.ClouddriverService     : <--- HTTP 200 http://localhost:7002/credentials (2ms)
2018-06-21 20:58:30.095  INFO 8476 --- [readScheduler-1] c.n.s.i.d.service.ClouddriverService     : ---> HTTP GET http://localhost:7002/credentials/spin-dockerhub
2018-06-21 20:58:30.096  INFO 8476 --- [readScheduler-1] c.n.s.i.d.service.ClouddriverService     : <--- HTTP 200 http://localhost:7002/credentials/spin-dockerhub (1ms)
2018-06-21 20:58:30.097  INFO 8476 --- [readScheduler-1] c.n.s.i.d.service.ClouddriverService     : ---> HTTP GET http://localhost:7002/credentials/spin-ecr
2018-06-21 20:58:30.098  INFO 8476 --- [readScheduler-1] c.n.s.i.d.service.ClouddriverService     : <--- HTTP 200 http://localhost:7002/credentials/spin-ecr (1ms)
2018-06-21 20:58:30.122  INFO 8476 --- [readScheduler-1] c.n.s.igor.jenkins.JenkinsBuildMonitor   : no DiscoveryClient, assuming InService
2018-06-21 20:58:30.122  INFO 8476 --- [readScheduler-1] c.n.s.igor.jenkins.JenkinsBuildMonitor   : - Polling cycle started - Thu Jun 21 20:58:30 UTC 2018
2018-06-21 20:58:30.127 ERROR 8476 --- [readScheduler-1] c.n.s.igor.jenkins.JenkinsBuildMonitor   : Error processing builds for master=jenkins-master

com.netflix.hystrix.exception.HystrixRuntimeException: jenkins-jenkins-master-getProjects failed and no fallback available.
	at com.netflix.hystrix.AbstractCommand$16.call(AbstractCommand.java:801) ~[hystrix-core-1.4.21.jar:1.4.21]
	at com.netflix.hystrix.AbstractCommand$16.call(AbstractCommand.java:785) ~[hystrix-core-1.4.21.jar:1.4.21]
	at rx.internal.operators.OperatorOnErrorResumeNextViaFunction$1.onError(OperatorOnErrorResumeNextViaFunction.java:99) ~[rxjava-1.0.16.jar:1.0.16]
	at rx.internal.operators.OperatorDoOnEach$1.onError(OperatorDoOnEach.java:71) ~[rxjava-1.0.16.jar:1.0.16]
	at rx.internal.operators.OperatorDoOnEach$1.onError(OperatorDoOnEach.java:71) ~[rxjava-1.0.16.jar:1.0.16]
	at rx.internal.operators.OperatorDoOnEach$1.onError(OperatorDoOnEach.java:71) ~[rxjava-1.0.16.jar:1.0.16]
	at com.netflix.hystrix.AbstractCommand$DeprecatedOnFallbackHookApplication$1.onError(AbstractCommand.java:1514) ~[hystrix-core-1.4.21.jar:1.4.21]
	at com.netflix.hystrix.AbstractCommand$FallbackHookApplication$1.onError(AbstractCommand.java:1404) ~[hystrix-core-1.4.21.jar:1.4.21]
	at com.netflix.hystrix.HystrixCommand$2.call(HystrixCommand.java:314) ~[hystrix-core-1.4.21.jar:1.4.21]
	at com.netflix.hystrix.HystrixCommand$2.call(HystrixCommand.java:306) ~[hystrix-core-1.4.21.jar:1.4.21]
	at rx.Observable$2.call(Observable.java:162) ~[rxjava-1.0.16.jar:1.0.16]
	at rx.Observable$2.call(Observable.java:154) ~[rxjava-1.0.16.jar:1.0.16]
	at rx.Observable$2.call(Observable.java:162) ~[rxjava-1.0.16.jar:1.0.16]
	at rx.Observable$2.call(Observable.java:154) ~[rxjava-1.0.16.jar:1.0.16]
	at rx.Observable$2.call(Observable.java:162) ~[rxjava-1.0.16.jar:1.0.16]
	at rx.Observable$2.call(Observable.java:154) ~[rxjava-1.0.16.jar:1.0.16]
	at rx.Observable$2.call(Observable.java:162) ~[rxjava-1.0.16.jar:1.0.16]
	at rx.Observable$2.call(Observable.java:154) ~[rxjava-1.0.16.jar:1.0.16]
	at rx.Observable$2.call(Observable.java:162) ~[rxjava-1.0.16.jar:1.0.16]
	at rx.Observable$2.call(Observable.java:154) ~[rxjava-1.0.16.jar:1.0.16]
	at rx.Observable$2.call(Observable.java:162) ~[rxjava-1.0.16.jar:1.0.16]
	at rx.Observable$2.call(Observable.java:154) ~[rxjava-1.0.16.jar:1.0.16]
	at rx.Observable$2.call(Observable.java:162) ~[rxjava-1.0.16.jar:1.0.16]
	at rx.Observable$2.call(Observable.java:154) ~[rxjava-1.0.16.jar:1.0.16]
	at rx.Observable$2.call(Observable.java:162) ~[rxjava-1.0.16.jar:1.0.16]
	at rx.Observable$2.call(Observable.java:154) ~[rxjava-1.0.16.jar:1.0.16]
	at rx.Observable$2.call(Observable.java:162) ~[rxjava-1.0.16.jar:1.0.16]
	at rx.Observable$2.call(Observable.java:154) ~[rxjava-1.0.16.jar:1.0.16]
	at rx.Observable$2.call(Observable.java:162) ~[rxjava-1.0.16.jar:1.0.16]
	at rx.Observable$2.call(Observable.java:154) ~[rxjava-1.0.16.jar:1.0.16]
	at rx.Observable.unsafeSubscribe(Observable.java:8171) ~[rxjava-1.0.16.jar:1.0.16]
	at rx.internal.operators.OperatorOnErrorResumeNextViaFunction$1.onError(OperatorOnErrorResumeNextViaFunction.java:100) ~[rxjava-1.0.16.jar:1.0.16]
	at rx.internal.operators.OperatorDoOnEach$1.onError(OperatorDoOnEach.java:71) ~[rxjava-1.0.16.jar:1.0.16]
	at rx.internal.operators.OperatorDoOnEach$1.onError(OperatorDoOnEach.java:71) ~[rxjava-1.0.16.jar:1.0.16]
	at com.netflix.hystrix.AbstractCommand$HystrixObservableTimeoutOperator$3.onError(AbstractCommand.java:1005) ~[hystrix-core-1.4.21.jar:1.4.21]
	at rx.internal.operators.OperatorDoOnEach$1.onError(OperatorDoOnEach.java:71) ~[rxjava-1.0.16.jar:1.0.16]
	at rx.internal.operators.OperatorSubscribeOn$1$1$1.onError(OperatorSubscribeOn.java:71) ~[rxjava-1.0.16.jar:1.0.16]
	at rx.internal.operators.OperatorDoOnEach$1.onError(OperatorDoOnEach.java:71) ~[rxjava-1.0.16.jar:1.0.16]
	at com.netflix.hystrix.AbstractCommand$DeprecatedOnRunHookApplication$1.onError(AbstractCommand.java:1473) ~[hystrix-core-1.4.21.jar:1.4.21]
	at com.netflix.hystrix.AbstractCommand$ExecutionHookApplication$1.onError(AbstractCommand.java:1369) ~[hystrix-core-1.4.21.jar:1.4.21]
	at com.netflix.hystrix.HystrixCommand$1.call(HystrixCommand.java:297) ~[hystrix-core-1.4.21.jar:1.4.21]
	at com.netflix.hystrix.HystrixCommand$1.call(HystrixCommand.java:289) ~[hystrix-core-1.4.21.jar:1.4.21]
	at rx.Observable$2.call(Observable.java:162) ~[rxjava-1.0.16.jar:1.0.16]
	at rx.Observable$2.call(Observable.java:154) ~[rxjava-1.0.16.jar:1.0.16]
	at rx.Observable$2.call(Observable.java:162) ~[rxjava-1.0.16.jar:1.0.16]
	at rx.Observable$2.call(Observable.java:154) ~[rxjava-1.0.16.jar:1.0.16]
	at rx.Observable$2.call(Observable.java:162) ~[rxjava-1.0.16.jar:1.0.16]
	at rx.Observable$2.call(Observable.java:154) ~[rxjava-1.0.16.jar:1.0.16]
	at rx.Observable.unsafeSubscribe(Observable.java:8171) ~[rxjava-1.0.16.jar:1.0.16]
	at com.netflix.hystrix.AbstractCommand$5.call(AbstractCommand.java:517) ~[hystrix-core-1.4.21.jar:1.4.21]
	at com.netflix.hystrix.AbstractCommand$5.call(AbstractCommand.java:495) ~[hystrix-core-1.4.21.jar:1.4.21]
	at rx.Observable.unsafeSubscribe(Observable.java:8171) ~[rxjava-1.0.16.jar:1.0.16]
	at rx.internal.operators.OperatorSubscribeOn$1$1.call(OperatorSubscribeOn.java:62) ~[rxjava-1.0.16.jar:1.0.16]
	at com.netflix.hystrix.strategy.concurrency.HystrixContexSchedulerAction$1.call(HystrixContexSchedulerAction.java:56) ~[hystrix-core-1.4.21.jar:1.4.21]
	at com.netflix.hystrix.strategy.concurrency.HystrixContexSchedulerAction$1.call(HystrixContexSchedulerAction.java:47) ~[hystrix-core-1.4.21.jar:1.4.21]
	at com.netflix.hystrix.strategy.concurrency.HystrixContexSchedulerAction.call(HystrixContexSchedulerAction.java:69) ~[hystrix-core-1.4.21.jar:1.4.21]
	at rx.internal.schedulers.ScheduledAction.run(ScheduledAction.java:55) ~[rxjava-1.0.16.jar:1.0.16]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[na:1.8.0_171]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[na:1.8.0_171]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[na:1.8.0_171]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[na:1.8.0_171]
	at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_171]
Caused by: retrofit.RetrofitError: 400 
	at retrofit.RetrofitError.httpError(RetrofitError.java:40) ~[retrofit-1.9.0.jar:na]
	at retrofit.RestAdapter$RestHandler.invokeRequest(RestAdapter.java:388) ~[retrofit-1.9.0.jar:na]
	at retrofit.RestAdapter$RestHandler.invoke(RestAdapter.java:240) ~[retrofit-1.9.0.jar:na]
	at com.sun.proxy.$Proxy90.getProjects(Unknown Source) ~[na:na]
	at com.netflix.spinnaker.igor.jenkins.client.JenkinsClient$getProjects.call(Unknown Source) ~[na:na]
	at com.netflix.spinnaker.igor.jenkins.service.JenkinsService$_getProjects_closure1.doCall(JenkinsService.groovy:74) ~[igor-web-0.8.0-20180110144440.jar:0.8.0-20180110144440]
	at com.netflix.spinnaker.igor.jenkins.service.JenkinsService$_getProjects_closure1.doCall(JenkinsService.groovy) ~[igor-web-0.8.0-20180110144440.jar:0.8.0-20180110144440]
	at sun.reflect.GeneratedMethodAccessor135.invoke(Unknown Source) ~[na:na]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_171]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_171]
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93) ~[groovy-all-2.4.7.jar:2.4.7]
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325) ~[groovy-all-2.4.7.jar:2.4.7]
	at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:294) ~[groovy-all-2.4.7.jar:2.4.7]
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1024) ~[groovy-all-2.4.7.jar:2.4.7]
	at org.codehaus.groovy.runtime.InvokerHelper.invokePogoMethod(InvokerHelper.java:923) ~[groovy-all-2.4.7.jar:2.4.7]
	at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:906) ~[groovy-all-2.4.7.jar:2.4.7]
	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:168) ~[groovy-all-2.4.7.jar:2.4.7]
	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeClosure(ScriptBytecodeAdapter.java:574) ~[groovy-all-2.4.7.jar:2.4.7]
	at com.netflix.spinnaker.hystrix.SimpleHystrixCommand.run(SimpleHystrixCommand.groovy:53) ~[kork-hystrix-1.105.0.jar:1.105.0]
	at com.netflix.hystrix.HystrixCommand$1.call(HystrixCommand.java:294) ~[hystrix-core-1.4.21.jar:1.4.21]
	... 21 common frames omitted

2018-06-21 20:58:30.128  INFO 8476 --- [readScheduler-1] c.n.s.igor.jenkins.JenkinsBuildMonitor   : - Polling cycle done - Thu Jun 21 20:58:30 UTC 2018
2018-06-21 20:58:30.138  INFO 8476 --- [readScheduler-1] c.n.s.i.d.service.ClouddriverService     : ---> HTTP GET http://localhost:7002/dockerRegistry/images/find?account=spin-dockerhub
2018-06-21 20:58:30.144  INFO 8476 --- [readScheduler-1] c.n.s.i.d.service.ClouddriverService     : <--- HTTP 200 http://localhost:7002/dockerRegistry/images/find?account=spin-dockerhub (6ms)
2018-06-21 20:58:30.185  INFO 8476 --- [readScheduler-1] c.n.s.i.d.service.ClouddriverService     : ---> HTTP GET http://localhost:7002/dockerRegistry/images/find?account=spin-ecr
2018-06-21 20:58:30.191  INFO 8476 --- [readScheduler-1] c.n.s.i.d.service.ClouddriverService     : <--- HTTP 200 http://localhost:7002/dockerRegistry/images/find?account=spin-ecr (6ms)
2018-06-21 20:59:00.091  INFO 8476 --- [readScheduler-1] c.n.spinnaker.igor.docker.DockerMonitor  : no discoveryClient, assuming InService
2018-06-21 20:59:00.092  INFO 8476 --- [readScheduler-1] c.n.s.i.d.service.ClouddriverService     : ---> HTTP GET http://localhost:7002/credentials
2018-06-21 20:59:00.094  INFO 8476 --- [readScheduler-1] c.n.s.i.d.service.ClouddriverService     : <--- HTTP 200 http://localhost:7002/credentials (2ms)
2018-06-21 20:59:00.094  INFO 8476 --- [readScheduler-1] c.n.s.i.d.service.ClouddriverService     : ---> HTTP GET http://localhost:7002/credentials/spin-dockerhub
2018-06-21 20:59:00.096  INFO 8476 --- [readScheduler-1] c.n.s.i.d.service.ClouddriverService     : <--- HTTP 200 http://localhost:7002/credentials/spin-dockerhub (1ms)
2018-06-21 20:59:00.096  INFO 8476 --- [readScheduler-1] c.n.s.i.d.service.ClouddriverService     : ---> HTTP GET http://localhost:7002/credentials/spin-ecr
2018-06-21 20:59:00.098  INFO 8476 --- [readScheduler-1] c.n.s.i.d.service.ClouddriverService     : <--- HTTP 200 http://localhost:7002/credentials/spin-ecr (1ms)
2018-06-21 20:59:00.122  INFO 8476 --- [readScheduler-1] c.n.s.igor.jenkins.JenkinsBuildMonitor   : no DiscoveryClient, assuming InService
2018-06-21 20:59:00.122  INFO 8476 --- [readScheduler-1] c.n.s.igor.jenkins.JenkinsBuildMonitor   : - Polling cycle started - Thu Jun 21 20:59:00 UTC 2018
2018-06-21 20:59:00.127 ERROR 8476 --- [readScheduler-1] c.n.s.igor.jenkins.JenkinsBuildMonitor   : Error processing builds for master=jenkins-master

com.netflix.hystrix.exception.HystrixRuntimeException: jenkins-jenkins-master-getProjects failed and no fallback available.
	at com.netflix.hystrix.AbstractCommand$16.call(AbstractCommand.java:801) ~[hystrix-core-1.4.21.jar:1.4.21]
	at com.netflix.hystrix.AbstractCommand$16.call(AbstractCommand.java:785) ~[hystrix-core-1.4.21.jar:1.4.21]
	at rx.internal.operators.OperatorOnErrorResumeNextViaFunction$1.onError(OperatorOnErrorResumeNextViaFunction.java:99) ~[rxjava-1.0.16.jar:1.0.16]
	at rx.internal.operators.OperatorDoOnEach$1.onError(OperatorDoOnEach.java:71) ~[rxjava-1.0.16.jar:1.0.16]
	at rx.internal.operators.OperatorDoOnEach$1.onError(OperatorDoOnEach.java:71) ~[rxjava-1.0.16.jar:1.0.16]
	at rx.internal.operators.OperatorDoOnEach$1.onError(OperatorDoOnEach.java:71) ~[rxjava-1.0.16.jar:1.0.16]
	at com.netflix.hystrix.AbstractCommand$DeprecatedOnFallbackHookApplication$1.onError(AbstractCommand.java:1514) ~[hystrix-core-1.4.21.jar:1.4.21]
	at com.netflix.hystrix.AbstractCommand$FallbackHookApplication$1.onError(AbstractCommand.java:1404) ~[hystrix-core-1.4.21.jar:1.4.21]
	at com.netflix.hystrix.HystrixCommand$2.call(HystrixCommand.java:314) ~[hystrix-core-1.4.21.jar:1.4.21]
	at com.netflix.hystrix.HystrixCommand$2.call(HystrixCommand.java:306) ~[hystrix-core-1.4.21.jar:1.4.21]
	at rx.Observable$2.call(Observable.java:162) ~[rxjava-1.0.16.jar:1.0.16]
	at rx.Observable$2.call(Observable.java:154) ~[rxjava-1.0.16.jar:1.0.16]
	at rx.Observable$2.call(Observable.java:162) ~[rxjava-1.0.16.jar:1.0.16]
	at rx.Observable$2.call(Observable.java:154) ~[rxjava-1.0.16.jar:1.0.16]
	at rx.Observable$2.call(Observable.java:162) ~[rxjava-1.0.16.jar:1.0.16]
	at rx.Observable$2.call(Observable.java:154) ~[rxjava-1.0.16.jar:1.0.16]
	at rx.Observable$2.call(Observable.java:162) ~[rxjava-1.0.16.jar:1.0.16]
	at rx.Observable$2.call(Observable.java:154) ~[rxjava-1.0.16.jar:1.0.16]
	at rx.Observable$2.call(Observable.java:162) ~[rxjava-1.0.16.jar:1.0.16]
	at rx.Observable$2.call(Observable.java:154) ~[rxjava-1.0.16.jar:1.0.16]
	at rx.Observable$2.call(Observable.java:162) ~[rxjava-1.0.16.jar:1.0.16]
	at rx.Observable$2.call(Observable.java:154) ~[rxjava-1.0.16.jar:1.0.16]
	at rx.Observable$2.call(Observable.java:162) ~[rxjava-1.0.16.jar:1.0.16]
	at rx.Observable$2.call(Observable.java:154) ~[rxjava-1.0.16.jar:1.0.16]
	at rx.Observable$2.call(Observable.java:162) ~[rxjava-1.0.16.jar:1.0.16]
	at rx.Observable$2.call(Observable.java:154) ~[rxjava-1.0.16.jar:1.0.16]
	at rx.Observable$2.call(Observable.java:162) ~[rxjava-1.0.16.jar:1.0.16]
	at rx.Observable$2.call(Observable.java:154) ~[rxjava-1.0.16.jar:1.0.16]
	at rx.Observable$2.call(Observable.java:162) ~[rxjava-1.0.16.jar:1.0.16]
	at rx.Observable$2.call(Observable.java:154) ~[rxjava-1.0.16.jar:1.0.16]
	at rx.Observable.unsafeSubscribe(Observable.java:8171) ~[rxjava-1.0.16.jar:1.0.16]
	at rx.internal.operators.OperatorOnErrorResumeNextViaFunction$1.onError(OperatorOnErrorResumeNextViaFunction.java:100) ~[rxjava-1.0.16.jar:1.0.16]
	at rx.internal.operators.OperatorDoOnEach$1.onError(OperatorDoOnEach.java:71) ~[rxjava-1.0.16.jar:1.0.16]
	at rx.internal.operators.OperatorDoOnEach$1.onError(OperatorDoOnEach.java:71) ~[rxjava-1.0.16.jar:1.0.16]
	at com.netflix.hystrix.AbstractCommand$HystrixObservableTimeoutOperator$3.onError(AbstractCommand.java:1005) ~[hystrix-core-1.4.21.jar:1.4.21]
	at rx.internal.operators.OperatorDoOnEach$1.onError(OperatorDoOnEach.java:71) ~[rxjava-1.0.16.jar:1.0.16]
	at rx.internal.operators.OperatorSubscribeOn$1$1$1.onError(OperatorSubscribeOn.java:71) ~[rxjava-1.0.16.jar:1.0.16]
	at rx.internal.operators.OperatorDoOnEach$1.onError(OperatorDoOnEach.java:71) ~[rxjava-1.0.16.jar:1.0.16]
	at com.netflix.hystrix.AbstractCommand$DeprecatedOnRunHookApplication$1.onError(AbstractCommand.java:1473) ~[hystrix-core-1.4.21.jar:1.4.21]
	at com.netflix.hystrix.AbstractCommand$ExecutionHookApplication$1.onError(AbstractCommand.java:1369) ~[hystrix-core-1.4.21.jar:1.4.21]
	at com.netflix.hystrix.HystrixCommand$1.call(HystrixCommand.java:297) ~[hystrix-core-1.4.21.jar:1.4.21]
	at com.netflix.hystrix.HystrixCommand$1.call(HystrixCommand.java:289) ~[hystrix-core-1.4.21.jar:1.4.21]
	at rx.Observable$2.call(Observable.java:162) ~[rxjava-1.0.16.jar:1.0.16]
	at rx.Observable$2.call(Observable.java:154) ~[rxjava-1.0.16.jar:1.0.16]
	at rx.Observable$2.call(Observable.java:162) ~[rxjava-1.0.16.jar:1.0.16]
	at rx.Observable$2.call(Observable.java:154) ~[rxjava-1.0.16.jar:1.0.16]
	at rx.Observable$2.call(Observable.java:162) ~[rxjava-1.0.16.jar:1.0.16]
	at rx.Observable$2.call(Observable.java:154) ~[rxjava-1.0.16.jar:1.0.16]
	at rx.Observable.unsafeSubscribe(Observable.java:8171) ~[rxjava-1.0.16.jar:1.0.16]
	at com.netflix.hystrix.AbstractCommand$5.call(AbstractCommand.java:517) ~[hystrix-core-1.4.21.jar:1.4.21]
	at com.netflix.hystrix.AbstractCommand$5.call(AbstractCommand.java:495) ~[hystrix-core-1.4.21.jar:1.4.21]
	at rx.Observable.unsafeSubscribe(Observable.java:8171) ~[rxjava-1.0.16.jar:1.0.16]
	at rx.internal.operators.OperatorSubscribeOn$1$1.call(OperatorSubscribeOn.java:62) ~[rxjava-1.0.16.jar:1.0.16]
	at com.netflix.hystrix.strategy.concurrency.HystrixContexSchedulerAction$1.call(HystrixContexSchedulerAction.java:56) ~[hystrix-core-1.4.21.jar:1.4.21]
	at com.netflix.hystrix.strategy.concurrency.HystrixContexSchedulerAction$1.call(HystrixContexSchedulerAction.java:47) ~[hystrix-core-1.4.21.jar:1.4.21]
	at com.netflix.hystrix.strategy.concurrency.HystrixContexSchedulerAction.call(HystrixContexSchedulerAction.java:69) ~[hystrix-core-1.4.21.jar:1.4.21]
	at rx.internal.schedulers.ScheduledAction.run(ScheduledAction.java:55) ~[rxjava-1.0.16.jar:1.0.16]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[na:1.8.0_171]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[na:1.8.0_171]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[na:1.8.0_171]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[na:1.8.0_171]
	at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_171]
Caused by: retrofit.RetrofitError: 400 
	at retrofit.RetrofitError.httpError(RetrofitError.java:40) ~[retrofit-1.9.0.jar:na]
	at retrofit.RestAdapter$RestHandler.invokeRequest(RestAdapter.java:388) ~[retrofit-1.9.0.jar:na]
	at retrofit.RestAdapter$RestHandler.invoke(RestAdapter.java:240) ~[retrofit-1.9.0.jar:na]
	at com.sun.proxy.$Proxy90.getProjects(Unknown Source) ~[na:na]
	at com.netflix.spinnaker.igor.jenkins.client.JenkinsClient$getProjects.call(Unknown Source) ~[na:na]
	at com.netflix.spinnaker.igor.jenkins.service.JenkinsService$_getProjects_closure1.doCall(JenkinsService.groovy:74) ~[igor-web-0.8.0-20180110144440.jar:0.8.0-20180110144440]
	at com.netflix.spinnaker.igor.jenkins.service.JenkinsService$_getProjects_closure1.doCall(JenkinsService.groovy) ~[igor-web-0.8.0-20180110144440.jar:0.8.0-20180110144440]
	at sun.reflect.GeneratedMethodAccessor135.invoke(Unknown Source) ~[na:na]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_171]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_171]
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93) ~[groovy-all-2.4.7.jar:2.4.7]
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325) ~[groovy-all-2.4.7.jar:2.4.7]
	at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:294) ~[groovy-all-2.4.7.jar:2.4.7]
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1024) ~[groovy-all-2.4.7.jar:2.4.7]
	at org.codehaus.groovy.runtime.InvokerHelper.invokePogoMethod(InvokerHelper.java:923) ~[groovy-all-2.4.7.jar:2.4.7]
	at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:906) ~[groovy-all-2.4.7.jar:2.4.7]
	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:168) ~[groovy-all-2.4.7.jar:2.4.7]
	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeClosure(ScriptBytecodeAdapter.java:574) ~[groovy-all-2.4.7.jar:2.4.7]
	at com.netflix.spinnaker.hystrix.SimpleHystrixCommand.run(SimpleHystrixCommand.groovy:53) ~[kork-hystrix-1.105.0.jar:1.105.0]
	at com.netflix.hystrix.HystrixCommand$1.call(HystrixCommand.java:294) ~[hystrix-core-1.4.21.jar:1.4.21]
	... 21 common frames omitted

2018-06-21 20:59:00.127  INFO 8476 --- [readScheduler-1] c.n.s.igor.jenkins.JenkinsBuildMonitor   : - Polling cycle done - Thu Jun 21 20:59:00 UTC 2018
2018-06-21 20:59:00.139  INFO 8476 --- [readScheduler-1] c.n.s.i.d.service.ClouddriverService     : ---> HTTP GET http://localhost:7002/dockerRegistry/images/find?account=spin-dockerhub
2018-06-21 20:59:00.142  INFO 8476 --- [readScheduler-1] c.n.s.i.d.service.ClouddriverService     : <--- HTTP 200 http://localhost:7002/dockerRegistry/images/find?account=spin-dockerhub (3ms)
2018-06-21 20:59:00.181  INFO 8476 --- [readScheduler-1] c.n.s.i.d.service.ClouddriverService     : ---> HTTP GET http://localhost:7002/dockerRegistry/images/find?account=spin-ecr
2018-06-21 20:59:00.185  INFO 8476 --- [readScheduler-1] c.n.s.i.d.service.ClouddriverService     : <--- HTTP 200 http://localhost:7002/dockerRegistry/images/find?account=spin-ecr (3ms)

About this issue

  • Original URL
  • State: closed
  • Created 6 years ago
  • Comments: 42 (10 by maintainers)

Most upvoted comments

I believe this is related to Jenkins being configured with the Security Realm set to “Delegate to servlet container”. When I changed it to “Jenkins’ own user database” things started working.

@apmalla We are currently using role-based authorization in jenkins, and the user that we are trying doesn’t seems to have enough permissions to do a restapi call to jenkins. That’s the reason it failed. And we are using security realm with crowd plugin for crowd authentication and regarding the csrf protection, I selected default crumb issuer and enabled proxy compatibility.

Here is the igor configuration for the jenkins:

    jenkins:
      enabled: true
      masters:
      - name: admin
        address: http://jenkins:8080/
        username: jenkinsuser
        password: <jenkinsuser api token>
        csrf: true
        timeout: 30000

Hope this helps

I got this fixed by configuring tomcat to allow special characters requested in Igor’s request. Specifically [ ]. This is specific to Jenkins server running on tomcat. It has been discussed here

Open $TOMCAT_HOME/conf/server.xml and append relaxedQueryChars=“[,]” after <Connector port=“80”:

<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" relaxedQueryChars="[,]" />

@hariharan16s , Provide admin role to Jenkins user or enable a option called logged in user can do anything at Jenkins Jenkins > Manage Global Security > Authorization

    jenkins:
      enabled: true
      masters:
      - name: admin
        address: http://jenkins:8080/
        username: jenkinsuser
        password: <jenkinsuser api token>
        csrf: true
        timeout: 30000

I ran into this issue on my end when i set the url as “my.jenkins.com:8080” instead of “http://my.jenkins.com:8080/

Yesterday, I found out the reason of the issue in my case. I had 200 code while using curl and 429 while trying to fetch Jenkins jobs in Spinnaker UI. The issue occurred due to empty list of jobs in Jenkins. Once I integrated Jenkins and Spinnaker I’ve tested the integration with creating new Jenkins step in Spinnaker pipeline. As there were no jobs in Jenkins, I expected to see empty list of jobs in Spinnaker without any errors in web console, but got 429. However, this error has disappeared as soon as the new job (simple freestyle project) has been created in Jenkins and Spinnaker’s successfully fetched it. I’m not sure but it seems to be Igor does not expect Jenkins job list to be white clean and can not process an empty Jenkins reply

I just tried selecting “Role-Based Strategy” and then assigning the user Spinnaker is using the default “admin” role (with all permissions) and Igor was able to communicate with my Jenkins server without any problems. I’m not sure what the difference is between my case that’s working and the cases that are not.