[4.1] d4c1acd Mention health probes for director writers

Dridi Boukelmoune dridi.boukelmoune at gmail.com
Fri Sep 4 15:54:54 CEST 2015


commit d4c1acdf36f3563349cc81aec22aa4d2ad1403de
Author: Dridi Boukelmoune <dridi.boukelmoune at gmail.com>
Date:   Mon Aug 17 09:39:47 2015 +0200

    Mention health probes for director writers
    
    Add placeholders for pending patches that would need to be documented if
    merged.

diff --git a/doc/sphinx/reference/directors.rst b/doc/sphinx/reference/directors.rst
index 3adc333..cbd8a42 100644
--- a/doc/sphinx/reference/directors.rst
+++ b/doc/sphinx/reference/directors.rst
@@ -82,6 +82,8 @@ below (:ref:`ref-writing-a-director-cluster`).
 Dynamic Backends
 ----------------
 
+.. TODO document the VRT_BACKEND_FIELDS dance
+
 If you want to speak HTTP/1 over TCP, but for some reason VCL does not fit the
 bill, you can instead reuse the whole backend facility. It allows you for
 instance to add and remove backends on-demand without the need to reload your
@@ -108,8 +110,9 @@ care of it.
 
 Consider using an object (see :ref:`ref-vmod-objects`) to manipulate dynamic
 backends. They are tied to the VCL life cycle and make a handy data structure
-to keep track of backends. It is also true for *cluster* directors that may
-reference native backends.
+to keep track of backends and objects have a VCL name you can reuse for the
+director. It is also true for *cluster* directors that may reference native
+backends.
 
 Finally, Varnish will take care of event propagation for *all* native backends.
 
@@ -133,4 +136,18 @@ request.
 Health Probes
 =============
 
-TODO
+It is possible in a VCL program to query the health of a director (see
+:ref:`func_healthy`). A director can report its health if it implements the
+``healthy`` function, it is otherwise always considered healthy.
+
+Unless you are making a dynamic backend, you need to take care of the health
+probes yourselves. For *cluster* directors, being healthy typically means
+having at least one healthy underlying backend or director.
+
+For dynamic backends, it is just a matter of assigning the ``probe`` field in
+the ``struct vrt_backend``. Once the director is created, the probe definition
+too is no longer needed. It is then Varnish that will take care of health
+probing and disabling the feature on cold VCL (see
+:ref:`ref-vmod-event-functions`).
+
+.. TODO document VCL_PROBE if patchwork #310 is merged
diff --git a/doc/sphinx/reference/vmod.rst b/doc/sphinx/reference/vmod.rst
index f6516a1..57db2a8 100644
--- a/doc/sphinx/reference/vmod.rst
+++ b/doc/sphinx/reference/vmod.rst
@@ -115,6 +115,8 @@ language representation.  Here is a description of them.
 All but the PRIV and STRING_LIST types have typedefs: VCL_INT, VCL_REAL,
 etc.
 
+.. TODO document ACL if patchwork #314 is merged
+
 BACKEND
 	C-type: ``const struct director *``
 
@@ -191,6 +193,8 @@ PRIV_TOP
 PRIV_VCL
 	See :ref:`ref-vmod-private-pointers` below.
 
+.. TODO document PROBE if patchwork #310 is merged
+
 REAL
 	C-type: ``double``
 



More information about the varnish-commit mailing list