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

Updating Plugins from plugins mirror and own update-center.json does not work

    • Icon: Bug Bug
    • Resolution: Cannot Reproduce
    • Icon: Major Major
    • core
    • None
    • Windows Server 2008, Tomcat 7, Java 1.6

      We run oor Jenkis Server in DMZ (Intranet), where direct Internet access is not allowed, so we can't update plugin direct from web with admin console. We are mirroring (see attached script wget_plugins.sh to do the job) the public Jenkins plugins server and rewrite the original jenkins update-center.json, this way that we repalce all hpi urls with the urls that point on our server (see attached script symlink_plugins.sh to do that job). We then configure new update-center urls in our jenkins amdin cosnole to point on our ApacheServer wioth our modified update-center.json file.
      This whole thing worked for about 3 months. We did several jenkins updates and we don't know since what jenkins version but now this stopped working.
      We get following expetion when trying to update the plugins, wher new version are shows as available in admin console in browser.

      Nov 3, 2011 12:17:02 PM hudson.model.UpdateCenter$DownloadJob run
      SEVERE: Failed to install Email-ext plugin
      java.net.ConnectException: Connection refused: connect
      at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
      at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
      at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
      at java.lang.reflect.Constructor.newInstance(Unknown Source)
      at sun.net.www.protocol.http.HttpURLConnection$6.run(Unknown Source)
      at java.security.AccessController.doPrivileged(Native Method)
      at sun.net.www.protocol.http.HttpURLConnection.getChainedException(Unknown Source)
      at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
      at hudson.model.UpdateCenter$UpdateCenterConfiguration.download(UpdateCenter.java:624)
      at hudson.model.UpdateCenter$DownloadJob._run(UpdateCenter.java:967)
      at hudson.model.UpdateCenter$InstallationJob._run(UpdateCenter.java:1075)
      at hudson.model.UpdateCenter$DownloadJob.run(UpdateCenter.java:949)
      at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
      at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
      at java.util.concurrent.FutureTask.run(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
      at java.lang.Thread.run(Unknown Source)
      Caused by: java.net.ConnectException: Connection refused: connect
      at java.net.PlainSocketImpl.socketConnect(Native Method)
      at java.net.PlainSocketImpl.doConnect(Unknown Source)
      at java.net.PlainSocketImpl.connectToAddress(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 sun.net.www.protocol.http.HttpURLConnection.getHeaderField(Unknown Source)
      at java.net.URLConnection.getHeaderFieldInt(Unknown Source)
      at java.net.URLConnection.getContentLength(Unknown Source)
      at hudson.model.UpdateCenter$UpdateCenterConfiguration.download(UpdateCenter.java:623)
      ... 9 more
      Nov 3, 2011 12:17:01 PM hudson.model.UpdateCenter$DownloadJob run
      INFO: Starting the installation of Email-ext plugin on behalf of 00001276
      Nov 3, 2011 12:14:37 PM hudson.ExpressionFactory2$JexlExpression evaluate
      WARNING: Caught exception evaluating: descriptor.getPropertyType(instance,field).itemTypeDescriptorOrDie. Reason: java.lang.reflect.InvocationTargetException
      java.lang.reflect.InvocationTargetException
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      at java.lang.reflect.Method.invoke(Unknown Source)
      at org.apache.commons.jexl.util.PropertyExecutor.execute(PropertyExecutor.java:125)
      at org.apache.commons.jexl.util.introspection.UberspectImpl$VelGetterImpl.invoke(UberspectImpl.java:314)
      at org.apache.commons.jexl.parser.ASTArrayAccess.evaluateExpr(ASTArrayAccess.java:185)
      at org.apache.commons.jexl.parser.ASTIdentifier.execute(ASTIdentifier.java:75)
      at org.apache.commons.jexl.parser.ASTReference.execute(ASTReference.java:83)
      at org.apache.commons.jexl.parser.ASTReference.value(ASTReference.java:57)
      at org.apache.commons.jexl.parser.ASTReferenceExpression.value(ASTReferenceExpression.java:51)
      at org.apache.commons.jexl.ExpressionImpl.evaluate(ExpressionImpl.java:80)
      at hudson.ExpressionFactory2$JexlExpression.evaluate(ExpressionFactory2.java:72)
      at org.apache.commons.jelly.tags.core.CoreTagLibrary$3.run(CoreTagLibrary.java:134)
      at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
      at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:161)
      at org.apache.commons.jelly.tags.core.WhenTag.doTag(WhenTag.java:46)
      at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:270)
      at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
      at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:161)
      at org.apache.commons.jelly.tags.core.ChooseTag.doTag(ChooseTag.java:38)
      at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:270)
      at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
      at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
      at org.kohsuke.stapler.jelly.CallTagLibScript.run(CallTagLibScript.java:119)
      at org.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:98)
      at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(InvokeBodyTag.java:91)
      at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:270)
      at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)
      at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
      at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)
      at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
      at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
      at org.kohsuke.stapler.jelly.CallTagLibScript.run(CallTagLibScript.java:119)
      at org.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:98)
      at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(InvokeBodyTag.java:91)
      at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:270)
      at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
      at org.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:98)
      at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(InvokeBodyTag.java:91)
      at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:270)
      at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:161)
      at org.apache.commons.jelly.tags.core.WhenTag.doTag(WhenTag.java:46)
      at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:270)
      at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
      at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:161)
      at org.apache.commons.jelly.tags.core.ChooseTag.doTag(ChooseTag.java:38)
      at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:270)
      at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
      at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
      at org.kohsuke.stapler.jelly.CallTagLibScript.run(CallTagLibScript.java:119)
      at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
      at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
      at org.kohsuke.stapler.jelly.CallTagLibScript.run(CallTagLibScript.java:119)
      at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
      at org.kohsuke.stapler.jelly.JellyViewScript.run(JellyViewScript.java:63)
      at org.kohsuke.stapler.jelly.IncludeTag.doTag(IncludeTag.java:146)
      at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:270)
      at org.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:98)
      at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(InvokeBodyTag.java:91)
      at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:270)
      at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
      at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:161)
      at org.apache.commons.jelly.tags.core.OtherwiseTag.doTag(OtherwiseTag.java:41)
      at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:270)
      at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
      at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:161)
      at org.apache.commons.jelly.tags.core.ChooseTag.doTag(ChooseTag.java:38)
      at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:270)
      at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
      at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
      at org.kohsuke.stapler.jelly.CallTagLibScript.run(CallTagLibScript.java:119)
      at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
      at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:161)
      at org.apache.commons.jelly.tags.core.ForEachTag.doTag(ForEachTag.java:150)
      at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:270)
      at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
      at org.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:98)
      at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(InvokeBodyTag.java:91)
      at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:270)
      at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)
      at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)
      at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
      at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
      at org.kohsuke.stapler.jelly.CallTagLibScript.run(CallTagLibScript.java:119)
      at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
      at org.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:98)
      at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(InvokeBodyTag.java:91)
      at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:270)
      at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
      at org.apache.commons.jelly.tags.core.CoreTagLibrary$1.run(CoreTagLibrary.java:98)
      at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
      at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
      at org.kohsuke.stapler.jelly.CallTagLibScript.run(CallTagLibScript.java:119)
      at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
      at org.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:98)
      at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(InvokeBodyTag.java:91)
      at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:270)
      at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
      at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)
      at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
      at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)
      at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)
      at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
      at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)
      at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
      at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)
      at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
      at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
      at org.kohsuke.stapler.jelly.CallTagLibScript.run(CallTagLibScript.java:119)
      at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
      at org.kohsuke.stapler.jelly.JellyViewScript.run(JellyViewScript.java:63)
      at org.kohsuke.stapler.jelly.DefaultScriptInvoker.invokeScript(DefaultScriptInvoker.java:63)
      at org.kohsuke.stapler.jelly.DefaultScriptInvoker.invokeScript(DefaultScriptInvoker.java:53)
      at org.kohsuke.stapler.jelly.JellyFacet$1.dispatch(JellyFacet.java:92)
      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:561)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:646)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:477)
      at org.kohsuke.stapler.Stapler.service(Stapler.java:159)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:306)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
      at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:95)
      at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:157)
      at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:131)
      at net.bull.javamelody.PluginMonitoringFilter.doFilter(PluginMonitoringFilter.java:82)
      at org.jvnet.hudson.plugins.monitoring.HudsonMonitoringFilter.doFilter(HudsonMonitoringFilter.java:84)
      at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:98)
      at hudson.plugins.greenballs.GreenBallFilter.doFilter(GreenBallFilter.java:74)
      at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:98)
      at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:87)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:244)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
      at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:47)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:244)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
      at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:166)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      at org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      at org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:173)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      at jenkins.security.ApiTokenFilter.doFilter(ApiTokenFilter.java:61)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
      at hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:66)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76)
      at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:164)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:244)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
      at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:244)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)
      at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:496)
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
      at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:541)
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:383)
      at org.apache.coyote.ajp.AjpAprProcessor.process(AjpAprProcessor.java:283)
      at org.apache.coyote.ajp.AjpAprProtocol$AjpConnectionHandler.process(AjpAprProtocol.java:189)
      at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1684)
      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
      at java.lang.Thread.run(Unknown Source)
      Caused by: java.lang.AssertionError: null is missing its descriptor
      at jenkins.model.Jenkins.getDescriptorOrDie(Jenkins.java:1077)
      at hudson.model.Descriptor$PropertyType.getItemTypeDescriptorOrDie(Descriptor.java:187)
      ... 175 more
      Nov 3, 2011 10:57:18 AM hudson.WebAppMain$2 run
      INFO: Jenkins is fully up and running
      Nov 3, 2011 10:57:07 AM hudson.TcpSlaveAgentListener <init>

          [JENKINS-11598] Updating Plugins from plugins mirror and own update-center.json does not work

          dogfood added a comment -

          Integrated in jenkins_main_trunk #1329
          [FIXED JENKINS-11598] improving the error diagnostics.

          Kohsuke Kawaguchi : 9bcf9b0bfba9089a62a701c1137b44493bc9a4ec
          Files :

          • core/src/main/java/hudson/model/UpdateCenter.java

          dogfood added a comment - Integrated in jenkins_main_trunk #1329 [FIXED JENKINS-11598] improving the error diagnostics. Kohsuke Kawaguchi : 9bcf9b0bfba9089a62a701c1137b44493bc9a4ec Files : core/src/main/java/hudson/model/UpdateCenter.java

          cforce added a comment -

          I wtached the new jenkins versions, but can't find a hint in changelog till 1.442. Whe ist that gonna be released?

          cforce added a comment - I wtached the new jenkins versions, but can't find a hint in changelog till 1.442. Whe ist that gonna be released?

          cforce added a comment -

          I installed updtodate trunk version (http://ci.jenkins-ci.org/job/jenkins_main_trunk/1329/artifact/war/target/jenkins.war) and get this error message now:

          Monitoring
          Fehlgeschlagen -
          hudson.util.IOException2: Failed to download from http://updates.jenkins-ci.org/download/plugins/monitoring/1.31.0/monitoring.hpi
          at hudson.model.UpdateCenter$UpdateCenterConfiguration.download(UpdateCenter.java:658)
          at hudson.model.UpdateCenter$DownloadJob._run(UpdateCenter.java:977)
          at hudson.model.UpdateCenter$InstallationJob._run(UpdateCenter.java:1115)
          at hudson.model.UpdateCenter$DownloadJob.run(UpdateCenter.java:956)
          at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
          at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
          at java.util.concurrent.FutureTask.run(Unknown Source)
          at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
          at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
          at java.lang.Thread.run(Unknown Source)
          Caused by: java.net.ConnectException: Connection refused: connect
          at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
          at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
          at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
          at java.lang.reflect.Constructor.newInstance(Unknown Source)
          at sun.net.www.protocol.http.HttpURLConnection$6.run(Unknown Source)
          at java.security.AccessController.doPrivileged(Native Method)
          at sun.net.www.protocol.http.HttpURLConnection.getChainedException(Unknown Source)
          at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
          at hudson.model.UpdateCenter$UpdateCenterConfiguration.download(UpdateCenter.java:628)
          ... 9 more
          Caused by: java.net.ConnectException: Connection refused: connect
          at java.net.PlainSocketImpl.socketConnect(Native Method)
          at java.net.PlainSocketImpl.doConnect(Unknown Source)
          at java.net.PlainSocketImpl.connectToAddress(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 sun.net.www.protocol.http.HttpURLConnection.getHeaderField(Unknown Source)
          at java.net.URLConnection.getHeaderFieldInt(Unknown Source)
          at java.net.URLConnection.getContentLength(Unknown Source)
          at hudson.model.UpdateCenter$UpdateCenterConfiguration.download(UpdateCenter.java:627)

          In fact it is not possible to download from internet, because the server has no acces to the internet. But where the hell does this URL come from? In the Update Center update site settings in have our own http://our.domain/jenkins-update/update-center.json configured! If i search for "monitoring.hpi" in this json file i get the snippet:

          "monitoring":{"buildDate":"Nov 29, 2011","dependencies":[],"developers":[

          {"developerId":"evernat","email":"evernat@free.fr","name":"Emeric Vernat"}

          ],"excerpt":"Monitoring plugin: Monitoring of Hudson / Jenkins itself with <a href='http://javamelody.googlecode.com'>JavaMelody<\/a>. Open the <a href='http://localhost:8080/monitoring'>report<\/a> (or http://yourhost/monitoring) after installation. ","labels":["misc"],"name":"monitoring","previousTimestamp":"2011-10-15T03:51:20.00Z","previousVersion":"1.32.1","releaseTimestamp":"2011-11-29T05:40:00.00Z","requiredCore":"1.388","scm":"svn.jenkins-ci.org","sha1":"KkK4ZSSQgrR/33kllACAvsqVIJk=","title":"Monitoring","url":"http://our.domain//jenkins-update/plugins/monitoring/1.33.0/monitoring.hpi","version":"1.33.0","wiki":"https://wiki.jenkins-ci.org/display/JENKINS/Monitoring"}

          So why doesN#t i take this plugin update information but some (internal hard coded or cached) other json, whereever from?

          cforce added a comment - I installed updtodate trunk version ( http://ci.jenkins-ci.org/job/jenkins_main_trunk/1329/artifact/war/target/jenkins.war ) and get this error message now: Monitoring Fehlgeschlagen - hudson.util.IOException2: Failed to download from http://updates.jenkins-ci.org/download/plugins/monitoring/1.31.0/monitoring.hpi at hudson.model.UpdateCenter$UpdateCenterConfiguration.download(UpdateCenter.java:658) at hudson.model.UpdateCenter$DownloadJob._run(UpdateCenter.java:977) at hudson.model.UpdateCenter$InstallationJob._run(UpdateCenter.java:1115) at hudson.model.UpdateCenter$DownloadJob.run(UpdateCenter.java:956) at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) at java.util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Caused by: java.net.ConnectException: Connection refused: connect at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Unknown Source) at sun.net.www.protocol.http.HttpURLConnection$6.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at sun.net.www.protocol.http.HttpURLConnection.getChainedException(Unknown Source) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source) at hudson.model.UpdateCenter$UpdateCenterConfiguration.download(UpdateCenter.java:628) ... 9 more Caused by: java.net.ConnectException: Connection refused: connect at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.PlainSocketImpl.doConnect(Unknown Source) at java.net.PlainSocketImpl.connectToAddress(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 sun.net.www.protocol.http.HttpURLConnection.getHeaderField(Unknown Source) at java.net.URLConnection.getHeaderFieldInt(Unknown Source) at java.net.URLConnection.getContentLength(Unknown Source) at hudson.model.UpdateCenter$UpdateCenterConfiguration.download(UpdateCenter.java:627) In fact it is not possible to download from internet, because the server has no acces to the internet. But where the hell does this URL come from? In the Update Center update site settings in have our own http://our.domain/jenkins-update/update-center.json configured! If i search for "monitoring.hpi" in this json file i get the snippet: "monitoring":{"buildDate":"Nov 29, 2011","dependencies":[],"developers":[ {"developerId":"evernat","email":"evernat@free.fr","name":"Emeric Vernat"} ],"excerpt":"Monitoring plugin: Monitoring of Hudson / Jenkins itself with <a href='http://javamelody.googlecode.com'>JavaMelody<\/a>. Open the <a href='http://localhost:8080/monitoring'>report<\/a> (or http://yourhost/monitoring ) after installation. ","labels": ["misc"] ,"name":"monitoring","previousTimestamp":"2011-10-15T03:51:20.00Z","previousVersion":"1.32.1","releaseTimestamp":"2011-11-29T05:40:00.00Z","requiredCore":"1.388","scm":"svn.jenkins-ci.org","sha1":"KkK4ZSSQgrR/33kllACAvsqVIJk=","title":"Monitoring","url":"http://our.domain//jenkins-update/plugins/monitoring/1.33.0/monitoring.hpi","version":"1.33.0","wiki":"https://wiki.jenkins-ci.org/display/JENKINS/Monitoring"} So why doesN#t i take this plugin update information but some (internal hard coded or cached) other json, whereever from?

          cforce added a comment -

          Seems as user defined json seems to be ignored in some case i don't know

          cforce added a comment - Seems as user defined json seems to be ignored in some case i don't know

          cforce added a comment -

          I think i found the cause

          Jun 5, 2012 8:35:35 AM hudson.model.UpdateSite doPostBack
          SEVERE: <div class=error><img src='/jenkins/static/94dbdb64/images/none.gif' height=16 width=1>Digest mismatch: Q+ejIVBw/42JwLVOxctt7TC38cw= vs jccSvBIyYEZqMMXc2xms5J+jo5E= in update center 'default'</div>
          Jun 5, 2012 8:40:41 AM hudson.model.UpdateCenter$DownloadJob run

          The worng md5 is caused by my urls search replace modification in the json file. In result a standard (embedded) json file urls i used and server tries again to sintall from internet instead from our local mirror.

          Ho can i rcreate the json file with another plugin update root path (our mirror)
          I found a plugin (https://github.com/junoyoon/simpleupdatesiterepo/) which support creation of json file but only to single hpi files not for complete jenkins update site mirror.

          We need a tuturial how to create jenkins update mirror, esecpeciall doc how to create own mirro json indexd update file for end users.

          cforce added a comment - I think i found the cause Jun 5, 2012 8:35:35 AM hudson.model.UpdateSite doPostBack SEVERE: <div class=error><img src='/jenkins/static/94dbdb64/images/none.gif' height=16 width=1>Digest mismatch: Q+ejIVBw/42JwLVOxctt7TC38cw= vs jccSvBIyYEZqMMXc2xms5J+jo5E= in update center 'default'</div> Jun 5, 2012 8:40:41 AM hudson.model.UpdateCenter$DownloadJob run The worng md5 is caused by my urls search replace modification in the json file. In result a standard (embedded) json file urls i used and server tries again to sintall from internet instead from our local mirror. Ho can i rcreate the json file with another plugin update root path (our mirror) I found a plugin ( https://github.com/junoyoon/simpleupdatesiterepo/ ) which support creation of json file but only to single hpi files not for complete jenkins update site mirror. We need a tuturial how to create jenkins update mirror, esecpeciall doc how to create own mirro json indexd update file for end users.

          cforce added a comment -

          Any Update here, someone?

          cforce added a comment - Any Update here, someone?

          hui shen added a comment -

          Hi cforce, have you found a solution for this.
          We meet the same issue, our jenkins cannot access internet directly, and what's more we plan to develop some internal-used plugins which we will not like to publish to public; we'd like to use a mirror update-center, to download public plugin together with self-developed plugins, save them in the mirror center.
          However, jenkins alwalys report update-center.json (of course we modified the json file) is in wrong format, how to prepare a well-formated update-center.json.

          hui shen added a comment - Hi cforce, have you found a solution for this. We meet the same issue, our jenkins cannot access internet directly, and what's more we plan to develop some internal-used plugins which we will not like to publish to public; we'd like to use a mirror update-center, to download public plugin together with self-developed plugins, save them in the mirror center. However, jenkins alwalys report update-center.json (of course we modified the json file) is in wrong format, how to prepare a well-formated update-center.json.

          John Burrows added a comment -

          Bump.

          This is an issue for us as our IT people tighten connectivity, we now would like to setup an internal Jenkins mirror that can download the latest version updates of the war as well as plugin's and our internal Jenkins servers can point to the intranet for updates.

          Any update on some sort of documented process in order to achieve this available yet?

          John Burrows added a comment - Bump. This is an issue for us as our IT people tighten connectivity, we now would like to setup an internal Jenkins mirror that can download the latest version updates of the war as well as plugin's and our internal Jenkins servers can point to the intranet for updates. Any update on some sort of documented process in order to achieve this available yet?

          Daniel Beck added a comment -

          Is this still a problem?

          I mean, sure, the signature will not match if you patch the JSON data without fixing the signature, but that's a security measure. To disable this check, set the undocumented Java system property hudson.model.DownloadService.noSignatureCheck as described on this page: https://wiki.jenkins-ci.org/display/JENKINS/Features+controlled+by+system+properties

          Other than that, maybe this helps? It allows you to import different keys so you can actually sign your update center metadata so Jenkins can verify the signature.
          https://wiki.jenkins-ci.org/display/JENKINS/UpdateSites+Manager+plugin

          Daniel Beck added a comment - Is this still a problem? I mean, sure, the signature will not match if you patch the JSON data without fixing the signature, but that's a security measure. To disable this check, set the undocumented Java system property hudson.model.DownloadService.noSignatureCheck as described on this page: https://wiki.jenkins-ci.org/display/JENKINS/Features+controlled+by+system+properties Other than that, maybe this helps? It allows you to import different keys so you can actually sign your update center metadata so Jenkins can verify the signature. https://wiki.jenkins-ci.org/display/JENKINS/UpdateSites+Manager+plugin

          Daniel Beck added a comment -

          No response to comment in over a year.

          Please file a new issue if this is still a problem in recent Jenkins versions.

          Daniel Beck added a comment - No response to comment in over a year. Please file a new issue if this is still a problem in recent Jenkins versions.

            kohsuke2 Kohsuke Kawaguchi
            cforce cforce
            Votes:
            4 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated:
              Resolved: