Issue #168 resolved

Offline Plugin Installations

Bryan Cook
created an issue

I've installed SCM-Manager on a server in my environment (Windows Server 2008 R2 x64) and I'm having issues trying to get the Active Directory plugin going. After launching from the BAT file, I'm seeing the following logged when I visit the 'Plugins' page ...

//09:05:55.471 [qtp1378808535-20] INFO sonia.scm.plugin.DefaultPluginManager - fetch plugin informations from http://plugins.scm-manager.org/scm-plugin-backend/a pi/1.15/plugins?os=Windows+Server+2008+R2&arch=64&snapshot=false 09:06:07.496 [qtp1378808535-20] ERROR sonia.scm.plugin.DefaultPluginManager - could not load plugins from plugin center java.net.UnknownHostException: plugins.scm-manager.org at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.7.0_03] at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) ~[na:1.7.0_03] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.7.0_03] at java.lang.reflect.Constructor.newInstance(Constructor.java:525) ~[na:1.7.0_03] at sun.net.www.protocol.http.HttpURLConnection$6.run(HttpURLConnection.java:1661) ~[na:1.7.0_03] at sun.net.www.protocol.http.HttpURLConnection$6.run(HttpURLConnection.java:1659) ~[na:1.7.0_03] at java.security.AccessController.doPrivileged(Native Method) ~[na:1.7.0_03] at sun.net.www.protocol.http.HttpURLConnection.getChainedException(HttpURLConnection.java:1657) ~[na:1.7.0_03] at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1240) ~[na:1.7.0_03] at sonia.scm.net.URLHttpResponse.getContent(URLHttpResponse.java:136) ~[classes/:na] at sonia.scm.plugin.DefaultPluginManager.getPluginCenter(DefaultPluginManager.java:574) [classes/:na] at sonia.scm.plugin.DefaultPluginManager.get(DefaultPluginManager.java:348) [classes/:na] at sonia.scm.api.rest.resources.PluginResource.getOverview(PluginResource.java:239) [classes/:na] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_03] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_03] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_03] at java.lang.reflect.Method.invoke(Method.java:601) ~[na:1.7.0_03] at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60) [jersey-bundle-1.12.jar:1.12] at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$TypeOutInvoker._dispatch(AbstractResourceMethodDispatchProvid er.java:185) [jersey-bundle-1.12.jar:1.12] at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75) [jersey-bundle-1.12.jar: 1.12] at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:288) [jersey-bundle-1.12.jar:1.12] at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147) [jersey-bundle-1.12.jar:1.12] at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108) [jersey-bundle-1.12.jar:1.12] at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147) [jersey-bundle-1.12.jar:1.12] at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84) [jersey-bundle-1.12.jar:1.12] at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1483) [jersey-bundle-1.12.jar:1.12] at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1414) [jersey-bundle-1.12.jar:1.12] at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1363) [jersey-bundle-1.12.jar:1.12] at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1353) [jersey-bundle-1.12.jar:1.12] at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:414) [jersey-bundle-1.12.jar:1.12] at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:537) [jersey-bundle-1.12.jar:1.12] at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:708) [jersey-bundle-1.12.jar:1.12] at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) [javax.servlet-2.5.0.v201103041518.jar:na] at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:263) [guice-servlet-3.0.jar:na] at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:178) [guice-servlet-3.0.jar:na] at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91) [guice-servlet-3.0.jar:na] at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:62) [guice-servlet-3.0.jar:na] at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168) [guice-servlet-3.0.jar:na] at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58) [guice-servlet-3.0.jar:na] at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168) [guice-servlet-3.0.jar:na] at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58) [guice-servlet-3.0.jar:na] at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168) [guice-servlet-3.0.jar:na] at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58) [guice-servlet-3.0.jar:na] at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168) [guice-servlet-3.0.jar:na] at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58) [guice-servlet-3.0.jar:na] at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168) [guice-servlet-3.0.jar:na] at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58) [guice-servlet-3.0.jar:na] at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168) [guice-servlet-3.0.jar:na] at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58) [guice-servlet-3.0.jar:na] at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168) [guice-servlet-3.0.jar:na] at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58) [guice-servlet-3.0.jar:na] at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168) [guice-servlet-3.0.jar:na] at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58) [guice-servlet-3.0.jar:na] at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168) [guice-servlet-3.0.jar:na] at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58) [guice-servlet-3.0.jar:na] at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168) [guice-servlet-3.0.jar:na] at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58) [guice-servlet-3.0.jar:na] at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168) [guice-servlet-3.0.jar:na] at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58) [guice-servlet-3.0.jar:na] at sonia.scm.filter.SecurityFilter.doFilter(SecurityFilter.java:109) [classes/:na] at sonia.scm.web.filter.HttpFilter.doFilter(HttpFilter.java:102) [scm-core-1.15.jar:na] at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163) [guice-servlet-3.0.jar:na] at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58) [guice-servlet-3.0.jar:na] at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168) [guice-servlet-3.0.jar:na] at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58) [guice-servlet-3.0.jar:na] at sonia.scm.web.filter.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:139) [scm-core-1.15.jar:na] at sonia.scm.web.security.ApiBasicAuthenticationFilter.doFilter(ApiBasicAuthenticationFilter.java:105) [classes/:na] at sonia.scm.web.filter.HttpFilter.doFilter(HttpFilter.java:102) [scm-core-1.15.jar:na] at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163) [guice-servlet-3.0.jar:na] at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58) [guice-servlet-3.0.jar:na] at sonia.scm.filter.GZipFilter.doFilter(GZipFilter.java:79) [scm-core-1.15.jar:na] at sonia.scm.web.filter.HttpFilter.doFilter(HttpFilter.java:102) [scm-core-1.15.jar:na] at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163) [guice-servlet-3.0.jar:na] at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58) [guice-servlet-3.0.jar:na] at sonia.scm.filter.BaseUrlFilter.doFilter(BaseUrlFilter.java:100) [classes/:na] at sonia.scm.web.filter.HttpFilter.doFilter(HttpFilter.java:102) [scm-core-1.15.jar:na] at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163) [guice-servlet-3.0.jar:na] at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58) [guice-servlet-3.0.jar:na] at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:118) [guice-servlet-3.0.jar:na] at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:113) [guice-servlet-3.0.jar:na] at sonia.scm.boot.BootstrapFilter.doFilter(BootstrapFilter.java:104) [classes/:na] at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1332) [jetty-servlet-7.6.3.v20120416.jar:7.6.3.v20120416] at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:477) [jetty-servlet-7.6.3.v20120416.jar:7.6.3.v20120416] at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119) [jetty-server-7.6.3.v20120416.jar:7.6.3.v20120416] at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524) [jetty-security-7.6.3.v20120416.jar:7.6.3.v20120416] at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227) [jetty-server-7.6.3.v20120416.jar:7.6.3.v20120416] at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1031) [jetty-server-7.6.3.v20120416.jar:7.6.3.v20120416] at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:406) [jetty-servlet-7.6.3.v20120416.jar:7.6.3.v20120416] at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:186) [jetty-server-7.6.3.v20120416.jar:7.6.3.v20120416] at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:965) [jetty-server-7.6.3.v20120416.jar:7.6.3.v20120416] at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117) [jetty-server-7.6.3.v20120416.jar:7.6.3.v20120416] at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:149) [jetty-server-7.6.3.v20120416.jar:7.6.3.v20120416] at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:111) [jetty-server-7.6.3.v20120416.jar:7.6.3.v20120416] at org.eclipse.jetty.server.Server.handle(Server.java:348) [jetty-server-7.6.3.v20120416.jar:7.6.3.v20120416] at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:452) [jetty-server-7.6.3.v20120416.jar:7.6.3.v20120416] at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:884) [jetty-server-7.6.3.v20120416.jar:7.6.3.v20120416] at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:938) [jetty-server-7.6.3.v20120416.jar:7.6. 3.v20120416] at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:630) [jetty-http-7.6.3.v20120416.jar:7.6.3.v20120416] at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:230) [jetty-http-7.6.3.v20120416.jar:7.6.3.v20120416] at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:77) [jetty-server-7.6.3.v20120416.jar:7.6.3.v20120416] at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:606) [jetty-io-7.6.3.v20120416.jar:7.6.3.v20120416] at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:46) [jetty-io-7.6.3.v20120416.jar:7.6.3.v20120416] at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:603) [jetty-util-7.6.3.v20120416.jar:7.6.3.v20120416] at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:538) [jetty-util-7.6.3.v20120416.jar:7.6.3.v20120416] at java.lang.Thread.run(Thread.java:722) [na:1.7.0_03] Caused by: java.net.UnknownHostException: plugins.scm-manager.org at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:178) ~[na:1.7.0_03] at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:157) ~[na:1.7.0_03] at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:391) ~[na:1.7.0_03] at java.net.Socket.connect(Socket.java:579) ~[na:1.7.0_03] at sun.net.NetworkClient.doConnect(NetworkClient.java:175) ~[na:1.7.0_03] at sun.net.www.http.HttpClient.openServer(HttpClient.java:388) ~[na:1.7.0_03] at sun.net.www.http.HttpClient.openServer(HttpClient.java:483) ~[na:1.7.0_03] at sun.net.www.http.HttpClient.<init>(HttpClient.java:213) ~[na:1.7.0_03] at sun.net.www.http.HttpClient.New(HttpClient.java:300) ~[na:1.7.0_03] at sun.net.www.http.HttpClient.New(HttpClient.java:316) ~[na:1.7.0_03] at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:992) ~[na:1.7.0_03] at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:928) ~[na:1.7.0_03] at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:846) ~[na:1.7.0_03] at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1296) ~[na:1.7.0_03] at sun.net.www.protocol.http.HttpURLConnection.getHeaderField(HttpURLConnection.java:2585) ~[na:1.7.0_03] at java.net.URLConnection.getContentEncoding(URLConnection.java:533) ~[na:1.7.0_03] at sonia.scm.net.URLHttpResponse.getContent(URLHttpResponse.java:127) ~[classes/:na] ... 95 common frames omitted//

I've got the server hosting SCM-Manager existing within a small environment blocked off from the outside world. Looking at the error, I'm assuming my problem is that it's trying to hit http://plugins.scm-manager.org/scm-plugin-backend/api/1.15/plugins and failing. So, how can one go about installing a plug-in without having internet access? If you could give me a push in the right direction, I'd be happy to document the process for addition to the wiki if so desired.

Thanks!

Comments (2)

  1. Sebastian Sdorra repo owner

    Plugin installation in SCM-Manager is not so easy, because every plugin can define dependencies, so there is not a single plugin file. But there is a plugin folder in the scm-home directory. I think the simplest way is to setup a second scm-manager instance on a machine with internet access. Install all the plugins you need and copy the plugin folder to the first instance without internet access.

  2. Log in to comment