diff mbox series

[ovs-dev,6/8] ovn-sb: Update Service_Monitor documentation.

Message ID 20201022035415.33541-6-blp@ovn.org
State Accepted
Headers show
Series [ovs-dev,1/8] ovn-nb: Better document dynamic addresses. | expand

Commit Message

Ben Pfaff Oct. 22, 2020, 3:54 a.m. UTC
Signed-off-by: Ben Pfaff <blp@ovn.org>
---
 ovn-sb.xml | 102 +++++++++++++++++++++++++++++------------------------
 1 file changed, 56 insertions(+), 46 deletions(-)
diff mbox series

Patch

diff --git a/ovn-sb.xml b/ovn-sb.xml
index cdfca499274d..c78984fc867a 100644
--- a/ovn-sb.xml
+++ b/ovn-sb.xml
@@ -4033,62 +4033,50 @@  tcp.flags = RST;
 
   <table name="Service_Monitor">
     <p>
-      This table montiors a service for its liveliness. The service
-      can be an IPv4 tcp or a udp service. <code>ovn-controller</code>
-      periodically sends out service monitor packets and updates the
-      status of the service. Service monitoring for IPv6 services is
-      not supported.
+      Each row in this table configures monitoring a service for its liveness.
+      The service can be an IPv4 TCP or UDP
+      service. <code>ovn-controller</code> periodically sends out service
+      monitor packets and updates the status of the service. Service monitoring
+      for IPv6 services is not supported.
     </p>
 
-    <column name="ip">
-      IP of the service to be monitored. Only IPv4 is supported.
-    </column>
-
-    <column name="protocol">
-      The protocol of the service. It can be either <code>tcp</code> or
-      <code>udp</code>.
-    </column>
-
-    <column name="port">
-     The tcp or udp port of the service.
-    </column>
-
-    <column name="logical_port">
-      The VIF of logical port on which the service is running. The
-      <code>ovn-controller</code> which binds this <code>logical_port</code>
-      monitors the service by sending periodic monitor packets.
-    </column>
+    <p>
+      <code>ovn-northd</code> uses this feature to implement the load balancer
+      health check feature offered to the CMS through the northbound database.
+    </p>
 
-    <column name="status">
+    <group title="Configuration">
       <p>
-        The <code>ovn-controller</code> which binds the
-        <code>logical_port</code> updates the status to <code>online</code>
-        <code>offline</code> or <code>error</code>.
+        <code>ovn-northd</code> sets these columns and values to configure the
+        service monitor.
       </p>
 
-      <p>
-        For tcp service, <code>ovn-controller</code> sends a
-        <code>TCP SYN</code> packet to the service and expects a
-        <code>TCP ACK</code> response to consider the service to be
-        <code>online</code>.
-      </p>
+      <column name="ip">
+        IP of the service to be monitored. Only IPv4 is supported.
+      </column>
 
-      <p>
-        For udp service, <code>ovn-controller</code> sends a <code>udp</code>
-        packet to the service and doesn't expect any reply. If it receives
-        ICMP reply, then it considers the service to be <code>offline</code>.
-      </p>
-    </column>
+      <column name="protocol">
+        The protocol of the service.
+      </column>
 
-    <column name="src_mac">
-      Source Ethernet address to use in the service monitor packet.
-    </column>
+      <column name="port">
+        The TCP or UDP port of the service.
+      </column>
 
-    <column name="src_ip">
-      Source IPv4 address to use in the service monitor packet.
-    </column>
+      <column name="logical_port">
+        The VIF of the logical port on which the service is running. The
+        <code>ovn-controller</code> that binds this <code>logical_port</code>
+        monitors the service by sending periodic monitor packets.
+      </column>
+
+      <column name="src_mac">
+        Source Ethernet address to use in the service monitor packet.
+      </column>
+
+      <column name="src_ip">
+        Source IPv4 address to use in the service monitor packet.
+      </column>
 
-    <group title="Service monitor options">
       <column name="options" key="interval" type='{"type": "integer"}'>
         The interval, in seconds, between service monitor checks.
       </column>
@@ -4109,6 +4097,28 @@  tcp.flags = RST;
       </column>
     </group>
 
+    <group title="Status Reporting">
+      <p>
+        The <code>ovn-controller</code> on the chassis that hosts the <ref
+        column="logical_port"/> updates this column to report the service's
+        status.
+      </p>
+      
+      <column name="status">
+        <p>
+          For TCP service, <code>ovn-controller</code> sends a SYN to the
+          service and expects an ACK response to consider the service to be
+          <code>online</code>.
+        </p>
+
+        <p>
+          For UDP service, <code>ovn-controller</code> sends a UDP packet to
+          the service and doesn't expect any reply.  If it receives an ICMP
+          reply, then it considers the service to be <code>offline</code>.
+        </p>
+      </column>
+    </group>
+
     <group title="Common Columns">
       <column name="external_ids">
         See <em>External IDs</em> at the beginning of this document.