[JIRA] (JENKINS-52033) Unable to run Docker Agent via JNLP

215 views
Skip to first unread message

jason.irwin@opidis.com (JIRA)

unread,
Jun 19, 2018, 6:50:02 AM6/19/18
to jenkinsc...@googlegroups.com
J I updated an issue
 
Jenkins / Bug JENKINS-52033
Unable to run Docker Agent via JNLP
Change By: J I
Attachment: extract-config.xml
Add Comment Add Comment
 
This message was sent by Atlassian JIRA (v7.3.0#73011-sha1:3c73d0e)
Atlassian logo

jason.irwin@opidis.com (JIRA)

unread,
Jun 19, 2018, 6:50:11 AM6/19/18
to jenkinsc...@googlegroups.com
J I created an issue
Issue Type: Bug Bug
Assignee: Nicolas De Loof
Attachments: extract-config.xml
Components: docker-plugin
Created: 2018-06-19 10:49
Environment: Operating System - Ubuntu Server 18.04 64bit
JRE/JDK vendors and versions - From container, "java.runtime.version - .8.0_171-8u171-b11-1~deb9u1-b11"
Versions -
Jenkins - 2.121.1
Display URL API - 2.2.0
Docker API plugin - 3.0.14
Docker Commons Plugin - 1.13
Docker Pipeline - 1.17
Docker plugin - 1.1.4
Jenkins deloyment - Container from image "jenkins/jenkins:lts" build "Docker 18.05.0-ce on linux, amd64" from DockerHub
Reverse proxy - None
How you installed Jenkins - Container from image "jenkins/jenkins:lts" build "Docker 18.05.0-ce on linux, amd64" from DockerHub
How you're launching any involved slave nodes - Container "jenkins/jnlp-slave:latest" via JNLP
Web browser - Firefox Quantum 60.0.2
Priority: Major Major
Reporter: J I

When I try to run a build agent using JNLP, I am unable to do so as I receive an exception.

Documentation followed
Jenkins Wiki

Replication frequency
Every time.

Steps to recreate

  1. Install Jenkins from image "jenkins/jenkins:lts" and perform basic set-up
  2. Ensure Docker plugin etc is installed.
  3. Configure Docker plugin.
  4. Add new Agent labeled "myAgent" via Docker template using image "jenkins/jnlp-slave:latest" and JNLP, set user to "jenkins".
  5. Create new Jenkins item using the following Pipeline script:
    pipeline {
        agent { label 'myAgent' }
        stages {
            stage("Hello") {
                steps {
                    sleep 30
                    echo 'Hello World'
                }
            }
        }
    }
  6. Run new item.
  7. Observe that the build on main page initially has the tooltip "Jenkins has no label 'myAgent'" which is incorrect as we just created that.
  8. Wait a few moments.
  9. Observe that item then stalls with tooltip "All nodes of label 'myAgent' are offline" and a black clock.
  10. Observe that after a time, many offline agents appear under "Build Executor Status".
  11. Click on any offline agent.
  12. Observe message "This agent is offline because Jenkins failed to launch the agent process on it. See log for more details".
  13. Click on log-link and observe that it never populates.
  14. Click on "Configure" in left-hand list.
  15. Observe the exception message below:
    org.apache.commons.jelly.JellyTagException: jar:file:/var/jenkins_home/war/WEB-INF/lib/jenkins-core-2.121.1.jar!/hudson/model/Computer/configure.jelly:43:71: <st:include> No page found 'configure-entries.jelly' for class io.jenkins.docker.DockerTransientNode
    	at org.kohsuke.stapler.jelly.IncludeTag.doTag(IncludeTag.java:124)
    	at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269)
    	at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
    	at org.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:99)
    	at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(InvokeBodyTag.java:91)
    	at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269)
    	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:120)
    	at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
    	at org.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:99)
    	at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(InvokeBodyTag.java:91)
    	at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269)
    	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:120)
    	at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
    	at org.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:99)
    	at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(InvokeBodyTag.java:91)
    	at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269)
    	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.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:120)
    	at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
    	at org.kohsuke.stapler.jelly.JellyViewScript.run(JellyViewScript.java:95)
    	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:97)
    	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:715)
    	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:845)
    	at org.kohsuke.stapler.MetaClass$10.dispatch(MetaClass.java:374)
    	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:715)
    	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:845)
    	at org.kohsuke.stapler.MetaClass$3.doDispatch(MetaClass.java:209)
    	at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
    	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:715)
    	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:845)
    	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:790)
    	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:860)
    	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1650)
    	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154)
    	at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:157)
    	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
    	at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:105)
    	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
    	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:90)
    	at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:171)
    	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
    	at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49)
    	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
    	at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:82)
    	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
    	at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)
    	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
    	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
    	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
    	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524)
    	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
    	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:190)
    	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
    	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:188)
    	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1253)
    	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:168)
    	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
    	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
    	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:166)
    	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1155)
    	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
    	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
    	at org.eclipse.jetty.server.Server.handle(Server.java:530)
    	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:347)
    	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:256)
    	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:279)
    	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:102)
    	at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:124)
    	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:247)
    	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produce(EatWhatYouKill.java:140)
    	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131)
    	at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:382)
    	at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    	at java.lang.Thread.run(Thread.java:748)
    Caused: javax.servlet.ServletException
    	at org.kohsuke.stapler.jelly.JellyFacet$1.dispatch(JellyFacet.java:105)
    	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:715)
    	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:845)
    	at org.kohsuke.stapler.MetaClass$10.dispatch(MetaClass.java:374)
    	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:715)
    	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:845)
    	at org.kohsuke.stapler.MetaClass$3.doDispatch(MetaClass.java:209)
    	at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
    	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:715)
    	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:845)
    	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:790)
    	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:860)
    	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1650)
    	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154)
    	at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:157)
    	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
    	at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:105)
    	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
    	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:90)
    	at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:171)
    	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
    	at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49)
    	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
    	at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:82)
    	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
    	at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)
    	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
    	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
    	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
    	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524)
    	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
    	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:190)
    	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
    	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:188)
    	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1253)
    	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:168)
    	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
    	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
    	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:166)
    	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1155)
    	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
    	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
    	at org.eclipse.jetty.server.Server.handle(Server.java:530)
    	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:347)
    	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:256)
    	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:279)
    	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:102)
    	at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:124)
    	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:247)
    	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produce(EatWhatYouKill.java:140)
    	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131)
    	at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:382)
    	at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    	at java.lang.Thread.run(Thread.java:748)

