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

Slave unable to download tools through proxy

    XMLWordPrintable

Details

    • Bug
    • Status: Resolved (View Workflow)
    • Major
    • Resolution: Not A Defect
    • core
    • None
    • Running Jenkins LTS 1.509.2
      Master on Windows Server 2008
      Slave on Windows XP

    Description

      I've been trying to automatically install groovy on a slave and get the error below.

      I can manually download the file on the slave quite happily when logged in under the user account that jenkins runs under.
      We do have a virus scanner (which can be quite slow) which automatically scans any downloaded files.
      We do have a corporate proxy server, Jenkins is configured to use it and can download plugins quite happily. I also ran the job that requires groovy on master and it downloaded and installed groovy

      This seems to be related to JENKINS-9340 which has been marked as resolved.

      [EnvInject] - Loading node environment variables.
      Building remotely on CusmodAAT_WHOS189 in workspace c:\jenkins\workspace\JBMS-Nigel-test-AAT
      Unpacking http://dist.groovy.codehaus.org/distributions/groovy-binary-2.1.5.zip to c:\jenkins\tools\hudson.plugins.groovy.GroovyInstallation\Groovy_2.1.5 on CusmodAAT_WHOS189

      ERROR: Failed to download http://dist.groovy.codehaus.org/distributions/groovy-binary-2.1.5.zip from slave; will retry from master
      hudson.util.IOException2: remote file operation failed: c:\jenkins\tools\hudson.plugins.groovy.GroovyInstallation\Groovy_2.1.5 at hudson.remoting.Channel@87c24a:CusmodAAT_WHOS189
      at hudson.FilePath.act(FilePath.java:900)
      at hudson.FilePath.act(FilePath.java:877)
      at hudson.FilePath.installIfNecessaryFrom(FilePath.java:731)
      at hudson.tools.DownloadFromUrlInstaller.performInstallation(DownloadFromUrlInstaller.java:72)
      at hudson.tools.InstallerTranslator.getToolHome(InstallerTranslator.java:61)
      at hudson.tools.ToolLocationNodeProperty.getToolHome(ToolLocationNodeProperty.java:107)
      at hudson.tools.ToolInstallation.translateFor(ToolInstallation.java:203)
      at hudson.plugins.groovy.GroovyInstallation.forNode(GroovyInstallation.java:70)
      at hudson.plugins.groovy.Groovy.buildCommandLine(Groovy.java:284)
      at hudson.plugins.groovy.Groovy.perform(Groovy.java:79)
      at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:19)
      at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:802)
      at hudson.model.Build$BuildExecution.build(Build.java:199)
      at hudson.model.Build$BuildExecution.doRun(Build.java:160)
      at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:584)
      at hudson.model.Run.execute(Run.java:1575)
      at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
      at hudson.model.ResourceController.execute(ResourceController.java:88)
      at hudson.model.Executor.run(Executor.java:237)
      Caused by: java.net.ConnectException: Connection timed out: connect
      at java.net.TwoStacksPlainSocketImpl.socketConnect(Native Method)
      at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
      at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
      at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
      at java.net.PlainSocketImpl.connect(Unknown Source)
      at java.net.SocksSocketImpl.connect(Unknown Source)
      at java.net.Socket.connect(Unknown Source)
      at java.net.Socket.connect(Unknown Source)
      at sun.net.NetworkClient.doConnect(Unknown Source)
      at sun.net.www.http.HttpClient.openServer(Unknown Source)
      at sun.net.www.http.HttpClient.openServer(Unknown Source)
      at sun.net.www.http.HttpClient.<init>(Unknown Source)
      at sun.net.www.http.HttpClient.New(Unknown Source)
      at sun.net.www.http.HttpClient.New(Unknown Source)
      at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(Unknown Source)
      at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)
      at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source)
      at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
      at java.net.URL.openStream(Unknown Source)
      at hudson.FilePath$Unpack.invoke(FilePath.java:766)
      at hudson.FilePath$Unpack.invoke(FilePath.java:760)
      at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2387)
      at hudson.remoting.UserRequest.perform(UserRequest.java:118)
      at hudson.remoting.UserRequest.perform(UserRequest.java:48)
      at hudson.remoting.Request$2.run(Request.java:326)
      at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
      at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
      at java.util.concurrent.FutureTask.run(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
      at hudson.remoting.Engine$1$1.run(Engine.java:58)
      at java.lang.Thread.run(Unknown Source)

      Attachments

        Issue Links

          Activity

            jglick Jesse Glick added a comment -

            As designed. Jenkins first tries a direct download from the slave, using no proxy information other than what the Java runtime might pick up automatically (or you might have configured in the slave launcher). If that fails, it falls back to the slower method of downloading from the master (using the Jenkins proxy configuration) and streaming that through the remoting channel to the slave.

            jglick Jesse Glick added a comment - As designed. Jenkins first tries a direct download from the slave, using no proxy information other than what the Java runtime might pick up automatically (or you might have configured in the slave launcher). If that fails, it falls back to the slower method of downloading from the master (using the Jenkins proxy configuration) and streaming that through the remoting channel to the slave.

            People

              Unassigned Unassigned
              andrewsumner Andrew Sumner
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: