Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

tcpSlaveAgentListener not found on Jenkins server

I am trying to connect to a Jenkins master instance from a slave. From a connectivity standpoint, everything looks good. I am able to curl the selected "TCP port for JNLP agent" as set in "Configure Global Security" in Jenkins from where I am starting the slave node:

$ curl http://myjenkinsurl:7004/
Jenkins-Agent-Protocols: CLI-connect, CLI2-connect, JNLP-connect, 
JNLP2-connect, JNLP4-connect, Ping
Jenkins-Version: 2.62
Jenkins-Session: 77c90621
Client: 10.0.0.2
Server: 172.0.0.2

However, when trying to get to start a slave node, I get this error reported on the slave node:

INFO: Locating server among [http://myjenkinsurl:7004]
May 25, 2017 12:22:12 PM hudson.remoting.jnlp.Main$CuiListener error
SEVERE: http://myjenkinsurl:7004/tcpSlaveAgentListener/ is invalid: 404 Not Found

I also get the 404 Not Found error when curling http://myjenkinsurl:7004/tcpSlaveAgentListener/

This is what my relevant section of Configure Global Security looks like:

Configure Global Security

I am getting this error since upgrading to Jenkins 2.62 and it was previously working with a similar configuration on Jenkins 2.19.

Most of the similar queries I can find to this question do not have this additional port configured correctly, but the output I get from curling Jenkins on this set port, 7004 in my case, seems to indicate that this is not where the problem lies.

How do I get the tcpSlaveAgentListener URL to function?

like image 821
Jake Avatar asked May 25 '17 12:05

Jake


1 Answers

My case, I'm running both: master and the slaves on Kubernetes. The challenge of getting this working under a ingress apart, I was getting a similar error, and if I understood it right: the /tcpSlaveAgentListener/ should exist under Jenkins main port (usually 8080). This URL, you configure at Manage Jenkins -> Configuration-> Cloud / Kubernetes

Jenkins URL: http://jenkins:8080

Then, under Manage Jenkins -> Global Security-> Agents

TCP Port for inbound agents: 50000.

Here you can't use the same port as your main service for Jenkins.

like image 50
Rafael Pizzi Avatar answered Nov 11 '22 19:11

Rafael Pizzi