jason.irwin@opidis.com (JIRA)

unread,
Jun 19, 2018, 6:52:03 AM6/19/18
to jenkinsc...@googlegroups.com

jason.irwin@opidis.com (JIRA)

unread,
Jun 19, 2018, 6:56:01 AM6/19/18
to jenkinsc...@googlegroups.com
J I edited a comment on Bug JENKINS-52033
Appears to be similar to JENKINS-28639.


If the "Connect method" is changed to "Attach Docker container" then things seem to work with no other changes.

nicolas.deloof@gmail.com (JIRA)

unread,
Jun 19, 2018, 7:14:02 AM6/19/18
to jenkinsc...@googlegroups.com

your JNLP container fails to connect to master and register itself. Check running containers and their status, as well as container logs

jason.irwin@opidis.com (JIRA)

unread,
Jun 19, 2018, 9:25:01 AM6/19/18
to jenkinsc...@googlegroups.com
J I commented on Bug JENKINS-52033

You're right. Looking in the container log I can see this:

Jun 19, 2018 1:21:36 PM hudson.remoting.jnlp.Main$CuiListener error
SEVERE: Failed to connect to serverName:50000
java.io.IOException: Failed to connect to serverName:50000
	at org.jenkinsci.remoting.engine.JnlpAgentEndpoint.open(JnlpAgentEndpoint.java:242)
	at hudson.remoting.Engine.connect(Engine.java:686)
	at hudson.remoting.Engine.innerRun(Engine.java:547)
	at hudson.remoting.Engine.run(Engine.java:469)
Caused by: java.net.ConnectException: Connection refused
	at sun.nio.ch.Net.connect0(Native Method)
	at sun.nio.ch.Net.connect(Net.java:454)
	at sun.nio.ch.Net.connect(Net.java:446)
	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
	at java.nio.channels.SocketChannel.open(SocketChannel.java:189)
	at org.jenkinsci.remoting.engine.JnlpAgentEndpoint.open(JnlpAgentEndpoint.java:203)
	... 3 more

"serverName" is correct, but nothing is configured to listen on port 50000; I'll have to figure out where that value is coming from.

jason.irwin@opidis.com (JIRA)

