Since posting, I've seen that the Metadata plugin<https://wiki.jenkins-ci.org/display/JENKINS/Metadata+plugin>would be a great way to attach the key/values to the slaves instead of the Slave Setup Plugin. I would still be happy to hear of any ideas on how I can improve this.
- David On Tuesday, December 18, 2012 9:55:06 PM UTC+2, David Resnick wrote: > > This is my use case: > > I have tests that require a collection of machines to run. There are > different types of machine collections, with 1 or more instances of each > type. Each collection can be used by only one driving set of tests at a > time. > > The tests themselves do not run in the collection of machines; they can > all run via ssh on the same host (or different ones, it makes no difference > to me). Once the tests are finished I would like to publish reports that > they generate. > > So the tests could run on a regular Jenkins ssh slave with a bunch of > executors. But at the same time I would like to define each collection of > machines as a "slave", giving each collection type a different label so > that test jobs would queue and wait for the appropriate type. Essentially, > each machine collection slave is just a set of key value pairs (of > credentials and other bits of info) to pass to the dumb ssh slave and used > as test parameters, telling the tests where to run. > > I was wondering if there are plugins that allow a) defining a slave as a > set of key value pairs and b) defining a requirement for a job to have > exclusive access to 2 types of slaves before it will run on one of them. I > can't recall seeing any additional types of slaves apart from the dumb one > or VMs controlled by the vSphere Cloud Plugin. Are there any more? > > One solution I thought of is to define an ssh slave for each machine > collection (they could all be on the same host), each with 1 executor and 2 > labels: one generic (i.e. perf) and the other specific (i.e. perf1). Then > there would be one Slave Setup > Plugin<https://wiki.jenkins-ci.org/display/JENKINS/Slave+Setup+Plugin>configuration > per slave, each with a label matching the specific slave > labels (i.e. perf1) that would copy a properties file to the root of the > slave directory tree. One open question I have is where the Slave Setup > Plugin copies files to; if it is to an absolute path then I wouldn't be > able to reuse the same host for a number of slaves. > > Any thoughts or suggestions on how this could be set up (or what might be > missing or which plugin almost fits to set this up) would be highly > appreciated! > > Thanks, > David >