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

Slave can`t connect via JNLP if Jenkins behind the balancer


    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major Major
    • remoting
    • Jenkins behind the balancer; Docker; Yet another docker plugin;

      Our Jenkins server has multiple addresses (local 10.206.x.x and public via balanser ). The load balancer doesn’t allow any traffic except ports 80 and 443 through, so we have to connect to Docker JNLP containers by yet-another-docker-plugin.
      JENKINS_URL variable is set to private URL without balanser. But each time slave try connect to host via balanser host name. Because via JNLP slave recieve two URLs (local 10.206.x.x and public balanser name), them list of Jenkins URL set to
      JnlpAgentEndpointResolver. Resolve method return JnlpAgentEndpoint for first available via http(s) (in list first element usual is default Jenkins URL) . But Engine can not be created because JNLP port is not available from slave. If reconnect oprion is enabled slave again try use firs address to create JNLP connection and again port is unreachable.

            denami Andrei Laptsinski
            denami Andrei Laptsinski
            0 Vote for this issue
            2 Start watching this issue