Jenkins : Slave Squatter Plugin

Plugin Information

View Slave squatter on the plugin site for more information.

This plugin enables administrators to reserve executors to be used outside Jenkins.

It is useful for making Jenkins aware of activities outside Jenkins — such as when you are using people's workstations as slaves (which need to be available for interactive use during day time) or when the system goes through a periodical backup, which reduces the I/O capability of the system.

By default, the reservation is specified in a cron-like syntax (but as you see below, this is an extension point.)

More specifically, you specify (1) an integer to decide the number of executors reserved (or special token "*" to indicate all the executors of the node), (2) a cron syntax to decide when a reservation starts, (3) number of minutes that decide the duration. So for example, to reserve 2 executors between 8am-5pm weekdays, you'd write the following:

# 5pm - 8am = 9hours = 540mins
2 : 0 8 * * 1-5 : 540
# or alternatively devide it up to 9 times 1hr reservation
2 : 0 8-16 * * 1-5 : 60

Extension Points

This plugin provides an extension point that allows other plugins to control the reservation programmatically (or by exposing it in a different UI.) For example, one might consider controlling reservations via existing calendar system such as Microsoft Exchange, or provide a simpler UI for common cases.

Changelog

Version 1.2 (Aug 7 2011)

  • Support '*' as the executor size to indicate "all the executors of the computer"
  • Add form validation

Version 1.1 (Sep 29 2010)

  • Implemented an extension point so that upcoming reservations are considered for making scheduling decisions

Version 1.0 (Sep 19 2010)

  • Initial version