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

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

    XMLWordPrintable

Details

    • Bug
    • Status: Resolved (View Workflow)
    • Major
    • Resolution: Cannot Reproduce
    • core
    • None
    • Windows Server 2008, Tomcat 7, Java 1.6

    Description

      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>

      Attachments

        Issue Links

          Activity

            cforce cforce created issue -

            Code changed in jenkins
            User: Kohsuke Kawaguchi
            Path:
            core/src/main/java/hudson/model/UpdateCenter.java
            http://jenkins-ci.org/commit/jenkins/9bcf9b0bfba9089a62a701c1137b44493bc9a4ec
            Log:
            [FIXED JENKINS-11598] improving the error diagnostics.

            Note that the root cause isn't in Jenkins. See "Caused by: java.net.ConnectException: Connection refused: connect" line that indicates a problem in the network connectivity. But this change improves the error diagnostics.

            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Kohsuke Kawaguchi Path: core/src/main/java/hudson/model/UpdateCenter.java http://jenkins-ci.org/commit/jenkins/9bcf9b0bfba9089a62a701c1137b44493bc9a4ec Log: [FIXED JENKINS-11598] improving the error diagnostics. Note that the root cause isn't in Jenkins. See "Caused by: java.net.ConnectException: Connection refused: connect" line that indicates a problem in the network connectivity. But this change improves the error diagnostics.
            scm_issue_link SCM/JIRA link daemon made changes -
            Field Original Value New Value
            Resolution Fixed [ 1 ]
            Status Open [ 1 ] Resolved [ 5 ]
            dogfood 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 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 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 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 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 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 cforce made changes -
            Summary Updating Plugins from plugins mirror and own update-center.json does not work anymore [Connection refused: connect, Caught exception evaluating: descriptor.getPropertyType(instance,field).itemTypeDescriptorOrDie. Reason: java.lang.reflect.InvocationTarge] Updating Plugins from plugins mirror and own update-center.json does not work
            cforce cforce added a comment -

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

            cforce cforce added a comment - Seems as user defined json seems to be ignored in some case i don't know
            cforce cforce made changes -
            Assignee Kohsuke Kawaguchi [ kohsuke2 ]
            Resolution Fixed [ 1 ]
            Status Resolved [ 5 ] Reopened [ 4 ]
            garen Garen Parham made changes -
            Link This issue is related to JENKINS-8596 [ JENKINS-8596 ]
            garen Garen Parham made changes -
            Link This issue is related to JENKINS-9320 [ JENKINS-9320 ]
            cforce 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 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 cforce added a comment -

            Any Update here, someone?

            cforce cforce added a comment - Any Update here, someone?
            hihui 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.

            hihui 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.
            jburrows 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?

            jburrows 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?
            ircbot Jenkins IRC Bot made changes -
            Component/s core [ 15593 ]
            Component/s update-center [ 15629 ]
            danielbeck 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

            danielbeck 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
            danielbeck 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.

            danielbeck 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.
            danielbeck Daniel Beck made changes -
            Resolution Cannot Reproduce [ 5 ]
            Status Reopened [ 4 ] Resolved [ 5 ]
            rtyler R. Tyler Croy made changes -
            Workflow JNJira [ 141841 ] JNJira + In-Review [ 189841 ]

            People

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

              Dates

                Created:
                Updated:
                Resolved: