-
Type:
Bug
-
Resolution: Duplicate
-
Priority:
Minor
-
Component/s: remoting
I am trying to work with a master + some agents in a single docker cluster orchestrated by docker-compose with Jenkins ver. 2.176.3 under Windows 10 to experiment locally. Â
Unfortunately the agents spin up much faster than the master, so they try to connect before the master is ready, which for a docker cluster results in a ConnectException (as the docker daemon handles the connect to the socket, but the instance is not ready yet).  From my reading of the source the initial connect is not try-catch proctected for this, so the retry mechanism does not come into play.
Â
This means that in this case that all the agents fail at startup and has to be started manually afterwards.  For my immediate purposes a "–wait" flag waiting X seconds when starting the agent will be fine (or similar), but perhaps the resilience mechanism needs to incoorporate this usecase too?
Â
Â
```
Sep 17, 2019 9:32:17 AM hudson.remoting.jnlp.Main$CuiListener statuscsr-jenkins-agent-base3_1 | INFO: Locating server among http://docker-images_csr-jenkins_1.local:8080csr-jenkins-agent-base3_1 | Sep 17, 2019 9:32:17 AM hudson.remoting.jnlp.Main$CuiListener errorcsr-jenkins-agent-base3_1 | SEVERE: Failed to connect to http://docker-images_csr-jenkins_1.local:8080/tcpSlaveAgentListener/: Connection refused (Connection refused)
csr-jenkins-agent-base3_1 | java.io.IOException: Failed to connect to http://docker-images_csr-jenkins_1.local:8080/tcpSlaveAgentListener/: Connection refused (Connection refused)
csr-jenkins-agent-base3_1 |
at org.jenkinsci.remoting.engine.JnlpAgentEndpointResolver.resolve(JnlpAgentEndpointResolver.java:197)
csr-jenkins-agent-base3_1 |
at hudson.remoting.Engine.innerRun(Engine.java:523)
csr-jenkins-agent-base3_1 |
at hudson.remoting.Engine.run(Engine.java:474)
csr-jenkins-agent-base3_1 | Caused by: java.net.ConnectException: Connection refused (Connection refused)
csr-jenkins-agent-base3_1 |
at java.base/java.net.PlainSocketImpl.socketConnect(Native Method)
csr-jenkins-agent-base3_1 |
at java.base/java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:399)
csr-jenkins-agent-base3_1 |
at java.base/java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:242)
csr-jenkins-agent-base3_1 |
at java.base/java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:224)
csr-jenkins-agent-base3_1 |
at java.base/java.net.Socket.connect(Socket.java:591)
csr-jenkins-agent-base3_1 |
at java.base/sun.net.NetworkClient.doConnect(NetworkClient.java:177)
csr-jenkins-agent-base3_1 |
at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:474)
csr-jenkins-agent-base3_1 |
at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:569)
csr-jenkins-agent-base3_1 |
at java.base/sun.net.www.http.HttpClient.<init>(HttpClient.java:242)
csr-jenkins-agent-base3_1 |
at java.base/sun.net.www.http.HttpClient.New(HttpClient.java:341)
csr-jenkins-agent-base3_1 |
at java.base/sun.net.www.http.HttpClient.New(HttpClient.java:362)
csr-jenkins-agent-base3_1 |
at java.base/sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1242)
csr-jenkins-agent-base3_1 |
at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1181)
csr-jenkins-agent-base3_1 |
at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1075)
csr-jenkins-agent-base3_1 |
at java.base/sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:1009)
csr-jenkins-agent-base3_1 |
at org.jenkinsci.remoting.engine.JnlpAgentEndpointResolver.resolve(JnlpAgentEndpointResolver.java:194)
csr-jenkins-agent-base3_1 | ... 2 more
```
Â
- blocks
-
JENKINS-51969 Option for JNLP launcher to retry initial connection attempts
-
- Open
-