anchor.diff:  The VIPs must be routable from outside the cluster.
   ====
   
  -IP failover monitors a port on each VIP to determine whether the port is reachable on the node. If the port is not reachable, the VIP will not be assigned to the node. If the port is set to `0`, this check is suppressed.
  -IP failover uses link:http://www.keepalived.org/[*Keepalived*] to host a set of externally accessible VIP addresses on a set of hosts. Each VIP is only serviced by a single host at a time. *Keepalived* uses the VRRP protocol to determine which host (from the set of hosts) will service which VIP. If a host becomes unavailable or if the service that *Keepalived* is watching does not respond, the VIP is switched to another host from the set. Thus, a VIP is always serviced as long as a host is available.
  +IP failover monitors a port on each VIP to determine whether the port is reachable on the node. If the port is not reachable, the VIP will not be assigned to the node. If the port is set to `0`, this check is suppressed. xref:../admin_guide/high_availability.adoc#check-notify[check script] that can do whatever testing is needed.
  +
  +IP failover uses link:http://www.keepalived.org/[*Keepalived*] to host a set of externally accessible VIP addresses on a set of hosts. Each VIP is only serviced by a single host at a time. *Keepalived* uses the VRRP protocol to determine which host (from the set of hosts) will service which VIP. If a host becomes unavailable or if the service that *Keepalived* is watching does not respond, the VIP is switched to another host from the set. Thus, a VIP is always serviced as long as a host is available. The admin can provide a script, via the `--notify-script=` option, that is called whenver the state changes. Keepalived is in *MASTER* state when it is servicing the VIP, in *BACKUP* state when another node is servicing the VIP, or in *FAULT*` state when the check script fails. The xref:../admin_guide/high_availability.adoc#check-notify[notify script] is called with the new state whenever the state changes.
   
   {product-title} supports creation of IP failover deployment configration, by running the `oadm ipfailover` command. The IP failover deployment configration specifies the set of VIP addresses, and the set of nodes on which to service them. A cluster can have multiple IP failover deployment configurations, with each managing its own set of unique VIP addresses. Each node in the IP failover configuration runs an ipfailover pod, and this pod runs *Keepalived*.
   
  
positive.code: Each VIP in the set may end up being served by a different node.
  ====
  
  [[kepalived-multicast]]
  === Keepalived Multicast
  {product-title}'s ipfailover internally uses *keepalived*. 
  
negative.code: |`*OPENSHIFT_HA_IPTABLES_CHAIN*`
  |INPUT
  |The name of the iptables chain, to automatically add an `iptables` rule to allow the VRRP traffic on. If the value is not set, an `iptables` rule will not be added. If the chain does not exist, it is not created.
  
  |`--check-script`
  |`*OPENSHIFT_HA_CHECK_SCRIPT*`
  |
  |Full path name in the pod filesystem of a script that will be periodically run to verify the application is operating.  Please see xref:../admin_guide/high_availability.adoc#check-notify[this discussion] for more details.
  
  |`--check-interval`
  |`*OPENSHIFT_HA_CHECK_INTERVAL*`
  |2
  |The period, in seconds that the check script is run.
  
  |`--notify-script`
  |`*OPENSHIFT_HA_NOTIFY_SCRIPT*`
  |
  |Full path name in the pod filesystem of a script that is run whenever the state changes.  Please see xref:../admin_guide/high_availability.adoc#check-notify[this discussion] for more details.
  
  |===
  
  