-
Bug
-
Resolution: Fixed
-
Blocker
-
Jenkins 2.248
-
-
2.276 and 2.277.1
The fix for https://issues.jenkins-ci.org/browse/JENKINS-63014 introduced a regression bug. This fix was released in Jenkins version 2.248 and broke a feature used in e.g. yet-another-docker plugin.
Our Jenkins master is exposed via multiple URLs:
- primary URL: this is the publicly used URL for the Jenkins server, our users and some of the slave agents only capable of reaching Jenkins master through this address
- secondary URL: this is an internal URL (only reachable from the host machine that runs the Jenkins master), some of the slave agents are only capable of reaching Jenkins master through this address
We're using yet-another-docker plugin with JNLP launcher to launch Docker slaves. It has an option called "Different Jenkins master URL". This option can be used to overwrite the primary URL (the one set in Jenkins global config). Since version 2.248 Jenkins doesn't respect this secondary URL and the slaves fail to connect to Jenkins master.
Log from previous versions:
su - jenkins -c java -jar slave.jar -jnlpUrl SECONDARY_URL:8080/computer/docker_cloud-22c714f1d0ba//slave-agent.jnlp -secret "some secret id"
Jul 27, 2020 11:03:06 AM hudson.remoting.jnlp.Main createEngine
INFO: Setting up agent: docker_cloud-22c714f1d0ba
Jul 27, 2020 11:03:06 AM hudson.remoting.jnlp.Main$CuiListener <init>
INFO: Jenkins agent is running in headless mode.
Jul 27, 2020 11:03:06 AM hudson.remoting.Engine startEngine
INFO: Using Remoting version: 4.3
Jul 27, 2020 11:03:06 AM hudson.remoting.Engine startEngine
WARNING: No Working Directory. Using the legacy JAR Cache location: /home/jenkins/.jenkins/cache/jars
Jul 27, 2020 11:03:06 AM hudson.remoting.jnlp.Main$CuiListener status
INFO: Locating server among [PRIMARY_URL, SECONDARY_URL]
Jul 27, 2020 11:03:07 AM org.jenkinsci.remoting.engine.JnlpAgentEndpointResolver resolve
INFO: Remoting server accepts the following protocols: [JNLP4-connect, Ping]
Jul 27, 2020 11:03:07 AM hudson.remoting.jnlp.Main$CuiListener status
INFO: Agent discovery successful Agent address: SECONDARY_URL Agent port: 39633 Identity: 58:af:30:c6:91:24:f0:ab:ba:3f:ba:a6:d9:41:85:6f
Jul 27, 2020 11:03:07 AM hudson.remoting.jnlp.Main$CuiListener status
INFO: Handshaking Jul 27, 2020 11:03:07 AM hudson.remoting.jnlp.Main$CuiListener status
INFO: Connecting to SECONDARY_URL:39633
Jul 27, 2020 11:03:07 AM hudson.remoting.jnlp.Main$CuiListener status
INFO: Trying protocol: JNLP4-connect
Jul 27, 2020 11:03:07 AM hudson.remoting.jnlp.Main$CuiListener status
INFO: Remote identity confirmed: 58:af:30:c6:91:24:f0:ab:ba:3f:ba:a6:d9:41:85:6f
Jul 27, 2020 11:03:09 AM hudson.remoting.jnlp.Main$CuiListener status
INFO: Connected
Log from 2.248 version:
su - jenkins -c java -jar slave.jar -jnlpUrl http://SECONDARY_URL:8080/computer/docker_cloud-13120c5169f2//slave-agent.jnlp -secret "some secret id"
Jul 27, 2020 10:49:06 AM hudson.remoting.jnlp.Main createEngine
INFO: Setting up agent: docker_cloud-13120c5169f2
Jul 27, 2020 10:49:06 AM hudson.remoting.jnlp.Main$CuiListener <init>
INFO: Jenkins agent is running in headless mode.
Jul 27, 2020 10:49:06 AM hudson.remoting.Engine startEngine
INFO: Using Remoting version: 4.5
Jul 27, 2020 10:49:06 AM hudson.remoting.Engine startEngine
WARNING: No Working Directory. Using the legacy JAR Cache location: /home/jenkins/.jenkins/cache/jars
Jul 27, 2020 10:49:06 AM hudson.remoting.jnlp.Main$CuiListener status
INFO: Locating server among [PRIMARY_URL]
Jul 27, 2020 10:49:06 AM hudson.remoting.jnlp.Main$CuiListener error
SEVERE: Failed to connect to PRIMARY_URL/tcpSlaveAgentListener/: PRIMARY_URL
- is caused by
-
JENKINS-63014 Agent connection error using nginx proxy with WebSocket
- Resolved