unread,
Jun 19, 2018, 9:39:01 AM6/19/18
to jenkinsc...@googlegroups.com
J I edited a comment on Bug JENKINS-52033
OK, I found the configuration problems.
# I had not provided a custom Jenkins URL, resolved that so it would pick-up the exposed JNLP port.
# The port had a missing "0" in the mapping definition, resolved that.
Thanks, I now get a meaningful error message and unfortunately it points me at JENKINS-28499 :(
{
sode code }
Jun 19, 2018 1:32:41 PM hudson.remoting.jnlp.Main$CuiListener error
SEVERE: http://serverName:15000/tcpSlaveAgentListener/ is invalid: 404 Not Found
java.io.IOException: http://serverName:15000/tcpSlaveAgentListener/ is invalid: 404 Not Found
at org.jenkinsci.remoting.engine.JnlpAgentEndpointResolver.resolve(JnlpAgentEndpointResolver.java:197)
at hudson.remoting.Engine.innerRun(Engine.java:518)
at hudson.remoting.Engine.run(Engine.java:469){code}
I am going to triple-check that I haven't missed something.

I guess this can be closed, but it's really not obvious what the actual problem is.
Maybe if the logs had loaded from step 12?

jason.irwin@opidis.com (JIRA)

unread,
Jun 19, 2018, 9:39:01 AM6/19/18
to jenkinsc...@googlegroups.com
J I commented on Bug JENKINS-52033

OK, I found the configuration problems.

  1. I had not provided a custom Jenkins URL, resolved that so it would pick-up the exposed JNLP port.
  1. The port had a missing "0" in the mapping definition, resolved that.
  1. Thanks, I now get a meaningful error message and unfortunately it points me at JENKINS-28499 {sode}
  1. Jun 19, 2018 1:32:41 PM hudson.remoting.jnlp.Main$CuiListener error
    SEVERE: http://serverName:15000/tcpSlaveAgentListener/ is invalid: 404 Not Found
    java.io.IOException: http://serverName:15000/tcpSlaveAgentListener/ is invalid: 404 Not Found
    at org.jenkinsci.remoting.engine.JnlpAgentEndpointResolver.resolve(JnlpAgentEndpointResolver.java:197)
    at hudson.remoting.Engine.innerRun(Engine.java:518)
    at hudson.remoting.Engine.run(Engine.java:469)

     
                                                                        
  1. I am going to triple-check that I haven't missed something.

I guess this can be closed, but it's really not obvious what the actual problem is.
Maybe if the logs had loaded from step 12?

jason.irwin@opidis.com (JIRA)

unread,
Jun 19, 2018, 9:40:02 AM6/19/18
to jenkinsc...@googlegroups.com
J I edited a comment on Bug JENKINS-52033
OK, I found the configuration problems.
# I had not provided a custom Jenkins URL, resolved that so it would pick-up the exposed JNLP port.
# The port had a missing "0" in the mapping definition, resolved that.

Thanks, I now get a meaningful error message and unfortunately it points me at JENKINS-28499 :(
{code
:java }
Jun 19, 2018 1:32:41 PM hudson.remoting.jnlp.Main$CuiListener error
SEVERE: http://serverName:15000/tcpSlaveAgentListener/ is invalid: 404 Not Found
java.io.IOException: http://serverName:15000/tcpSlaveAgentListener/ is invalid: 404 Not Found
at org.jenkinsci.remoting.engine.JnlpAgentEndpointResolver.resolve(JnlpAgentEndpointResolver.java:197)
at hudson.remoting.Engine.innerRun(Engine.java:518)
at hudson.remoting.Engine.run(Engine.java:469){code}

I am going to triple-check that I haven't missed something.

I guess this can be closed, but it's really not obvious what the actual problem is.
Maybe if the logs had loaded from step 12?

nicolas.deloof@gmail.com (JIRA)

unread,
Jun 19, 2018, 9:42:02 AM6/19/18
to jenkinsc...@googlegroups.com
Nicolas De Loof closed an issue as Not A Defect
 
Change By: Nicolas De Loof
Status: Open Closed
Resolution: Not A Defect

jason.irwin@opidis.com (JIRA)

unread,
Jun 19, 2018, 10:02:10 AM6/19/18
to jenkinsc...@googlegroups.com
J I commented on Bug JENKINS-52033
 
Re: Unable to run Docker Agent via JNLP

Thanks again, whilst things are still not working ("java.util.concurrent.ExecutionException: org.jenkinsci.remoting.protocol.impl.ConnectionRefusalException: Connection closed before acknowledgement sent") it is clearly an issue on my side and not a Jenkins problem.

It's also just occurred to me that the exception "No page found 'configure-entries.jelly' for class io.jenkins.docker.DockerTransientNode" is probably preventing Jenkins from explaining to me what the original problem was (bad config, misaligned ports etc).

That isn't an issue with the "docker-plugin" component, but the error reporting mechanism I guess.
Should I log a fresh bug against that and close this one?

nicolas.deloof@gmail.com (JIRA)

unread,
Jun 19, 2018, 10:52:01 AM6/19/18
to jenkinsc...@googlegroups.com

Missing a configure-entries.jelly isn't the root cause for your issue, the fact there's none is due to nothing configurable in a Docker transient node (should provide an empty one)

Failure to establish JNLP connection can have multiple causes, mostly related to connectivity from slave to master (public URL, tunnel, etc. Better for you to ask for assistance on jenkins-users mailing list vs opening issues.

jason.irwin@opidis.com (JIRA)

unread,
Jun 19, 2018, 11:12:12 AM6/19/18
to jenkinsc...@googlegroups.com
J I commented on Bug JENKINS-52033

I meant - there is a fault within Jenkins (the "No page found 'configure-entries.jelly'" which is a separate issue to my docker/network misconfiguration).

I will keep digging into what I have wrong.

Reply all
Reply to author
Forward
0 new messages