Include internal gearman server in docs

Change-Id: I668206d7a07f665309ca392a8e5f1702c278c47e
diff --git a/doc/source/launchers.rst b/doc/source/launchers.rst
index 832321c..cefd582 100644
--- a/doc/source/launchers.rst
+++ b/doc/source/launchers.rst
@@ -38,10 +38,16 @@
 multiple Jenkins masters).
 
 In order for Zuul to run any jobs, you will need a running Gearman
-server.  The latest version of gearmand from gearman.org is required
-in order to support canceling jobs while in the queue.  The server is
-easy to set up -- just make sure that it allows connections from Zuul
-and any workers (e.g., Jenkins masters) on port 4730, and nowhere else
+server.  Zuul includes a Gearman server, and it is recommended that it
+be used as it supports the following features needed by Zuul:
+
+* Canceling jobs in the queue (admin protocol command "cancel job").
+* Strict FIFO queue operation (gearmand's round-robin mode may be
+  sufficient, but is untested).
+
+To enable the built-in server, see the ``gearman_server`` section of
+``zuul.conf``.  Be sure that the host allows connections from Zuul and
+any workers (e.g., Jenkins masters) on TCP port 4730, and nowhere else
 (as the Gearman protocol does not include any provision for
 authentication.
 
diff --git a/doc/source/zuul.rst b/doc/source/zuul.rst
index d9e245b..d9329d3 100644
--- a/doc/source/zuul.rst
+++ b/doc/source/zuul.rst
@@ -49,6 +49,17 @@
   Port on which the Gearman server is listening
   ``port=4730``
 
+gearman_server
+""""""""""""""
+
+**start**
+  Whether to start the internal Gearman server (default: False).
+  ``start=true``
+
+**log_config**
+  Path to log config file for internal Gearman server.
+  ``log_config=/etc/zuul/gearman-logging.yaml``
+
 gerrit
 """"""