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

With Version 2.249.1 LTS the the Remote Agent over JNLP does not use the internal Hostname anymore

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major Major
    • remoting
    • None

      We have running our remote agent on windows over jnlp.

      Before 2.249.1 LTS the remote Agent got two URL's from the Master Jenkins.

      In the jenkins-slave.err we saw always following entries.

       Feb 11, 2020 2:54:45 PM hudson.remoting.jnlp.Main$CuiListener status
      INFO: Locating server among [https://ci.int.ourdomain.com/, http://jenkins01.srv.ourinternal-domain.com:8080/jenkins/]
      Feb 11, 2020 2:54:46 PM org.jenkinsci.remoting.engine.JnlpAgentEndpointResolver resolve
      INFO: Remoting server accepts the following protocols: [JNLP4-connect, Ping]
      Feb 11, 2020 2:54:46 PM hudson.remoting.jnlp.Main$CuiListener status
      INFO: Agent discovery successful
        Agent address: jenkins01.srv.ourinternal-domain.com
        Agent port:    56040
        Identity:      33:39:f4:53:30:70:43:93:cd:86:31:ca:86:bd:bf:76
      Feb 11, 2020 2:54:46 PM hudson.remoting.jnlp.Main$CuiListener status
      INFO: Handshaking
      Feb 11, 2020 2:54:46 PM hudson.remoting.jnlp.Main$CuiListener status
      INFO: Connecting to jenkins01.srv.ourinternal-domain.com:56040
      Feb 11, 2020 2:54:46 PM hudson.remoting.jnlp.Main$CuiListener status
      INFO: Trying protocol: JNLP4-connect
      Feb 11, 2020 2:54:46 PM hudson.remoting.jnlp.Main$CuiListener status
      INFO: Remote identity confirmed: 33:39:f4:53:30:70:43:93:cd:86:31:ca:86:bd:bf:76
      Feb 11, 2020 2:54:47 PM hudson.remoting.jnlp.Main$CuiListener status
      INFO: Connected
      Feb 11, 2020 2:55:49 PM hudson.remoting.jnlp.Main createEngine
      INFO: Setting up agent: jenkins03
      

      The Master had sent the external and also the internal URL.

      https://ci.int.ourdomain.com/, http://jenkins01.srv.ourinternal-domain.com:8080/jenkins/

       

      Now the Agent gets only the external Domain from the Master.

      Sep 11, 2020 9:05:22 AM hudson.remoting.jnlp.Main$CuiListener statusSep 11, 2020 9:05:22 AM hudson.remoting.jnlp.Main$CuiListener statusINFO: Locating server among [https://ci.int.ourdomain.com/jenkins/]Sep 11, 2020 9:05:22 AM org.jenkinsci.remoting.engine.JnlpAgentEndpointResolver resolveINFO: Remoting server accepts the following protocols: [JNLP4-connect, Ping]Sep 11, 2020 9:05:23 AM org.jenkinsci.remoting.engine.JnlpAgentEndpointResolver isPortVisibleWARNING: Connection refused: connectSep 11, 2020 9:05:23 AM hudson.remoting.jnlp.Main$CuiListener errorSEVERE: https://ci.int.ourdomain.com/jenkins/ provided port:8081 is not reachablejava.io.IOException: https://ci.int.ourdomain.com/jenkins/ provided port:8081 is not reachable at org.jenkinsci.remoting.engine.JnlpAgentEndpointResolver.resolve(JnlpAgentEndpointResolver.java:314) at hudson.remoting.Engine.innerRun(Engine.java:694) at hudson.remoting.Engine.run(Engine.java:519)

      Now we have to open a Port (8081 in our case) on our external Reverse Proxy but we would not like to open it.

      Why was this changed ?

          [JENKINS-63671] With Version 2.249.1 LTS the the Remote Agent over JNLP does not use the internal Hostname anymore

          Claus Köll created issue -
          Claus Köll made changes -
          Description Original: We have running our remote agent on windows over jnlp.

          Before 2.249.1 LTS the remote Agent got two URL's from the Master Jenkins.

          In the jenkins-slave.err we was always saw following entries.
          {code:java}
           Feb 11, 2020 2:54:45 PM hudson.remoting.jnlp.Main$CuiListener status
          INFO: Locating server among [https://ci.int.ourdomain.com/, http://jenkins01.srv.ourinternal-domain.com:8080/jenkins/]
          Feb 11, 2020 2:54:46 PM org.jenkinsci.remoting.engine.JnlpAgentEndpointResolver resolve
          INFO: Remoting server accepts the following protocols: [JNLP4-connect, Ping]
          Feb 11, 2020 2:54:46 PM hudson.remoting.jnlp.Main$CuiListener status
          INFO: Agent discovery successful
            Agent address: jenkins01.srv.ourinternal-domain.com
            Agent port: 56040
            Identity: 33:39:f4:53:30:70:43:93:cd:86:31:ca:86:bd:bf:76
          Feb 11, 2020 2:54:46 PM hudson.remoting.jnlp.Main$CuiListener status
          INFO: Handshaking
          Feb 11, 2020 2:54:46 PM hudson.remoting.jnlp.Main$CuiListener status
          INFO: Connecting to jenkins01.srv.ourinternal-domain.com:56040
          Feb 11, 2020 2:54:46 PM hudson.remoting.jnlp.Main$CuiListener status
          INFO: Trying protocol: JNLP4-connect
          Feb 11, 2020 2:54:46 PM hudson.remoting.jnlp.Main$CuiListener status
          INFO: Remote identity confirmed: 33:39:f4:53:30:70:43:93:cd:86:31:ca:86:bd:bf:76
          Feb 11, 2020 2:54:47 PM hudson.remoting.jnlp.Main$CuiListener status
          INFO: Connected
          Feb 11, 2020 2:55:49 PM hudson.remoting.jnlp.Main createEngine
          INFO: Setting up agent: jenkins03
          {code}
          The Master had sent the external and also the internal URL.

          https://ci.int.ourdomain.com/, http://jenkins01.srv.ourinternal-domain.com:8080/jenkins/

           

          Now the Agent gets only the external Domain from the Master.
          {code:java}
          Sep 11, 2020 9:05:22 AM hudson.remoting.jnlp.Main$CuiListener statusSep 11, 2020 9:05:22 AM hudson.remoting.jnlp.Main$CuiListener statusINFO: Locating server among [https://ci.int.ourdomain.com/jenkins/]Sep 11, 2020 9:05:22 AM org.jenkinsci.remoting.engine.JnlpAgentEndpointResolver resolveINFO: Remoting server accepts the following protocols: [JNLP4-connect, Ping]Sep 11, 2020 9:05:23 AM org.jenkinsci.remoting.engine.JnlpAgentEndpointResolver isPortVisibleWARNING: Connection refused: connectSep 11, 2020 9:05:23 AM hudson.remoting.jnlp.Main$CuiListener errorSEVERE: https://ci.int.ourdomain.com/jenkins/ provided port:8081 is not reachablejava.io.IOException: https://ci.int.ourdomain.com/jenkins/ provided port:8081 is not reachable at org.jenkinsci.remoting.engine.JnlpAgentEndpointResolver.resolve(JnlpAgentEndpointResolver.java:314) at hudson.remoting.Engine.innerRun(Engine.java:694) at hudson.remoting.Engine.run(Engine.java:519){code}
          Now we have to open a Port (8081 in our case) on our external Reverse Proxy but we would not like to open it.

          Why was this changed ?
          New: We have running our remote agent on windows over jnlp.

          Before 2.249.1 LTS the remote Agent got two URL's from the Master Jenkins.

          In the jenkins-slave.err we saw always following entries.
          {code:java}
           Feb 11, 2020 2:54:45 PM hudson.remoting.jnlp.Main$CuiListener status
          INFO: Locating server among [https://ci.int.ourdomain.com/, http://jenkins01.srv.ourinternal-domain.com:8080/jenkins/]
          Feb 11, 2020 2:54:46 PM org.jenkinsci.remoting.engine.JnlpAgentEndpointResolver resolve
          INFO: Remoting server accepts the following protocols: [JNLP4-connect, Ping]
          Feb 11, 2020 2:54:46 PM hudson.remoting.jnlp.Main$CuiListener status
          INFO: Agent discovery successful
            Agent address: jenkins01.srv.ourinternal-domain.com
            Agent port: 56040
            Identity: 33:39:f4:53:30:70:43:93:cd:86:31:ca:86:bd:bf:76
          Feb 11, 2020 2:54:46 PM hudson.remoting.jnlp.Main$CuiListener status
          INFO: Handshaking
          Feb 11, 2020 2:54:46 PM hudson.remoting.jnlp.Main$CuiListener status
          INFO: Connecting to jenkins01.srv.ourinternal-domain.com:56040
          Feb 11, 2020 2:54:46 PM hudson.remoting.jnlp.Main$CuiListener status
          INFO: Trying protocol: JNLP4-connect
          Feb 11, 2020 2:54:46 PM hudson.remoting.jnlp.Main$CuiListener status
          INFO: Remote identity confirmed: 33:39:f4:53:30:70:43:93:cd:86:31:ca:86:bd:bf:76
          Feb 11, 2020 2:54:47 PM hudson.remoting.jnlp.Main$CuiListener status
          INFO: Connected
          Feb 11, 2020 2:55:49 PM hudson.remoting.jnlp.Main createEngine
          INFO: Setting up agent: jenkins03
          {code}
          The Master had sent the external and also the internal URL.

          [https://ci.int.ourdomain.com/], [http://jenkins01.srv.ourinternal-domain.com:8080/jenkins/]

           

          Now the Agent gets only the external Domain from the Master.
          {code:java}
          Sep 11, 2020 9:05:22 AM hudson.remoting.jnlp.Main$CuiListener statusSep 11, 2020 9:05:22 AM hudson.remoting.jnlp.Main$CuiListener statusINFO: Locating server among [https://ci.int.ourdomain.com/jenkins/]Sep 11, 2020 9:05:22 AM org.jenkinsci.remoting.engine.JnlpAgentEndpointResolver resolveINFO: Remoting server accepts the following protocols: [JNLP4-connect, Ping]Sep 11, 2020 9:05:23 AM org.jenkinsci.remoting.engine.JnlpAgentEndpointResolver isPortVisibleWARNING: Connection refused: connectSep 11, 2020 9:05:23 AM hudson.remoting.jnlp.Main$CuiListener errorSEVERE: https://ci.int.ourdomain.com/jenkins/ provided port:8081 is not reachablejava.io.IOException: https://ci.int.ourdomain.com/jenkins/ provided port:8081 is not reachable at org.jenkinsci.remoting.engine.JnlpAgentEndpointResolver.resolve(JnlpAgentEndpointResolver.java:314) at hudson.remoting.Engine.innerRun(Engine.java:694) at hudson.remoting.Engine.run(Engine.java:519){code}
          Now we have to open a Port (8081 in our case) on our external Reverse Proxy but we would not like to open it.

          Why was this changed ?
          Claus Köll made changes -
          Link New: This issue relates to JENKINS-63656 [ JENKINS-63656 ]

          Claus Köll added a comment -

          With the tunnel option described in the linked issue the agent is working again.

          Claus Köll added a comment - With the tunnel option described in the linked issue the agent is working again.
          Claus Köll made changes -
          Resolution New: Fixed [ 1 ]
          Status Original: Open [ 1 ] New: Fixed but Unreleased [ 10203 ]
          Mark Waite made changes -
          Remote Link New: This issue links to "Jenkins 2.249.1 upgrade guide description (Web Link)" [ 25911 ]

          Mark Waite added a comment -

          A new entry was added to the Jenkins 2.249.1 upgrade guide after release to describe the issue

          Mark Waite added a comment - A new entry was added to the Jenkins 2.249.1 upgrade guide after release to describe the issue
          Mark Waite made changes -
          Status Original: Fixed but Unreleased [ 10203 ] New: Closed [ 6 ]

          Mark Waite added a comment -

          The changes needed for websocket support required that the extra URL no longer be provided.

          Mark Waite added a comment - The changes needed for websocket support required that the extra URL no longer be provided.
          Mark Waite made changes -
          Link New: This issue is caused by JENKINS-63014 [ JENKINS-63014 ]

            jthompson Jeff Thompson
            c_koell Claus Köll
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: