]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[5649] Added section in the HA about timeouts.
authorMarcin Siodelski <marcin@isc.org>
Thu, 14 Jun 2018 10:26:18 +0000 (12:26 +0200)
committerMarcin Siodelski <marcin@isc.org>
Thu, 14 Jun 2018 10:26:18 +0000 (12:26 +0200)
doc/guide/hooks-ha.xml

index 672b31f83c1256c21c373fd711526187a5f03218..8cb193fd9379b7f313966782b9c31bf4d3e63a20 100644 (file)
 
       </section>
 
+      <section xml:id="ha-syncing-timeouts">
+        <title>Discussion about Timeouts</title>
+        <para>In deployments with large number of clients connected to the
+        network, lease database synchronization after the server failure
+        may be a time consuming operation. The synchronizing server needs
+        to gather all leases from the partner which yields a large response
+        over the RESTful interface. The time required for generating the
+        response and sending it to the synchronizing server may take from
+        several seconds to tens of seconds. The default timeout value for
+        such communication is set to 60 seconds. However, the server
+        administrator may need to extend this timeout of necessary. The
+        following configuration snippet demonstrates how to extend this
+        timeout to 90 seconds with the <command>sync-timeout</command>:
+<screen>
+{
+"Dhcp4": {
+
+    ...
+
+    "hooks-libraries": [
+        {
+            "library": "/usr/lib/hooks/libdhcp_lease_cmds.so",
+            "parameters": { }
+        },
+        {
+            "library": "/usr/lib/hooks/libdhcp_ha.so",
+            "parameters": {
+                "high-availability": [ {
+                    "this-server-name": "server1",
+                    "mode": "load-balancing",
+                    "sync-timeout": 90000,
+                    "peers": [
+                        {
+                            "name": "server1",
+                            "url": "http://192.168.56.33:8080/",
+                            "role": "primary"
+                        },
+                        {
+                            "name": "server2",
+                            "url": "http://192.168.56.66:8080/",
+                            "role": "secondary"
+                        }
+                    ]
+                } ]
+            }
+        }
+    ],
+
+    ...
+
+}
+</screen>
+        </para>
+
+        <para>
+          It is important to note that extending this value may sometimes
+          be insufficient to prevent issues with timeouts during
+          lease database synchronization. The control commands travel via
+          Control Agent, which also monitors incoming (with synchronizing
+          server) and outgoing (with DHCP server) connections for timeouts.
+          The DHCP server also monitors the connection from the Control
+          Agent for timeouts. Those timeouts can't be currently modified
+          via configuration. Extending these timeouts is only possible by
+          modifing them in the Kea code and recompiling the server. The
+          relevant constants are located in the Kea sources:
+          <filename>src/lib/config/timeouts.h</filename>.
+        </para>
+      </section>
+
       <section xml:id="ha-ctrl-agent-config">
         <title>Control Agent Configuration</title>
         <para>The <xref linkend="kea-ctrl-agent"/> describes in detail the