2

All

I am looking to solve an issue for a jenkins build of a release candidate at my company. We have a product that is very windows intensive, which we have hooked squish scripts up to drive a QT AUT. There are over dozens of test-suites that are dependent on our ability to reboot a slave node under test, after a reboot, and run a post reboot test. Jenkins will stop a project once it looses contact with a slave node .. which is a very sensible default.

Currently each test needs to have a special set of projects to handle each reboot because tests will set up removal of viruses, files and registry settings .. etc conditions,which absolutely require a reboot. Even worse there are some test cases that require multiple reboots.

This makes reporting on what we are trying to do very convoluted, since the evaluation of single build candidate now spans a significant number of downstream projects.

Is there any api call (esp python centric) in say jenkinsapi .. or a similar package that allows a slave node, to signal the master that the slave will be going down for a reboot, Then allow it to reconnect in the SAME project .. and continue to run the jobs? Almost any solution of that kind would be greatly appreciated.

I think that jenkins is a great B&R product, and I respect that in the unit test world this simply is not done. But in our systemic testing of a build candidate this need is real.

It would be useful to have a mechanism to facilitate this. Thus far I have not found it, but I will continue to search adapt and learn.

  • Could this be of any help to you? The problem there was about rebooting the slave and carry on with the test: http://stackoverflow.com/questions/5543413/reconfigure-and-reboot-a-hudson-jenkins-slave-as-part-of-a-build – Kiddo May 04 '14 at 08:51
  • Possibly .. I reread the post a little closer .. but am a bit confounded with the two different approaches. Does anyone have any experience trying:Trigger/call builds on another project versus the : making the slave node programmatically tell the master node that it's offline. I would like to have a little more guidance here. I noted the python api (I am a python guy) has jenkins.api.node.toggle_temporarily_offline and a set_online .. which one approach would anyone care to recommend? Anyone actually try any of these? – user2383297 May 04 '14 at 09:31
  • So far I didn't need to use it, but checking the cli api within the admin panel there are methods like the ones you indicate (`offline-node`, `online-node` which are used to actively indicate that a node is disabled or enabled, to resume jobs there) or the `wait-node-online`; which could be OK for your case if it was a sync call that kept job processing on hold. See: http://javadoc.jenkins-ci.org/hudson/model/Computer.html#waitUntilOnline(). In any case, I'd either play with both possibilities or try asking again at http://superuser.com – Kiddo May 04 '14 at 10:02

0 Answers0