nodepool/doc/source/devguide.rst
James E. Blair bfb225c2e7 Update operation docs
Updated to reflect more current information about nodepool-builder.

Also corrected section hierarchy so everything in operation.rst
is under the Operation heading.

Change-Id: Iade9bf7a46f6bec778e69d24491dfa1652a6674c
2016-12-16 15:59:15 -08:00

2.2 KiB

Developer's Guide

The following guide is intended for those interested in the inner workings of nodepool and its various processes.

Operation

If you send a SIGUSR2 to one of the daemon processes, Nodepool will dump a stack trace for each running thread into its debug log. It is written under the log bucket nodepool.stack_dump. This is useful for tracking down deadlock or otherwise slow threads.

Nodepool Builder

The following is the overall diagram for the nodepool-builder process and its most important pieces:

+-----------------+
|    ZooKeeper    |
+-----------------+
  ^      |
bld    |      | watch
+------------+  req    |      | trigger
|   client   +---------+      |           +--------------------+
+------------+                |           | NodepoolBuilderApp |
         |           +---+----------------+
         |               |
         |               | start/stop
         |               |
 +-------v-------+       |
 |               <-------+
+--------->   NodePool-   <----------+
|     +---+   Builder     +---+      |
|     |   |               |   |      |
|     |   +---------------+   |      |
|     |                       |      |
done  |     | start           start |      | done
|     | bld             upld  |      |
|     |                       |      |
|     |                       |      |
+---------v---+               +---v----------+
| BuildWorker |               | UploadWorker |
+-+-------------+             +-+--------------+
| BuildWorker |               | UploadWorker |
+-+-------------+             +-+--------------+
| BuildWorker |               | UploadWorker |
+-------------+               +--------------+