Skip to content

MMTS Flag Configuration Guide

Introduction

This guide provides a comprehensive walkthrough for disabling MMTS in your current installation of the Lithium component AMS. Following these steps carefully will ensure a smooth and successful process, minimizing downtime and potential issues.

Why Upgrade?

  • New Features and Enhancements: The latest version includes AMS support for a new flag to disable MMTS (More Messages To Send).

Intended Audience: This guide is intended for system administrators.

Assumptions:

  • You have administrative access to the system where all Lithium elements are installed.
  • You have root access to the MGR mysql database instance.
  • You have access to the upgrade package/installer.

Potential Risks:

  • MiB and TextPassTools:
  • The MiB files located in /usr/share/snmp/mibs are crucial to the Lithium software system. During the installation process, the MiB files will be reinstalled (overwritten) by the TextPassTools component. This step has the potential to disrupt other Lithium components, not limited to TextPassAMS. Therefore, it is extremely important to ensure that you back up the files in this directory.

Pre-Upgrade Checklist and Preparations

Before proceeding with the upgrade, ensure the following steps are completed:

Verify System Requirements

  • Action: Confirm that your system meets the minimum and recommended requirements for the new version.
  • Steps:
  • SSH into each server node.
  • Check the output of command cat /etc/redhat-release
  • Ensure the output is Red Hat Enterprise Linux Server release 8.10 (Ootpa)

Review Release Versions

  • Action: Carefully note down current versions of impact components in your system. Review the change logs from current versions to the target versions.
  • Steps:
  • SSH to each server, exam and note down the current installed version via command:
    • rpm -qa TextPassTools TextPassAMS
  • Note down the following target component and versions:
    • TextPassTools: R04.22.04.15
    • TextPassAMS: R01.13.01.15

Download the Upgrade ISO

  • Action: Download the official SW iso for the target version from the trust source. Expect the iso file name:
  • NMM-SW-24.03.08-RHEL8.iso

Backup Your System

  • Action: Perform a full backup (or take snapshots) of all server nodes. This is crucial for full rollback if needed. Additionally, take the following backup steps for quick rollback.
  • Steps:
  • Evaluate the free disk space before proceeding.
  • SSH to each server nodes, take a quick backup of the following directory:
    • tar -czf /root/mibs-$(date +%Y-%m-%d).tar.gz -C /usr/share/snmp mibs
    • Ensure the file /root/mibs-<date>.tar.gz created.

Performing the Upgrade

This section outlines the detailed steps to perform the upgrade.

Update yum repository

  • Action: Update the yum repository by mounting a new SW ISO file and modifying the repository configuration, you can follow these steps. Ensure you have the necessary permissions and that the ISO file is available on the server or accessible via network share.
  • Steps:
  • SSH into the server node where the AMS installed.
  • Copy the ISO file to the server if it's not already there. You can use scp or any other file transfer method.
  • Create a mount point for the ISO
    • mkdir -p /var/TextPass/AMS-Upgrade-iso
  • Mount the ISO file to the mount point
    • mount -o loop <path-SW-iso-file> /var/TextPass/AMS-Upgrade-iso
  • Update the yum repo file
    • Update the /etc/yum.repos.d/lithium-SW_local.repo as the following:
[lithium-SW-repo-Local]
name=Local Repository for Lithium SW packages
# baseurl=file:///var/Packages/SW/
baseurl=file:///var/TextPass/AMS-Upgrade-iso/SW/
gpgcheck=0
enabled=1
module_hotfixes=true
  • Clear yum cache
    • yum clean all
  • Verify target package versions are available
    • yum list --showduplicates TextPassTools TextPassAMS
    • [TODO] screenshot

Upgrade TextPassAMS

  • Action: Upgrade the TextPassAMS. Execute this step on all nodes where the AMS is installed.
  • Steps:
  • SSH to each AMS node.
  • Execute command
    • yum update TextPassTools
    • yum update TextPassAMS
  • Review the updating package version and press y on prompt
  • Restart the AMS by the following commands
    • su - textpass -c "tp_stop --tp_ams"
    • su - textpass -c "tp_start --tp_ams"

MMTS Disable Flag Configuration

The new MMTS disable flag option should be configured in the common config file (/usr/TextPass/etc/common_config.txt)

Configure MMTS flag

The amsmmtsdisable parameter must be set to either "true" or "false" in the common config file root element tpconfig. Any other value is invalid and will prevent AMS from starting.

  • amsmmtsdisable="true": All the forwardSM requests from AMS will be marked as "No more messages to send".
  • amsmmtsdisable="false": All the forwardSM requests from AMS behave as before the change (the "No more messages to send" in the request depends on the SMS content length etc)
  • No config: Behave same as the amsmmtsdisable="false"

Example

Note: AMS restart is required when the config value is changed.

# Viewing the configuration file
[root@main-node ~]# head -25 /usr/TextPass/etc/common_config.txt
<!--
  Common configuration file for the TextPass Product Suite
  (c) Copyright 2007-2022 ZephyrTel

  Create by Automation tool on : Fri Aug 19 18:38:59 CEST 2022
-->

<!--
  In order to avoid having to keep the configuration files on
  potentially many Traffic nodes in sync, all semi-static configuration
  parameters that apply to all Traffic nodes equally should be specified
  in the common_config.txt file, distributed from the OAM node.
  (See fxferfile-tag in {hostname}_config.txt.)
-->

<tpconfig
  amsmasterstoragetype="nonvolatile"
  amsnumberofreplicas="0"
  amsreplicastoragetype="nonvolatile"
  amsmmtsdisable="true"
  batdbpassword="BATuser123"
  batdbuser="BATuser"
  commonaddress="491721000099"
/>

[root@main-node ~]#

Post-Upgrade Verification

After the upgrade, it's crucial to verify that the system is functioning correctly.

Verify Lithium Service Status

  • Action: Ensure all Lithium component services are online without errors.
  • Steps:
  • SSH to each node (not limit to the AMS nodes)
  • Check all the service are in the operating state
    • su - textpass -c tp_status
[root@main-node ~]# su - textpass -c tp_status
PROCESS     STATE       UPTIME
textpass    operating   3 days, 18:06:51.09
tp_hub      operating   3 days, 18:06:48.02
tp_faf      operating   3 days, 18:06:50.98
tp_pbc      operating   3 days, 18:06:50.97
tp_ams      operating   3 days, 18:06:47.96
tp_emg      operating   3 days, 18:06:50.93
tp_iiw      operating   3 days, 18:06:47.64
tp_lgp      operating   3 days, 18:06:51.05
tp_bat      operating   3 days, 18:06:47.79
tp_qcli     operating   3 days, 18:06:51.00
tp_mgrd     operating   3 days, 18:06:50.00
ec_abm      operating   3 days, 18:06:50.76
tp_ssi      starting    3 days, 18:06:47.66
[root@main-node ~]#

Verify the MiB file

  • Action: Ensure the MiB file gets updated.
  • Steps:
  • SSH to the AMS nodes.
  • Inspect the plain text file /usr/local/share/snmp/mibs/textpass-ams-mib.my
  • Ensure the following line present in the file
    • amsPropMmtsDisable OBJECT-TYPE

Functional Testing

  • Action: Verify that MMTS is disabled by amsmmtsdisable property in the common_config.txt
  • Steps:
  • Enable debug log, see Troubleshooting Steps
  • Edit the /usr/TextPass/etc/common_config.txt by adding the amsmmtsdisable="true" to the root <tpconfig tag
  • Watch the debug log tail -f /var/log/debug | grep 'More Messages to Send flag'
  • Restart the AMS
  • Expect the log message "Disable More Messages to Send flag in deliver_sm requests."
  • Action: Verify that MMTS is enabled by amsmmtsdisable property in the common_config.txt
  • Steps:
  • Same scenario but put the amsmmtsdisable="false" in the common config file.
  • Expect the log message "Enable More Messages to Send flag in deliver_sm requests."
  • Action: Verify that MMTS is enabled by default
  • Steps:
  • Same scenario but remove the amsmmtsdisable in the common config file.
  • Expect the log message "Enable More Messages to Send flag in deliver_sm requests."

System Monitoring

  • Action: Monitor the system after the upgrade to identify any potential issues.
  • Steps:
  • Observe the Lithium component status across all the node
    • su - textpass -c tp_status
  • Please monitor the /var/log/messages system log file and ensure there are no error messages.

Troubleshooting

This section provides guidance for troubleshooting for AMS upgrade issues.

Troubleshooting Steps

  • Enable debug logging:
  • SSH to each AMS node
  • Append the following to the /etc/rsyslog.conf
    • *.debug /var/log/debug
  • Restart the rsyslog service
    • systemctl restart rsyslog
  • Watch the AMS log:
  • tail -f /var/log/debug | grep tp_ams | grep "The more to send flag"
  • The debug log should print sample log below:
    • The more to send flag is 0
    • The more to send flag is 1

Request Customer Support

  • Include the following when raise a support request:
  • The MiB backup /root/mibs-<date>.tar.gz created on step 2.4
  • Debug log captured on the section Verify Lithium Service Status
  • Common config file (usually at /usr/TextPass/etc/common_config.txt)

Rollback Procedure (If Necessary)

If the upgrade encounters critical issues that cannot be resolved quickly, you may need to rollback to the previous version.

Revert yum repository (all nodes where AMS installed)

  • Action: Revert the yum repository setting.
  • Steps:
  • Revert the /etc/yum.repos.d/lithium-SW_local.repo
    • Make sure it is pointing to the default file:///var/Packages/SW/
    • Clean yum cache
    • yum clean all
  • (Optional) Umount the iso and delete the NMM-SW-24.03.08-RHEL8.iso

Downgrade

  • Action: Downgrade TextPassTools and TextPassAMS to the original version.
  • Steps:
  • SSH to each nodes
    • yum downgrade TextPassTools-<version>
  • SSH to each AMS nodes
    • yum downgrade TextPassAMS-<version>
  • Remove the amsmmtsdisable property in the /usr/TextPass/etc/common_config.txt
  • Restart AMS
    • su - textpass -c "tp_stop --tp_ams"
    • su - textpass -c "tp_start --tp_ams"

Verify Rollback

  • Action: Verify that the previous version is functioning correctly.
  • Steps:
  • Validate the Lithium components in operating state
    • su - textpass -c tp_status
  • Please validate that the /usr/local/share/snmp/mibs/textpass-ams-mib.my file has reverted correctly and that there is no longer a amsPropMmtsDisable line.
  • Ensure that any issues caused by the upgrade are resolved.