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

JClouds failing after upgrade to 1.598

    XMLWordPrintable

Details

    Description

      After upgrading Jenkins to version 1.598 I see the following error when trying to provision a cloud node using the JClouds plugin and openstack. I believe it is related to PR #1453 where the newest version of Guice no longer allows overriding @Provides methods.

      javax.servlet.ServletException: com.google.inject.CreationException: Unable to create injector, see the following errors:
      
      1) Overriding @Provides methods is not allowed.
      	@Provides method: org.jclouds.logging.config.LoggingModule.createLoggerFactory()
      	overridden by: jenkins.plugins.jclouds.compute.JCloudsCloud$1.createLoggerFactory()
        at com.google.inject.internal.ProviderMethodsModule.getProviderMethods(ProviderMethodsModule.java:128)
      
      2) Overriding @Provides methods is not allowed.
      	@Provides method: org.jclouds.compute.config.BaseComputeServiceContextModule.osFamilyToCredentials()
      	overridden by: org.jclouds.openstack.nova.v2_0.compute.config.NovaComputeServiceContextModule.osFamilyToCredentials()
        at com.google.inject.internal.ProviderMethodsModule.getProviderMethods(ProviderMethodsModule.java:128)
      
      3) Overriding @Provides methods is not allowed.
      	@Provides method: org.jclouds.compute.config.BaseComputeServiceContextModule.provideTemplateOptions()
      	overridden by: org.jclouds.openstack.nova.v2_0.compute.config.NovaComputeServiceContextModule.provideTemplateOptions()
        at com.google.inject.internal.ProviderMethodsModule.getProviderMethods(ProviderMethodsModule.java:128)
      
      4) Overriding @Provides methods is not allowed.
      	@Provides method: org.jclouds.compute.config.BaseComputeServiceContextModule.provideImageExtension()
      	overridden by: org.jclouds.openstack.nova.v2_0.compute.config.NovaComputeServiceContextModule.provideImageExtension()
        at com.google.inject.internal.ProviderMethodsModule.getProviderMethods(ProviderMethodsModule.java:128)
      
      5) Overriding @Provides methods is not allowed.
      	@Provides method: org.jclouds.compute.config.BaseComputeServiceContextModule.provideSecurityGroupExtension()
      	overridden by: org.jclouds.openstack.nova.v2_0.compute.config.NovaComputeServiceContextModule.provideSecurityGroupExtension()
        at com.google.inject.internal.ProviderMethodsModule.getProviderMethods(ProviderMethodsModule.java:128)
      
      5 errors
      	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:796)
      	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
      	at org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:249)
      	at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
      	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
      	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
      	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:649)
      	at org.kohsuke.stapler.Stapler.service(Stapler.java:238)
      	at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
      	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:686)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1494)
      	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:123)
      	at hudson.plugins.audit_trail.AuditTrailFilter.doFilter(AuditTrailFilter.java:95)
      	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:120)
      	at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:198)
      	at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:176)
      	at net.bull.javamelody.PluginMonitoringFilter.doFilter(PluginMonitoringFilter.java:85)
      	at org.jvnet.hudson.plugins.monitoring.HudsonMonitoringFilter.doFilter(HudsonMonitoringFilter.java:99)
      	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:120)
      	at jenkins.metrics.impl.MetricsFilter.doFilter(MetricsFilter.java:117)
      	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:120)
      	at hudson.plugins.greenballs.GreenBallFilter.doFilter(GreenBallFilter.java:58)
      	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:120)
      	at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:114)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
      	at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:48)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
      	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 jenkins.security.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:117)
      	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 jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:93)
      	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:67)
      	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.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
      	at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
      	at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
      	at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1474)
      	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:499)
      	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
      	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:533)
      	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
      	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)
      	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428)
      	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
      	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)
      	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
      	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
      	at org.eclipse.jetty.server.handler.RequestLogHandler.handle(RequestLogHandler.java:68)
      	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
      	at org.eclipse.jetty.server.Server.handle(Server.java:370)
      	at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489)
      	at org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:960)
      	at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1021)
      	at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:865)
      	at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240)
      	at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
      	at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:668)
      	at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
      	at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      	at java.lang.Thread.run(Thread.java:745)
      

      Any insight would be greatly appreciated!

      Attachments

        Issue Links

          Activity

            jglick Jesse Glick added a comment -

            Looks to be a genuine error in JClouds, exposed by the Guice upgrade. The “fix” of JENKINS-26601 (go back to using an older Guice for now) probably hides this error again.

            jglick Jesse Glick added a comment - Looks to be a genuine error in JClouds, exposed by the Guice upgrade. The “fix” of JENKINS-26601 (go back to using an older Guice for now) probably hides this error again.
            real_ate Chris Manson added a comment -

            So what is the resolution to this then? What can we do to get this up and running again?

            real_ate Chris Manson added a comment - So what is the resolution to this then? What can we do to get this up and running again?
            danielbeck Daniel Beck added a comment -

            Wait for 1.599 to be released, and upgrade. This will work, until another attempt to upgrade Guice is made.

            danielbeck Daniel Beck added a comment - Wait for 1.599 to be released, and upgrade. This will work, until another attempt to upgrade Guice is made.

            Just for the record, jclouds 2.0 will support Guice 4.0. Here is the compatibility build to keep an eye on:
            https://jclouds.ci.cloudbees.com/job/jclouds-guava-guice-compat/

            nacx Ignasi Barrera added a comment - Just for the record, jclouds 2.0 will support Guice 4.0. Here is the compatibility build to keep an eye on: https://jclouds.ci.cloudbees.com/job/jclouds-guava-guice-compat/

            People

              abayer Andrew Bayer
              gmcginnis3 Geoff McGinnis
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: