[JIRA] (JENKINS-61029) Swarm client not working anymore with Jenkins 2.220

16 views
Skip to first unread message

philipp.a.baer@ge.com (JIRA)

unread,
Feb 10, 2020, 4:53:05 AM2/10/20
to jenkinsc...@googlegroups.com
Philipp Baer created an issue
 
Jenkins / Bug JENKINS-61029
Swarm client not working anymore with Jenkins 2.220
Issue Type: Bug Bug
Assignee: Unassigned
Components: swarm-plugin
Created: 2020-02-10 09:52
Environment: Jenkins 2.220 on Debian 10.3 x64 (jenkins.io Debian repo with Debian default JRE) with Swarm plug-in modules 3.17
swarm-client 3.17 on Windows 10, AdoptOpenJDK 8, specified master explicitly
Priority: Major Major
Reporter: Philipp Baer

Issue most likely casued by JENKINS-60913

Slave

Exec:

java.exe -Xrs -jar "%BASE%\swarm-client-3.17.jar" -mode exclusive -name *** -labels *** -executors 1 -master [http://***] -username *** -password *** -fsroot "%BASE%" -deleteExistingClients -labelsFile "%BASE%\labels"

Log:

Feb 10, 2020 10:25:50 AM hudson.plugins.swarm.SwarmClient discoverFromMasterUrl
SEVERE: Failed to fetch slave info from Jenkins, HTTP response code: 500
Feb 10, 2020 10:25:50 AM hudson.plugins.swarm.Client run
SEVERE: RetryException occurred
hudson.plugins.swarm.RetryException: Failed to fetch slave info from Jenkins, HTTP response code: 500
	at hudson.plugins.swarm.SwarmClient.discoverFromMasterUrl(SwarmClient.java:248)
	at hudson.plugins.swarm.Client.run(Client.java:130)
	at hudson.plugins.swarm.Client.main(Client.java:104)Feb 10, 2020 10:25:50 AM hudson.plugins.swarm.Client run
INFO: Retrying in 10 seconds 

Master

Log:

2020-02-10 09:50:32.698+0000 [id=276]   WARNING o.e.j.s.h.ContextHandler$Context#log: Error while serving http://***/plugin/swarm/slaveInfo
java.lang.NoClassDefFoundError: hudson/UDPBroadcastFragment
        at hudson.plugins.swarm.PluginImpl.getSwarmSecret(PluginImpl.java:262)
        at hudson.plugins.swarm.PluginImpl.doSlaveInfo(PluginImpl.java:272)
        at java.base/java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:710)
        at org.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:396)
Caused: java.lang.reflect.InvocationTargetException
        at org.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:400)
        at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:408)
        at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:212)
        at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:145)
        at org.kohsuke.stapler.MetaClass$11.doDispatch(MetaClass.java:535)
        at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
        at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:747)
        at org.kohsuke.stapler.Stapler.invoke(Stapler.java:878)
        at org.kohsuke.stapler.MetaClass$4.doDispatch(MetaClass.java:280)
        at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
        at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:747)
        at org.kohsuke.stapler.Stapler.invoke(Stapler.java:878)
        at org.kohsuke.stapler.Stapler.invoke(Stapler.java:676)
        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:755)
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1617)
[...] 

Even though -master should disable auto discovery, it seems like something is now missing (UDPBroadcastFragment)

Add Comment Add Comment
 
This message was sent by Atlassian Jira (v7.13.6#713006-sha1:cc4451f)
Atlassian logo

flo@geekplace.eu (JIRA)

unread,
Feb 10, 2020, 7:16:03 AM2/10/20
to jenkinsc...@googlegroups.com
Florian Schmaus updated an issue
Change By: Florian Schmaus
Issue most likely casued by JENKINS-60913
h3. Slave

Exec:
{code:java}
java.exe -Xrs -jar "%BASE%\swarm-client-3.17.jar" -mode exclusive -name *** -labels *** -executors 1 -master [http://***] -username *** -password *** -fsroot "%BASE%" -deleteExistingClients -labelsFile "%BASE%\labels"{code}
Log:
{code:java}

Feb 10, 2020 10:25:50 AM hudson.plugins.swarm.SwarmClient discoverFromMasterUrl
SEVERE: Failed to fetch slave info from Jenkins, HTTP response code: 500
Feb 10, 2020 10:25:50 AM hudson.plugins.swarm.Client run
SEVERE: RetryException occurred
hudson.plugins.swarm.RetryException: Failed to fetch slave info from Jenkins, HTTP response code: 500
at hudson.plugins.swarm.SwarmClient.discoverFromMasterUrl(SwarmClient.java:248)
at hudson.plugins.swarm.Client.run(Client.java:130)
at hudson.plugins.swarm.Client.main(Client.java:104)Feb 10, 2020 10:25:50 AM hudson.plugins.swarm.Client run
INFO: Retrying in 10 seconds {code}
h3. Master

Log:
{code:java}

2020-02-10 09:50:32.698+0000 [id=276]   WARNING o.e.j.s.h.ContextHandler$Context#log: Error while serving http://***/plugin/swarm/slaveInfo
java.lang.NoClassDefFoundError: hudson/UDPBroadcastFragment
        at hudson.plugins.swarm.PluginImpl.getSwarmSecret(PluginImpl.java:262)
        at hudson.plugins.swarm.PluginImpl.doSlaveInfo(PluginImpl.java:272)
        at java.base/java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:710)
        at org.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:396)
Caused: java.lang.reflect.InvocationTargetException
        at org.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:400)
        at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:408)
        at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:212)
        at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:145)
        at org.kohsuke.stapler.MetaClass$11.doDispatch(MetaClass.java:535)
        at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
        at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:747)
        at org.kohsuke.stapler.Stapler.invoke(Stapler.java:878)
        at org.kohsuke.stapler.MetaClass$4.doDispatch(MetaClass.java:280)
        at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
        at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:747)
        at org.kohsuke.stapler.Stapler.invoke(Stapler.java:878)
        at org.kohsuke.stapler.Stapler.invoke(Stapler.java:676)
        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:755)
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1617)
[...] {code}
Even though The master is unable to load a class:  {{ -master UDPBroadcastFragment }} should disable auto discovery, it seems like something   is now missing with jenkins 2.220, which got removed in jenkins core with f10d9f95fc ( {{UDPBroadcastFragment}} "[JENKINS-60913] Remove network discovery services (#4460 ) ").
h3.  

o.v.nenashev@gmail.com (JIRA)

unread,
Feb 10, 2020, 7:55:05 AM2/10/20
to jenkinsc...@googlegroups.com

flo@geekplace.eu (JIRA)

unread,
Feb 10, 2020, 8:21:03 AM2/10/20
to jenkinsc...@googlegroups.com
Florian Schmaus commented on Bug JENKINS-61029
 
Re: Swarm client not working anymore with Jenkins 2.220

I've created a PR with a commit that re-adds hudson.UDPBroadcastFragment: https://github.com/jenkinsci/jenkins/pull/4486

jglick@cloudbees.com (JIRA)

unread,
Feb 10, 2020, 8:53:04 AM2/10/20
to jenkinsc...@googlegroups.com

CC Jeff Thompson. This removal was deliberate. The fix should be in swarm-plugin.

philipp.a.baer@ge.com (JIRA)

unread,
Feb 10, 2020, 8:56:02 AM2/10/20
to jenkinsc...@googlegroups.com

I'd also recommend to adjust swarm-plugin and disable auto detection if that's not supported anymore.

gadelat@gmail.com (JIRA)

unread,
Feb 10, 2020, 8:57:02 AM2/10/20
to jenkinsc...@googlegroups.com

Jenkins doesn't use semantic versioning? Bump to 3.x if you need to do API changes.

jglick@cloudbees.com (JIRA)

unread,
Feb 10, 2020, 9:06:05 AM2/10/20
to jenkinsc...@googlegroups.com

swarm-plugin could either remove support for automatic detection, or simply inline the UDP broadcast functionality if it is still useful in some contexts. I have no idea which is appropriate; a topic for the plugin maintainer. (Basil Crow perhaps?)

No, Jenkins core does not use semantic versioning.

me@basilcrow.com (JIRA)

unread,
Feb 10, 2020, 1:06:03 PM2/10/20
to jenkinsc...@googlegroups.com

I am not aware of anyone who is still using the support for automatic detection. Since it exposes us to security vulnerabilities, it seems better to remove support for automatic detection rather than to inline the UDP broadcast functionality.

me@basilcrow.com (JIRA)

unread,
Feb 13, 2020, 11:24:02 AM2/13/20
to jenkinsc...@googlegroups.com

me@basilcrow.com (JIRA)

unread,
Feb 13, 2020, 11:28:03 AM2/13/20
to jenkinsc...@googlegroups.com
Basil Crow updated Bug JENKINS-61029
 

Fixed by removing the auto-discovery feature in jenkinsci/swarm-plugin#179 and jenkinsci/swarm-plugin#182.

Change By: Basil Crow
Status: Open Fixed but Unreleased
Resolution: Fixed

me@basilcrow.com (JIRA)

unread,
Feb 13, 2020, 12:21:03 PM2/13/20
to jenkinsc...@googlegroups.com
 

Released in Swarm 3.18.

Change By: Basil Crow
Status: Fixed but Unreleased Resolved
Released As: 3.18

gadelat@gmail.com (JIRA)

unread,
Feb 18, 2020, 4:49:04 AM2/18/20
to jenkinsc...@googlegroups.com
Gabriel Ostrolucký commented on Bug JENKINS-61029
 
Re: Swarm client not working anymore with Jenkins 2.220

PSA: Don't forget to also update swarm jenkins plugin, not just docker-swarm binary on slaves.

Reply all
Reply to author
Forward
0 new messages