Previous: Dangers with Latent Buildslaves, Up: Latent Buildslaves


4.8.2.3 Writing New Latent Buildslaves

Writing a new latent buildslave should only require subclassing buildbot.buildslave.AbstractLatentBuildSlave and implementing start_instance and stop_instance.

     def start_instance(self):
         # responsible for starting instance that will try to connect with this
         # master. Should return deferred. Problems should use an errback. The
         # callback value can be None, or can be an iterable of short strings to
         # include in the "substantiate success" status message, such as
         # identifying the instance that started.
         raise NotImplementedError
     
     def stop_instance(self, fast=False):
         # responsible for shutting down instance. Return a deferred. If `fast`,
         # we're trying to shut the master down, so callback as soon as is safe.
         # Callback value is ignored.
         raise NotImplementedError

See buildbot.ec2buildslave.EC2LatentBuildSlave for an example, or see the test example buildbot.test_slaves.FakeLatentBuildSlave.