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/mibsare 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.gzcreated.
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
scpor 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.repoas the following:
- Update the
[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 TextPassToolsyum 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
<tpconfigtag - 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/messagessystem 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.gzcreated 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
- Make sure it is pointing to the default
- (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.myfile has reverted correctly and that there is no longer a amsPropMmtsDisable line. - Ensure that any issues caused by the upgrade are resolved.