Hello,

Previously I had a Jenkins master running on an EC2 instance in the Amazon 
cloud, and two slave nodes, one of which was also in EC2 and the other of 
which is here at my institution, behind a firewall. Both slaves connected 
to the master using Java Web Start and everything worked fine.

Now I am not able to set up new slaves inside my institution--they time out 
while handshaking with the master. And while my existing node inside the 
institute continued to work, after I disconnected it and tried to 
reconnect, it experienced the same problem. I am pretty sure that the 
problem is being behind the institution firewall, because when I unplugged 
my laptop from the ethernet cable and connected it to a public wi-fi 
network, it was able to connect, but when connected by ethernet only it 
times out during handshaking.

The master is running Jenkins ver. 1.532. The slaves are running the 
slave.jar from http://mymasternode.tld:8080/jnlpJars/slave.jar.

To be clear, the slave nodes CAN start a network connection with the 
master. I've set the master up to use a fixed port (33440) for JNLP slave 
agents, and made sure that port is made available in my EC2 security group.

>From a machine at my institution I can do this (slightly edited):

$ telnet mymasternode.tld 33440
Trying xx.xx.xx.xx...
Connected to mymasternode.tld
Escape character is '^]'.

So that means in principle I can initiate a socket connection to the 
master. I try starting a slave agent like this:

java -Djava.awt.headless=true  -jar slave.jar -jnlpUrl 
http://mymasternode.tld:8080/computer/laptop/slave-agent.jnlp -secret 
LONGSECRETCODEGOESHERE

I get this:

Sep 25, 2013 4:55:55 PM hudson.remoting.jnlp.Main$CuiListener <init>
INFO: Jenkins agent is running in headless mode.
Sep 25, 2013 4:55:55 PM hudson.remoting.jnlp.Main$CuiListener status
INFO: Locating server among [http://mymasternode.tld:8080/]
Sep 25, 2013 4:55:55 PM hudson.remoting.jnlp.Main$CuiListener status
INFO: Connecting to mymasternode.tld:33440
Sep 25, 2013 4:55:55 PM hudson.remoting.jnlp.Main$CuiListener status
INFO: Handshaking
Sep 25, 2013 4:55:56 PM hudson.remoting.jnlp.Main$CuiListener status
INFO: Connected

On the master in $JENKINS_HOME/logs/slaves/myslavename, I see this in the 
log:

NLP agent connected from /xx.xx.xx.xx
<===[JENKINS REMOTING CAPACITY]===>
.... and then after several minutes I see this:
ERROR: Connection terminated
ha:AAAAWC+LCAAAAAAAAP9b85aBtbiIQSmjNKU4P08vOT+vOD8mVc8DzHWtSE4tKMnMz/PLL0ldFVf2c+b/lb5MDAwVRQxSaBqcITRIIQMEMIIUFgAAckCEiWAAAAA=java.net.SocketException:
 
Connection timed out
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:146)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:235)
at java.io.BufferedInputStream.read(BufferedInputStream.java:254)
at 
hudson.remoting.FlightRecorderInputStream.read(FlightRecorderInputStream.java:77)
at 
java.io.ObjectInputStream$PeekInputStream.peek(ObjectInputStream.java:2271)
at 
java.io.ObjectInputStream$BlockDataInputStream.peek(ObjectInputStream.java:2564)
at 
java.io.ObjectInputStream$BlockDataInputStream.peekByte(ObjectInputStream.java:2574)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1314)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:368)
at hudson.remoting.Command.readFrom(Command.java:92)
at 
hudson.remoting.ClassicCommandTransport.read(ClassicCommandTransport.java:71)
at 
hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:48)

Back at the slave, it still says 'connected'.

What is going on? OK, so I'm behind a firewall, but I've shown that I can 
initiate a socket connection, so why do inside-the-firewall slaves behave 
differently during the handshake than outside-the-firewall slaves which 
start right up just fine? Maybe something changed on my end but I don't 
know what it could be so not sure what to ask my IT folks about. Thought 
maybe someone here could help.

Thanks,
Dan



-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to