Difference between revisions of "Switch your model/image from TIPC to UDP"

(Step 3 (Cloud mode))
(FAQ)
Line 114: Line 114:
 
clTransport.xml and target.env can be changed before the "make images" step so all generated images are UDP by default OR these files can be changed on every node after deployment.
 
clTransport.xml and target.env can be changed before the "make images" step so all generated images are UDP by default OR these files can be changed on every node after deployment.
  
== FAQ ==
+
== FAQ / Troubleshooting ==
  
* Q: Is the SAFplus able to run in UDP local mode as a non-root user?
+
 
 +
=== Q: Is the SAFplus able to run in UDP local mode as a non-root user? ===
 
* A: Yes, but you must properly configure the interfaces since SAFplus cannot.  
 
* A: Yes, but you must properly configure the interfaces since SAFplus cannot.  
 
Configure interface name (ASP_UDP_LINK_NAME) with the IP address calculated from your subnet and node address (ASP_UDP_SUBNET.DEFAULT_NODEADDR).  The node address is the DEFAULT_NODEADDR settings from etc/asp.conf file.
 
Configure interface name (ASP_UDP_LINK_NAME) with the IP address calculated from your subnet and node address (ASP_UDP_SUBNET.DEFAULT_NODEADDR).  The node address is the DEFAULT_NODEADDR settings from etc/asp.conf file.
Line 125: Line 126:
 
   user:#export ASP_UDP_LINK_NAME=eth0
 
   user:#export ASP_UDP_LINK_NAME=eth0
 
   user:#./etc/init.d/safplus start
 
   user:#./etc/init.d/safplus start
 +
 +
=== Q: In UDP LAN mode, nodes do not discover each other ===
 +
 +
You can determine this by running bin/safplus_info command "nodes" to see what nodes are alive.
 +
 +
* A: UDP broadcast packets are being dropped.  This could be a router configuration, but is more likely a configuration in your Linux distribution's firewall software.  Disable the firewall or add rules to allow UDP broadcast.  How do to this depends on your distro:
 +
Examples:
 +
  Centos 7: systemctl stop firewalld
 +
  Ubuntu:  service iptables stop

Revision as of 13:02, 9 May 2016

UDP can be run in two modes -- local or cloud. In local mode, the UDP system uses multicast to find members of the cluster and auto-assigns non-routable IP addresses onto an alias of your chosen backplane network interface. The advantage of local mode is that no IP addresses need to be configured.

In cloud mode, it is assumed that the cluster is potentially running across the entire internet (no multicast) on machines with specified IP addresses. Since no initial discovery is possible, every node needs to be configured with the IP addresses of the two system controller nodes.

Contents

Changing Your Model from TIPC to UDP

Step 1

- If you have a pre-60 model you will need to upgrade it. Using the IDE open your model, every option will be grey except model->update. This update will generate a configuration file called <your model>/config/clTransport.xml that looks something like this:

   <?xml version="1.0" encoding="UTF-8"?>
   <openClovisAsp>
     <version v0="4.0.0">
       <multixport xmlns="multixport.ecore">
         <xports>
           <xport>
             <type>TIPC</type>
             <plugin>libClTIPC.so</plugin>
           </xport>
         </xports>
       </multixport>
     </version>
   </openClovisAsp>

Step 2

Edit the content clTransport.xml with the UDP configuration details, and remove the TIPC details:

   <?xml version="1.0" encoding="UTF-8"?>
   <openClovisAsp>
     <version v0="4.0.0">
      <multixport xmlns="multixport.ecore">
         <xports>
           <xport>
             <type>UDP</type>
             <plugin>libClUDP.so</plugin>
           </xport>
         </xports>
         <protocol default="UDP"/>
         <multicast address="226.0.1.1" port="9595" />
         <heartbeat>
             <interval>3000</interval>
             <intervalLocal>3000</intervalLocal>
             <retries>5</retries>
         </heartbeat>
       </multixport>
     </version>
   <openClovisAsp>

Step 3 (Local mode)

Add 2 environment variables into <model_dir>/src/target.env, or make sure these variables are defined before starting SAFplus:

export ASP_UDP_SUBNET=<IP Range>/Length
export ASP_UDP_LINK_NAME=<your interface>
  • Example:
export ASP_UDP_SUBNET=192.168.57.0/24
export ASP_UDP_LINK_NAME=eth0


Step 3 (Cloud mode)

To use the UDP transport without node discovery (multicast) or IP address assignment, you must:

1. Add these 2 environment variables into <model_dir>/src/target.env, or make sure these variables are defined before starting SAFplus:

ASP_UDP_USE_EXISTING_IP=true

ASP_UDP_LINK_NAME=<link name, for example 'eth0'>

2. Configure UDP peer addresses like this:

    <peerAddresses port="6789">
       <peer addr="192.168.56.101"/>
       <peer addr="192.168.56.102"/>
    </peerAddresses>

The following is a this complete example of a cloud mode configuration file:

<?xml version="1.0" encoding="UTF-8"?>
<openClovisAsp>
 <version v0="4.0.0">
  <multixport xmlns="multixport.ecore">
    <xports>
      <xport>
        <type>UDP</type>
        <plugin>libClUDP.so</plugin>
      </xport>
    </xports>
    <protocol default="UDP"/>
    <heartbeat>
         <interval>1000</interval>
         <intervalLocal>1000</intervalLocal>
         <retries>4</retries>
    </heartbeat>
    <peerAddresses port="6789">
       <peer addr="192.168.56.101"/>
       <peer addr="192.168.56.102"/>
    </peerAddresses>
   </multixport>
 </version>
</openClovisAsp>

Before or After "make images"?

clTransport.xml and target.env can be changed before the "make images" step so all generated images are UDP by default OR these files can be changed on every node after deployment.

FAQ / Troubleshooting

Q: Is the SAFplus able to run in UDP local mode as a non-root user?

  • A: Yes, but you must properly configure the interfaces since SAFplus cannot.

Configure interface name (ASP_UDP_LINK_NAME) with the IP address calculated from your subnet and node address (ASP_UDP_SUBNET.DEFAULT_NODEADDR). The node address is the DEFAULT_NODEADDR settings from etc/asp.conf file.

Example:
 root:#ifconfig eth0 192.168.57.1
 user:#export ASP_UDP_SUBNET=192.168.57.0/24
 user:#export ASP_UDP_LINK_NAME=eth0
 user:#./etc/init.d/safplus start

Q: In UDP LAN mode, nodes do not discover each other

You can determine this by running bin/safplus_info command "nodes" to see what nodes are alive.

  • A: UDP broadcast packets are being dropped. This could be a router configuration, but is more likely a configuration in your Linux distribution's firewall software. Disable the firewall or add rules to allow UDP broadcast. How do to this depends on your distro:
Examples:
  Centos 7: systemctl stop firewalld
  Ubuntu:   service iptables stop