Remove limit to configure diameter server sessions to negative (no limit to accept...
authorEduardo Ramos Testillano <eduardo.ramos.testillano@ericsson.com>
Fri, 20 Nov 2015 15:49:31 +0000 (16:49 +0100)
committerEduardo Ramos Testillano <eduardo.ramos.testillano@ericsson.com>
Fri, 20 Nov 2015 15:49:31 +0000 (16:49 +0100)
example/diameter/launcher/Launcher.cpp
example/diameter/launcher/RealmNode.cpp
example/diameter/launcher/deployments/st-client/configure.sh
example/diameter/launcher/resources/services_examples/server.xml
example/diameter/launcher/resources/services_examples/services.dtd

index 45f51a9..0968b8d 100644 (file)
@@ -65,50 +65,51 @@ const char *ServicesDTD = "\
 \n\
    originRealm:                             Node identifier (Origin-Realm name).\n\
    applicationId:                           The Application-Id provided must exists as a registered 'stack id'.\n\
-   originHost:                              Diameter application host name (system name). If missing, process sets o.s. hostname\n\
+   originHost:                              Diameter application host name (system name). If missing, process sets o.s. hostname.\n\
                                             Note that if you have two or more realms, the names must be different.\n\
    cer:                                     User defined CER path file to be encoded to establish diameter connections.\n\
-                                            If missing, will be harcoded\n\
+                                            If missing, will be harcoded.\n\
    dwr:                                     User defined DWR path file to be encoded for diameter protocol keep alive.\n\
-                                            If missing, will be harcoded\n\
+                                            If missing, will be harcoded.\n\
    allowedInactivityTime:                   Milliseconds for the maximum allowed inactivity time on server sessions born over the\n\
-                                            local server before being reset. If missing, default value of 90000 will be assigned\n\
+                                            local server before being reset. If missing, default value of 90000 will be assigned.\n\
    tcpConnectDelay:                         Milliseconds to wait TCP connect to any server. If missing, default value of 200 will\n\
                                             be assigned\n\
    answersTimeout:                          Milliseconds to wait pending application answers from diameter peers. If missing,\n\
-                                            default value of 10000 will be assigned\n\
+                                            default value of 10000 will be assigned.\n\
    ceaTimeout:                              Milliseconds to wait CEA from diameter server. If missing, default value of 'answersTimeout'\n\
-                                            will be assigned\n\
+                                            will be assigned.\n\
    watchdogPeriod:                          Milliseconds for watchdog timer (Tw) for diameter keep-alive procedure. If missing, default\n\
-                                            value of 30000 will be assigned\n\
+                                            value of 30000 will be assigned.\n\
    entity:                                  Target diameter entity (comma-separated '<address>:<port>' format).\n\
-                                            For example: 10.20.30.40:3868,10.20.30.41:3868. If missing, no entity will be enabled\n\
-   entityServerSessions:                    Diameter entity server sessions (0: diameter entity disabled). Default value of 1\n\
+                                            For example: 10.20.30.40:3868,10.20.30.41:3868. If missing, no entity will be enabled.\n\
+   entityServerSessions:                    Diameter entity server sessions (0: diameter entity disabled). Default value of 1.\n\
    diameterServer:                          Diameter own server address in '<address>:<port>' format. For example: 10.20.30.40:3868.\n\
-                                            If missing, no local server will be enabled\n\
-   diameterServerSessions:                  Diameter own server available connections (0: diameter server disabled). Default value of 1\n\
+                                            If missing, no local server will be enabled.\n\
+   diameterServerSessions:                  Diameter own server available connections (0: diameter server disabled). Default value of 1.\n\
+                                            Negative value implies no limit accepting incoming connections.\n\
    balance:                                 Balance over entity servers instead of doing standard behaviour (first primary, secondary\n\
-                                            if fails, etc.). Default value 'no'\n\
+                                            if fails, etc.). Default value 'no'.\n\
    sessionBasedModelsClientSocketSelection: By default, round-robin will be applied for IEC model (SMS/MMS), and Session-Id Low Part\n\
                                             will be analyzed for ECUR/SCUR model (data, voice and content). You could change ECUR/SCUR\n\
                                             analysis behaviour providing 'SessionIdHighPart', 'SessionIdOptionalPart' (atoi applied;\n\
-                                            usually subscriber id data, i.e. MSISDN or IMSI) and 'RoundRobin' (also 'SessionIdLowPart')\n\
-   retries:                                 Expired responses will cause a number of request retransmissions. Disabled by default (0 retries)\n\
+                                            usually subscriber id data, i.e. MSISDN or IMSI) and 'RoundRobin' (also 'SessionIdLowPart').\n\
+   retries:                                 Expired responses will cause a number of request retransmissions. Disabled by default (0 retries).\n\
    log:                                     Process log file (operations result, traffic log, etc.). By default '<originRealm>.launcher.log'.\n\
                                             Empty string or \"null\" name, to disable. Warning: there is no rotation for log files\n\
-                                            (use logrotate or whatever you consider)\n\
+                                            (use logrotate or whatever you consider).\n\
    splitLog:                                Splits log file (appends to log filename, extensions with the type of event: see help on\n\
                                             startup information-level traces). No log files for code/decode and load operations are created.\n\
-                                            Default value 'no'\n\
+                                            Default value 'no'.\n\
    detailedLog:                             Insert detailed information at log files. Should be disabled on automatic tests. Useful on\n\
-                                            'balance' mode to know messages flow along the sockets. Default value 'no'\n\
+                                            'balance' mode to know messages flow along the sockets. Default value 'no'.\n\
    dumpLog:                                 Write to disk every incoming/outcoming message named as:\n\
                                                '<originRealm>.<hop by hop>.<end to end>.<message code>.<request|answer>.<type of event>.xml'\n\
-                                            Default value 'no'\n\
+                                            Default value 'no'.\n\
    burstLog:                                Burst operations log file. By default '<originRealm>.launcher.burst'. Empty string or \"null\" name, to disable.\n\
                                             Warning: there is no rotation for log files (use logrotate or whatever). Output: dot (.) for each\n\
                                             burst message sent/pushed, cross (x) for popped ones, and order number when multiple of 1% of burst\n\
-                                            list size, plus OTA requests when changed\n\
+                                            list size, plus OTA requests when changed.\n\
 \n\
 -->\n\
 \n\
index d227650..ca6cfce 100644 (file)
@@ -76,7 +76,7 @@ void RealmNode::createEntity(const std::string &entityRepresentation, const anna
 
 void RealmNode::startDiameterServer(const std::string &serverRepresentation, int sessions, const anna::Millisecond &inactivityTimeout) throw(anna::RuntimeException) {
 
-  if(sessions <= 0) return;
+  //if(sessions <= 0) return; negative implies no limit for accepted connections
 
   std::string address; int port;
   anna::functions::getAddressAndPortFromSocketLiteral(serverRepresentation, address, port);
index 3073050..9030c46 100755 (executable)
@@ -76,14 +76,14 @@ calculate_deployment_layout() {
   read G_ADML_CONNECTIONS
   [ -z "$G_ADML_CONNECTIONS" ] && G_ADML_CONNECTIONS=1
   [ $G_ADML_CONNECTIONS -lt 1 ] && G_ADML_CONNECTIONS=1
-  if [ $G_ADML_CONNECTIONS -gt 1 ]
-  then
-    echo "Remember to add 'diameterServerSessions="$G_ADML_CONNECTIONS"' on servers services.xml file (node tag)"
-    echo " in case that you are testing against ADML servers."
-    echo
-    echo "Press ENTER to continue, CTRL-C to abort ..."
-    read dummy
-  fi
+#  if [ $G_ADML_CONNECTIONS -gt 1 ]
+#  then
+#    echo "Remember to add 'diameterServerSessions="$G_ADML_CONNECTIONS"' on servers services.xml file (node tag)"
+#    echo " in case that you are testing against ADML servers."
+#    echo
+#    echo "Press ENTER to continue, CTRL-C to abort ..."
+#    read dummy
+#  fi
   if [ $G_ADML_CONNECTIONS -gt $MAXIMUM_SUGGESTED_CLIENT_CONNECTION_PER_ADML_INSTANCE ]
   then
     G_ADML_CONNECTIONS=$MAXIMUM_SUGGESTED_CLIENT_CONNECTION_PER_ADML_INSTANCE
index c257afc..b58ec6a 100644 (file)
@@ -3,6 +3,6 @@
   <stack id="0" dictionary="dictionary.xml"/>
 
   <!-- Nodes -->
-  <node originRealm="ADML-server" applicationId="0" diameterServer="localhost:3868"/>
+  <node originRealm="ADML-server" applicationId="0" diameterServer="localhost:3868" diameterServerSessions="-1"/>
 </services>
 
index 1e40d28..dee3f1e 100755 (executable)
 
    originRealm:                             Node identifier (Origin-Realm name).
    applicationId:                           The Application-Id provided must exists as a registered 'stack id'.
-   originHost:                              Diameter application host name (system name). If missing, process sets o.s. hostname
+   originHost:                              Diameter application host name (system name). If missing, process sets o.s. hostname.
                                             Note that if you have two or more realms, the names must be different.
    cer:                                     User defined CER path file to be encoded to establish diameter connections.
-                                            If missing, will be harcoded
+                                            If missing, will be harcoded.
    dwr:                                     User defined DWR path file to be encoded for diameter protocol keep alive.
-                                            If missing, will be harcoded
+                                            If missing, will be harcoded.
    allowedInactivityTime:                   Milliseconds for the maximum allowed inactivity time on server sessions born over the
-                                            local server before being reset. If missing, default value of 90000 will be assigned
+                                            local server before being reset. If missing, default value of 90000 will be assigned.
    tcpConnectDelay:                         Milliseconds to wait TCP connect to any server. If missing, default value of 200 will
-                                            be assigned
+                                            be assigned.
    answersTimeout:                          Milliseconds to wait pending application answers from diameter peers. If missing,
-                                            default value of 10000 will be assigned
+                                            default value of 10000 will be assigned.
    ceaTimeout:                              Milliseconds to wait CEA from diameter server. If missing, default value of 'answersTimeout'
-                                            will be assigned
+                                            will be assigned.
    watchdogPeriod:                          Milliseconds for watchdog timer (Tw) for diameter keep-alive procedure. If missing, default
-                                            value of 30000 will be assigned
+                                            value of 30000 will be assigned.
    entity:                                  Target diameter entity (comma-separated '<address>:<port>' format).
-                                            For example: 10.20.30.40:3868,10.20.30.41:3868. If missing, no entity will be enabled
-   entityServerSessions:                    Diameter entity server sessions (0: diameter entity disabled). Default value of 1
+                                            For example: 10.20.30.40:3868,10.20.30.41:3868. If missing, no entity will be enabled.
+   entityServerSessions:                    Diameter entity server sessions (0: diameter entity disabled). Default value of 1.
    diameterServer:                          Diameter own server address in '<address>:<port>' format. For example: 10.20.30.40:3868.
-                                            If missing, no local server will be enabled
-   diameterServerSessions:                  Diameter own server available connections (0: diameter server disabled). Default value of 1
+                                            If missing, no local server will be enabled.
+   diameterServerSessions:                  Diameter own server available connections (0: diameter server disabled). Default value of 1.
+                                            Negative value implies no limit accepting incoming connections.
    balance:                                 Balance over entity servers instead of doing standard behaviour (first primary, secondary
-                                            if fails, etc.). Default value 'no'
+                                            if fails, etc.). Default value 'no'.
    sessionBasedModelsClientSocketSelection: By default, round-robin will be applied for IEC model (SMS/MMS), and Session-Id Low Part
                                             will be analyzed for ECUR/SCUR model (data, voice and content). You could change ECUR/SCUR
                                             analysis behaviour providing 'SessionIdHighPart', 'SessionIdOptionalPart' (atoi applied;
                                             usually subscriber id data, i.e. MSISDN or IMSI) and 'RoundRobin' (also 'SessionIdLowPart')
-   retries:                                 Expired responses will cause a number of request retransmissions. Disabled by default (0 retries)
+   retries:                                 Expired responses will cause a number of request retransmissions. Disabled by default (0 retries).
    log:                                     Process log file (operations result, traffic log, etc.). By default '<originRealm>.launcher.log'.
                                             Empty string or "null" name, to disable. Warning: there is no rotation for log files
-                                            (use logrotate or whatever you consider)
+                                            (use logrotate or whatever you consider).
    splitLog:                                Splits log file (appends to log filename, extensions with the type of event: see help on
                                             startup information-level traces). No log files for code/decode and load operations are created.
-                                            Default value 'no'
+                                            Default value 'no'.
    detailedLog:                             Insert detailed information at log files. Should be disabled on automatic tests. Useful on
-                                            'balance' mode to know messages flow along the sockets. Default value 'no'
+                                            'balance' mode to know messages flow along the sockets. Default value 'no'.
    dumpLog:                                 Write to disk every incoming/outcoming message named as:
                                                '<originRealm>.<hop by hop>.<end to end>.<message code>.<request|answer>.<type of event>.xml'
-                                            Default value 'no'
+                                            Default value 'no'.
    burstLog:                                Burst operations log file. By default '<originRealm>.launcher.burst'. Empty string or "null" name, to disable.
                                             Warning: there is no rotation for log files (use logrotate or whatever). Output: dot (.) for each
                                             burst message sent/pushed, cross (x) for popped ones, and order number when multiple of 1% of burst
-                                            list size, plus OTA requests when changed
+                                            list size, plus OTA requests when changed.
 
 -->