[Buildbot-devel] VPN as alternative to stateless protocol

Charles Lepple clepple at gmail.com
Fri Jan 30 14:38:12 UTC 2015

Occasionally there is discussion about a stateless master-slave protocol, usually in the context of less-than-ideal networking conditions. While I haven't tried this myself, I wonder if using a VPN would handle those sorts of problems. In particular, OpenVPN's default transport is UDP, and if memory serves, it can tolerate one endpoint getting disconnected and changing IP addresses. The states of the TCP connections are kept on the endpoints, so as long as the VPN comes back up within the TCP timeout (and the Buildbot idle timeout), the Buildbot master should be none the wiser.

Of course, this won't cover all of the potential use cases of a stateless protocol, but if I were implementing that feature, I would be concerned about all of the subtle problems that could crop up once you are freed from the guarantee of one active slave connection per slave name. Without a persistent TCP connection, I can envision problems cropping up if a slave VM is cloned and the slave name isn't changed. At the moment, the duplicate slave scenario should show up in the master logs (as of early 0.8.x versions; haven't verified that recently).

Charles Lepple
clepple at gmail

More information about the devel mailing list