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.