Swarm Plugin

Plugin Information

Plugin ID swarm
Latest Release 1.4
Latest Release Date Aug 14, 2010
Sources [External| n/a]
Support Eclipse Hudson Forum
Issue Tracking Eclipse Bugzilla

This plugin enables slaves to auto-discover nearby Hudson master and join it automatically, thereby forming an ad-hoc cluster.
This plugin consists of two pieces:

  1. A self-contained CLI client that discovers a nearby Hudson (via a UDP broadcast) and joins it
  2. A plugin that needs to be installed on Hudson master to accept swarm clients

The primary use case of this came from "Hudson slave appliance" — a virtual machine pre-packaged with the swarm client CLI — that someone can just grab and run.

With the swarm client, a person who's willing to contribute some of his computing power to the cluster just needs to run this virtual machine, and the cluster automatically gets additional resources. Because it's packaged as a VM, he need not worry about the builds/tests interfering with the host system or alter its settings unexpectedly.

Usage

  1. Install the swarm plugin from the update center
  2. Download the CLI agent from here.
  3. Run the CLI agent like java -jar path/to/swarm-client-jar-with-dependencies.jar. There's no required command option, but run with the -help option to see the available options.

Available Options

% java -jar swarm-client-jar-with-dependencies.jar -help 
 -description VAL : Description to be put on the slave
 -executors N     : Number of executors
 -fsroot FILE     : Directory where Hudson places files
 -help (--help)   : Show the help screen
 -labels VAL      : Whitespace-separated list of labels to be assigned for this
                    slave
 -master VAL      : Host name or IP address of the master. If this option is
                    specified, auto-discovery will be skipped
 -name VAL        : Name of the slave

FAQ

Error configuration : "xxx.xxx.xxx.xxx doesn't have the URL configuration yet"

This error indicates that the Hudson master running at the given URL has never configured, and therefore the swarm client cannot determine its HTTP URL. To fix this problem, please go to the system configuration screen of this Hudson, and click "submit".

Changelog

Version 1.4 (2010 Aug 14)
  • Fixed broken help links.
  • Node properties save correctly.
  • Added Japanese localization.
Version 1.3 (2010 Jan 14)
  • Fixed a packaging problem in the client jar (issue #5275)
Version 1.2 (2009 Dec 30)
  • Minor text correction
Version 1.1 (2009 Jul 15)
  • Added the -master option.
Version 1.0 (2009 May 23)
  • Initial release

Labels:

plugin-cluster plugin-cluster Delete
Enter labels to add to this page:
Wait Image 
Looking for a label? Just start typing.
  1. Dec 18, 2009

    Sarthak Dudhara says:

    I am trying to connect to a hudson master using the swarm client. The problem i...

    I am trying to connect to a hudson master using the swarm client.

    The problem is that it is first finding a currently non-existent hudson instance and tries to connect to it and gets a ConnectException. E.g. Machine A used to be a hudson master instance without any swarm plugin. I am trying to understand as to how does this slave know about the previously existing hudson instance?

    Also, when i try to make it connect to a specific hudson 1.334 master on machine B, it still tries to connect to this zombie machine A. Do you think there is any caching on the client side? I tried to reboot the machine.

    One more useful piece of info is that the same swarm client is able to connect to another hudson 1.334 swarm master hosted on machine C using auto discovery(without the -master option) 

    Any idea whats going on?