High Availability Prerequisites
By default, Ansible expects the shared storage to be mounted as follows:
Required
-
Shared storage for the Artemis messaging server (ActiveMQ
An open source generic message interface written in Java. It fosters the communication from more than one client or server, allowing it to act, for example, a messaging interface between CMP and external components. server) and its broker persistence directory, should be mounted to /var/mdsglobal/amq-broker/datadirectory on all instances that host Artemis Server. - Shared storage for the SABRE server (batch server) should be mounted to
/var/mdsglobal/sabre-serverdirectory on all instances that host SABRE Server. -
Shared storage for the Bulk Action Console server (bulk action server) should be mounted to
/var/mdsglobal/bulk-action-consoledirectory on all instances that host Bulk Action Console. - Shared storage for the Report Server (Pentaho server) should be mounted to
/var/mdsglobal/pentaho-solutionsdirectory on all instances that host Report Server. (See High Availability for Reports).
Optional
-
Shared storage for the Grafana Mimir (Grafana monitoring server) should be mounted to
/var/mdsglobal/mimirdirectory on all instances that host Grafana Server. -
Shared storage for the Aurora Console should be mounted to
/var/mdsglobal/aurora-consoledirectory on all instances that host Aurora Console.
The table below is an overview of the required base folder configuration:
|
Shared Base Directory |
Owner / Group UID / GID |
Permissions |
|---|---|---|
|
/var/mdsglobal/ |
root:root |
755 |
|
/var/mdsglobal/amq-broker/data |
artemis 210:210 |
770 |
|
/var/mdsglobal/sabre-server |
sabre 201:201 |
770 |
|
/var/mdsglobal/bulk-action-console |
bulkaction 205:205 |
755 |
|
/var/mdsglobal/pentaho-solutions |
tomcat 212:212 |
750 |
|
/var/mdsglobal/aurora-console |
aurora 216:216 |
755 |
|
/var/mdsglobal/mimir |
mimir 215:215 |
750 |
For the Ansible installer to create the required sub directories and setup permissions for the above data shares during the deployment, the base folder must be configured with the correct permissions and configuration.
As there are many options available to create a shared storage solution, it is beyond the scope of this document to specify which solution to use and how that should be setup. However, as a guide when using the common and simple Linux
A well-known widely used open source operating system. NFS Share Solution, below is an example of the /etc/exports file configuration that should be used:
/var/mdsglobal/amq-broker/data <ip address>(rw,sync,no_subtree_check,no_root_squash)
/var/mdsglobal/bulk-action-console <ip address>(rw,sync,no_subtree_check,no_root_squash)
/var/mdsglobal/sabre-server <ip address>(rw,sync,no_subtree_check,no_root_squash)
/var/mdsglobal/pentaho-solutions <ip address>(rw,sync,no_subtree_check,no_root_squash)
Load Balancer Virtual Services
For the load balancer it is necessary to create the virtual services before an HA CMP
Converged Monetisation Platform. The MDS Global product that supports customer care and billing for digital service providers. installation takes place because URL access is checked during the installation process. The following table contains an example set of load balancer services:
The ports used are the standard ones in the Inventory Configuration. If they are changed as part of the installation then the ports accessed by the load balancer would need to be updated accordingly.
|
Service Name |
Protocol |
Default Port |
Health Check Name |
Timeouts |
Affinity |
|---|---|---|---|---|---|
|
AgentView / Pentaho |
HTTPS |
Port 7443 |
/healthCheck/agent-view |
28,800 seconds (8 hours) |
Auto generated session Cookie |
|
WSO2 Identity Server |
HTTPS |
Port 9443 |
/healthCheck/wso2is |
30 seconds |
Client IP |
|
Role Extender |
HTTPS |
Port 8081 |
/healthCheck/role-extender |
30 seconds |
None |
|
SOAP Web Services |
HTTPS |
Port 8443 |
|
30 seconds |
None |
|
REST Web Services |
HTTPS |
Port 9000 |
/healthCheck/rest-ws |
30 seconds |
None |
|
Business Configuration |
HTTPS |
Port 8443 |
/healthCheck/configuration-centre |
30 seconds |
Client IP |
|
Bulk Action Console |
HTTPS |
Port 9009 |
/healthCheck/bulk-action-console |
30 seconds |
Client IP |
|
CMP Administration Console |
HTTPS |
Port 31212 |
/healthCheck/sabre-console |
30 seconds |
Client IP |
|
Artemis / ActiveMQ Broker |
TCP/SSL |
Port 61616 |
/healthCheck/apache-activemq-broker |
30 seconds |
None |
|
Artemis / ActiveMQ Console |
HTTPS |
Port 8161 |
/healthCheck/apache-activemq-console |
30 seconds |
Client IP |
|
Shared Services |
HTTPS |
Port 21218 |
/healthCheck/shared-services-rest |
30 seconds |
None |
|
SAM Services |
HTTPS |
Port 21220 |
/healthCheck/sam-services |
30 seconds |
None |
|
Voucher Management Services |
HTTPS |
Port 21223 |
/healthCheck/voucher-management-services |
30 seconds |
None |
|
Context Sensitive Help |
HTTPS |
Port 21221 |
/healthCheck/context-sensitive-help |
30 seconds |
None |
|
SPaRC Engine |
HTTPS |
Port 21222 |
/healthCheck/sparc-engine |
30 seconds |
None |
| Aurora Console | HTTPS | Port 9010 | /healthCheck/aurora-console | 30 seconds | Client IP |
| Grafana | HTTPS | Port 3000 | healthCheck/grafana | 30 seconds | Client IP |
| Prometheus | HTTPS | Port 9090 | healthCheck/prometheus2 | 30 seconds | Client IP |
For the load balancer services DNS names must be configured in the CMP inventory. As described above these are needed BEFORE the installation of CMP is started.
Note:
If host and path rules are used in the load balancer to direct traffic to the correct services, only DNS subdomain configurations are supported and not path rules.
For example the following are valid:
wso2is.cmp8.com
soap-services.cmp8.comHowever, the following are invalid:
www.cmp8.com/wso2is
www.cmp8.com/soap-servicesThis is because certain services such as WSO2IS have in-built redirects from the root context(/) that override any paths that have been configured as part of the load balancer rules.
High Availability for Reports
Recommendations:
- Report Server (the Pentaho server) should be deployed to all AgentView
The graphical user interface of the CMP that is typically used by Customer Service Agents to access CMP customer and billing data. In versions prior to CMP 8.0, this was called the CMP GUI. hosts. This must be manually configured in the Installation Configuration Tool. - Report Server should make use of shared storage as described above. This reduces the confusion/complexity of report output being stored on multiple hosts
- Run Report Server in an Active/Active state so that end users do not need to consider switching on/off schedules between active/passive nodes as needed.