Slave squatter

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