Add scheduling thread to nodepool builder

This is the building block for the structure that nodepool builder will
take going forward. It introduces a new scheduling thread, and moves all
current build and upload worker threads underneath that. A new thread
for receiving ZooKeeper watch events is also introduced.

This code will run, but isn't currently functional because the worker
and watch threads just sleep. Later reviews will begin to add the
functionality.

A supporting developer's guide is added that shows the main components
and communication channels.

Since this is a partial implementation, several tests have to be
temporarily disabled until the ZooKeeper functionality is in place.

Change-Id: I210bb6ba1580403ddc3e5d87eb9bf60ffc7433d8
This commit is contained in:
David Shrewsbury
2016-08-09 12:24:41 -04:00
parent b2308edae1
commit d2e2babf3e
24 changed files with 225 additions and 101 deletions

View File

@@ -63,7 +63,7 @@ class NodePoolBuilderApp(nodepool.cmd.NodepoolApp):
signal.signal(signal.SIGINT, self.sigint_handler)
nb_thread = threading.Thread(target=self.nb.runForever)
nb_thread = threading.Thread(target=self.nb.run)
nb_thread.start()
while True: