Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-50384

ECS agent connection to master throws SSL error

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Blocker Blocker
    • amazon-ecs-plugin, remoting
    • OS: ECS-optimized AMI
      Jenkins : v2.89.4
      ECS plugin v1.11

      In my AWS setup, we have two separate clusters – one for master, another for agent. But both are in same vpc, subnet, and have security group assigned.

      1) I have configured ecs plugin – jenkins agent cluster is used here with url pointing to private ip of master, added simple cloudbees template with task ARN and given the template a label that can be used in the pipeline.

      2) When the pipeline is triggered, master, using the plugin config, spins up a new task dynamically and starts a container in one of the instances attached to agent cluster. But, the agent to master connection is broken with this error. Am using JNLP 4 with 50000 as port #.

      3) BTW, security group is set to allow traffic on ports 80, 50000.

      >>>>>>>>>>>>>>>>>>>>>>>>>>>

      INFO: Agent discovery successful

        Agent address: 172.31.44.131

        Agent port:    50000

        Identity:      a6:ed:4e:67:6d:e8:0e:53:32:51:8a:b5:80:06:4a:83

      Mar 24, 2018 7:08:50 AM hudson.remoting.jnlp.Main$CuiListener status

      INFO: Handshaking

      Mar 24, 2018 7:08:50 AM hudson.remoting.jnlp.Main$CuiListener status

      INFO: Connecting to 172.31.44.131:50000

      07:08:50.931 INFO - Using the passthrough mode handler

      Mar 24, 2018 7:08:50 AM hudson.remoting.jnlp.Main$CuiListener status

      INFO: Trying protocol: JNLP4-connect

      2018-03-24 07:08:50.974:INFO:osjs.Server:main: jetty-9.4.5.v20170502

      2018-03-24 07:08:51.028:WARN:osjs.SecurityHandler:main: ServletContext@o.s.j.s.ServletContextHandler@5a8e6209{/,null,STARTING} has uncovered http methods for path: /

      2018-03-24 07:08:51.038:INFO:osjsh.ContextHandler:main: Started o.s.j.s.ServletContextHandler@5a8e6209{/,null,AVAILABLE}

      2018-03-24 07:08:51.076:INFO:osjs.AbstractConnector:main: Started ServerConnector@e4423f5{HTTP/1.1,[http/1.1]}{0.0.0.0:4444}

      2018-03-24 07:08:51.077:INFO:osjs.Server:main: Started @857ms

      07:08:51.077 INFO - Selenium Server is up and running

      Mar 24, 2018 7:08:51 AM org.jenkinsci.remoting.protocol.impl.SSLEngineFilterLayer onRecv

      SEVERE: [JNLP4-connect connection to ip-172-31-44-131.us-west-2.compute.internal/172.31.44.131:50000]

      javax.net.ssl.SSLHandshakeException: General SSLEngine problem

      at sun.security.ssl.Handshaker.checkThrown(Handshaker.java:1478)

      at sun.security.ssl.SSLEngineImpl.checkTaskThrown(SSLEngineImpl.java:535)

      at sun.security.ssl.SSLEngineImpl.writeAppRecord(SSLEngineImpl.java:1214)

      at sun.security.ssl.SSLEngineImpl.wrap(SSLEngineImpl.java:1186)

      at javax.net.ssl.SSLEngine.wrap(SSLEngine.java:469)

      at org.jenkinsci.remoting.protocol.impl.SSLEngineFilterLayer.processRead(SSLEngineFilterLayer.java:392)

      at org.jenkinsci.remoting.protocol.impl.SSLEngineFilterLayer.onRecv(SSLEngineFilterLayer.java:117)

      at org.jenkinsci.remoting.protocol.ProtocolStack$Ptr.onRecv(ProtocolStack.java:669)

      at org.jenkinsci.remoting.protocol.impl.AckFilterLayer.onRecv(AckFilterLayer.java:255)

      at org.jenkinsci.remoting.protocol.ProtocolStack$Ptr.onRecv(ProtocolStack.java:669)

      at org.jenkinsci.remoting.protocol.NetworkLayer.onRead(NetworkLayer.java:136)

      at org.jenkinsci.remoting.protocol.impl.BIONetworkLayer.access$2200(BIONetworkLayer.java:48)

      at org.jenkinsci.remoting.protocol.impl.BIONetworkLayer$Reader.run(BIONetworkLayer.java:283)

      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)

      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)

      at hudson.remoting.Engine$1$1.run(Engine.java:98)

      at java.lang.Thread.run(Thread.java:748)

      >>>>>>>>>>>>>>>>>>>>>>>>>>>

       

      The attached .txt files are the docker logs of master where the task was created and the agent where the task was started but eventually failed.

        1. agent-connect-jnlp-ssl.txt
          11 kB
          Ramanathan M
        2. jenkins-ecs-task.txt
          2 kB
          Ramanathan M

            roehrijn2 Jan Roehrich
            mramanathan Ramanathan M
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: