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

When using multiple updateSites, tool installer download fails if one UC is missing installers

    Details

    • Similar Issues:

      Description

      • I have multiple update sites, which contain different plugins
      • One of sites ("my-embedded-update-site" in my case) does not provide neither Gradle plugin nor its tool installers
      • During the plugin installation Jenkins tries to download the tool installer from this site and fails with error
      • Tool installer is missing after it

      Jenkins should not fail the ToolInstaller download if one plugin update site provides such tool installer.

      Log example:

      INFO: Attempting to dynamic load /Users/nenashev/Documents/my-war/tmp/plugins/gradle.jpi
      May 17, 2016 1:09:33 PM hudson.model.DownloadService$Downloadable updateNow
      WARNING: Could not load json from file:/Users/nenashev/Documents/my-war/tmp/my-embedded-update-site/updates/hudson.plugins.gradle.GradleInstaller.json
      java.io.FileNotFoundException: /Users/nenashev/Documents/my-war/tmp/my-embedded-update-site/updates/hudson.plugins.gradle.GradleInstaller.json.html (No such file or directory)
      	at java.io.FileInputStream.open0(Native Method)
      	at java.io.FileInputStream.open(FileInputStream.java:195)
      	at java.io.FileInputStream.<init>(FileInputStream.java:138)
      	at java.io.FileInputStream.<init>(FileInputStream.java:93)
      	at sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:90)
      	at sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:188)
      	at hudson.model.DownloadService.loadJSONHTML(DownloadService.java:189)
      	at hudson.model.DownloadService$Downloadable.updateNow(DownloadService.java:403)
      	at hudson.model.DownloadService$DownloadableListener.onChange(DownloadService.java:231)
      	at hudson.ExtensionList.fireOnChangeListeners(ExtensionList.java:328)
      	at hudson.ExtensionList.add(ExtensionList.java:246)
      	at hudson.tools.DownloadFromUrlInstaller$DescriptorImpl.<init>(DownloadFromUrlInstaller.java:127)
      	at hudson.plugins.gradle.GradleInstaller$DescriptorImpl.<init>(GradleInstaller.java:18)
      	at hudson.plugins.gradle.GradleInstaller$DescriptorImpl$$FastClassByGuice$$7d2e75b8.newInstance(<generated>)
      	at com.google.inject.internal.cglib.reflect.$FastConstructor.newInstance(FastConstructor.java:40)
      	at com.google.inject.internal.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:61)
      	at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:108)
      	at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:88)
      	at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:269)
      	at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
      	at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1058)
      	at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
      	at com.google.inject.Scopes$1$1.get(Scopes.java:65)
      	at hudson.ExtensionFinder$GuiceFinder$FaultTolerantScope$1.get(ExtensionFinder.java:424)
      	at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41)
      	at com.google.inject.internal.InjectorImpl$3$1.call(InjectorImpl.java:1005)
      	at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1051)
      	at com.google.inject.internal.InjectorImpl$3.get(InjectorImpl.java:1001)
      	at hudson.ExtensionFinder$GuiceFinder._find(ExtensionFinder.java:386)
      	at hudson.ExtensionFinder$GuiceFinder.access$000(ExtensionFinder.java:232)
      	at hudson.ExtensionFinder$GuiceFinder$3.find(ExtensionFinder.java:341)
      	at jenkins.ExtensionComponentSet$3.find(ExtensionComponentSet.java:98)
      	at jenkins.ExtensionComponentSet$1.find(ExtensionComponentSet.java:70)
      	at hudson.ExtensionList.load(ExtensionList.java:356)
      	at hudson.ExtensionList.refresh(ExtensionList.java:312)
      	at jenkins.model.Jenkins.refreshExtensions(Jenkins.java:2416)
      	at hudson.PluginManager.dynamicLoad(PluginManager.java:824)
      	at hudson.PluginManager.dynamicLoad(PluginManager.java:772)
      	at hudson.model.UpdateCenter$InstallationJob._run(UpdateCenter.java:1832)
      	at hudson.model.UpdateCenter$DownloadJob.run(UpdateCenter.java:1593)
      	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      	at hudson.remoting.AtmostOneThreadExecutor$Worker.run(AtmostOneThreadExecutor.java:110)
      	at java.lang.Thread.run(Thread.java:745)
      

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                varmenise valentina armenise
                Reporter:
                oleg_nenashev Oleg Nenashev
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: