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

New Swarm Slave Wont Work

    XMLWordPrintable

    Details

    • Similar Issues:

      Description

      I have the latest jenkins and when I try and start a swarm slave with:

      java -jar swarm-client-1.18-jar-with-dependencies.jar

      I get this in the master server log:

      Oct 04, 2014 1:20:11 PM WARNING org.eclipse.jetty.util.log.JavaUtilLog warn
      Error while serving http://jenkins.scropt.com//plugin/swarm/createSlave
      java.lang.reflect.InvocationTargetException
      at sun.reflect.GeneratedMethodAccessor232.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:606)
      at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:298)
      at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:161)
      at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:96)
      at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:120)
      at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:733)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:863)
      at org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:248)
      at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:733)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:863)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:636)
      at org.kohsuke.stapler.Stapler.service(Stapler.java:225)
      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:96)
      at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:88)
      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.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:46)
      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: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.Server.handle(Server.java:370)
      at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489)
      at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:949)
      at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1011)
      at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644)
      at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
      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:1145)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
      at java.lang.Thread.run(Thread.java:745)
      Caused by: java.lang.RuntimeException: No tool '' is defined on Jenkins.
      at hudson.plugins.swarm.PluginImpl.parseToolLocations(PluginImpl.java:98)
      at hudson.plugins.swarm.PluginImpl.doCreateSlave(PluginImpl.java:51)
      ... 55 more

        Attachments

          Issue Links

            Activity

            Hide
            mindjiver Peter Jönsson added a comment -

            I think https://issues.jenkins-ci.org/browse/JENKINS-9639 is more interesting. Then we could move the username/password combo into a file as well.

            Show
            mindjiver Peter Jönsson added a comment - I think https://issues.jenkins-ci.org/browse/JENKINS-9639 is more interesting. Then we could move the username/password combo into a file as well.
            Hide
            mr_dfuse Nico Mommaerts added a comment -

            I've asked a question over on that issue

            Show
            mr_dfuse Nico Mommaerts added a comment - I've asked a question over on that issue
            Hide
            mr_dfuse Nico Mommaerts added a comment -

            Regarding the spaces: there doesn't seem to be any restriction on toolname characters. So no separatorchar will be sufficient.
            The only alternative I see is using a hierarchical file format via https://issues.jenkins-ci.org/browse/JENKINS-9639 (json, xml, yml, whatnot)

            Show
            mr_dfuse Nico Mommaerts added a comment - Regarding the spaces: there doesn't seem to be any restriction on toolname characters. So no separatorchar will be sufficient. The only alternative I see is using a hierarchical file format via https://issues.jenkins-ci.org/browse/JENKINS-9639 (json, xml, yml, whatnot)
            Hide
            danielbeck Daniel Beck added a comment -

            Nico: Or a format/environment that knows how to escape certain characters. Both my suggestions above (properties file and CLI) should support more or less arbitrary file names.

            Re properties files, just define it as:

            Tool.JDK7=/var/lib/...
            Tool.JDK\ 8=/var/lib/...
            ...

            and it should be extensible enough (the tool installations are called JDK7 and JDK 8, respectively, in case it's not obvious).

            There are also XML properties files, but I haven't worked with them, so I don't know whether they're more flexible.

            Show
            danielbeck Daniel Beck added a comment - Nico: Or a format/environment that knows how to escape certain characters. Both my suggestions above (properties file and CLI) should support more or less arbitrary file names. Re properties files, just define it as: Tool.JDK7=/var/lib/... Tool.JDK\ 8=/var/lib/... ... and it should be extensible enough (the tool installations are called JDK7 and JDK 8 , respectively, in case it's not obvious). There are also XML properties files, but I haven't worked with them, so I don't know whether they're more flexible.
            Hide
            mr_dfuse Nico Mommaerts added a comment -

            About the properties file: indeed, didn't know you could escape chars. I'll take a shot at implementing it.
            About the CLI: atm args4j is used to parse them, I'm not sure if it supports dynamic parameters. I'll look into it but I think the properties file will be the preferred way to provide toollocations.

            Show
            mr_dfuse Nico Mommaerts added a comment - About the properties file: indeed, didn't know you could escape chars. I'll take a shot at implementing it. About the CLI: atm args4j is used to parse them, I'm not sure if it supports dynamic parameters. I'll look into it but I think the properties file will be the preferred way to provide toollocations.

              People

              • Assignee:
                mindjiver Peter Jönsson
                Reporter:
                ztolley Zac Tolley
              • Votes:
                0 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: