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
.