Document toolboxDocument toolbox

.Deployment Guide v13.2

Solution Prerequisites

The following are the solution setup prerequisites.

Hardware requirements

For HA deployment, each machine in the cluster should have the following hardware specifications.


Minimum requirement

CPU

2 cores vCPU (4 cores for non-HA deployment)

RAM

4 GB (8 GB for non-HA deployment)

Disk

100 GB mounted on /

NICs

1 NIC

Software Requirements

Installation Steps

Internet should be available on the machine where the application is being installed and connections on port 9242 should be allowed in the network firewall to carry out the installation steps. Trailing # is not a part of the command.


Configure Log Rotation

Add the following lines in /etc/docker/daemon.json file (create the file if not there already) and restart the docker daemon using systemctl restart docker. Perform this step on all the machines in the cluster in case of HA deployment.

{   
    "log-driver": "json-file", 
    "log-opts": {
        "max-size": "50m",
        "max-file": "3"
    } 
}


Creating Databases

Create two databases i:e (For UMM & ECM) in the MSSQL/MYSQL server with a suitable name and follow the application installation steps.

Installing Application

  1. Download the deployment script ecm-deployment.sh and place it in any directory. This script will:
    1. delete the ecm-deployment directory in the present working directory if it exists.
    2. clone the ecm-deployment repository from gitlab in the present working directory.
  2. To execute the script, give it the execute permissions and execute it. (on RHEL, run commands with sudo)

    # chmod +x ecm-deployment.sh
    # ./ecm-deployment.sh
  3. Update these variables for ECM in the environment-variables.env file.

  4. Update the following UMM environment variables in the same file.

    NameDescription
    Change the following variables as per your environment For UMM
    PRIM_FINESSE_IP

    Primary Finesse URL including port (if not 80 or 443)

    For example:

    SEC_FINESSE_IP

    Secondary Finesse URL including port (if not 80 or 443)

    For example:

    FINESSE_USERFinesse administrator user
    FINESSE_PASSFinesse administrator password
    UMM_DB_URLUMM Database
    UMM_DB_DRIVERUMM Database driver

    UMM_DB_DIALECT

    UMM Database dialect
    UMM_DB_PASSUMM Database password
    UMM_DB_USERUMM Database username

    ADMIN_PASS

    The password of the admin user

    SSO_ENABLED
    it should be set to 'false' by default. No need to change this.

    SSL_TRUST_STORE_PATH

    Path of the SSL truststore including the name. This truststore should include UCCX SSL certificates if Finesse APIs needed to access via HTTPS
    SSL_TRUST_STORE_PASSWORDTruststore password
    SERVER_URL

    Provide the URL of Umm :
    http://<machine_IP>:<PORT>

    For Example

    In the case of HA, machine_IP should be the virtual IP of HA

    CISCO_TYPEUCCE/UCCX (capital case without quotes) 
    SUP_VERSION
    No need to change its default value.
  5. Get domain/CA signed SSL certificates for ecm FQDN/CN and place the files in ecm-deployment/docker/certificates folder. The file names should be server.crt and server.key.
  6. Copy the ecm-deployment directory to the second machine for HA. Execute below command 

    # scp -r ecm-deployment root@machine-ip:~/
  7. Go to the second machine and update the environment variables where necessary like INSTANCE_NAME and SERVER_URL
  8. Execute the following commands inside the ecm-deployment directory on both machines.

    # chmod 755 install.sh
    # ./install.sh
  9. Run the following command to ensure that all the components are up and running. The screenshot below shows a sample response for a standalone non-HA deployment. 

    # docker ps


Virtual IP configuration

Repeat the following steps for all the machines in the HA cluster.

  1. Download keepalived.sh script and place it in any directory.
  2. Give execute permission and execute the script. This will create a keep-alived directory.

    # chmod +x keepalived.sh
    # ./keepalived.sh

  3. Configure keep.env file inside keep-alived directory

    Name

    Description

    KEEPALIVED_UNICAST_PEERS

    IPs of the machines in the cluster. On each machine, this variable should have a list of IPs of all the other machines in the cluster. The format of the list is as below: 

    192.168.1.80

    KEEPALIVED_VIRTUAL_IPSVirtual IP of the cluster. It should be available in the LAN. For example: 192.168.1.245
    KEEPALIVED_PRIORITYPriority of the node. Instance with lower number will have a higher priority. It can take any value from 1-255. 
    KEEPALIVED_INTERFACEName of the network interface with which your machine is connected to the network. On CentOS, ifconfig or ip addr sh will show all the network interfaces and assigned addresses. 
    CLEARANCE_TIMEOUTCorresponds to the initial startup time of the application in seconds which is being monitored by keepalived. A nominal value of 60-120 is good enough
    KEEPALIVED_ROUTER_IDDo not change this value.
    SCRIPT_VAR

    This script is continuously polled after 2 seconds. Keepalived relinquishes control if this shell script returns a non-zero response. It could be either umm or ECM backend API.

    pidof dockerd && wget -O index.html http://localhost:7575/

  4. Give the execute permission and execute the script: 

    # chmod +x keep-command.sh
    # ./keep-command.sh


Adding License and Application Settings

  1. Browse to http://<MACHINE_IP or FQDN:UMM_Port>/umm in your browser (FQDN will be the domain name assigned to the IP/VIP). 
  2. Click on the red warning icon on right, paste the license in the field and click save. 




  3. Once license is added, go to http://<MACHINE_IP or FQDN>/#/applicationSetting and define application settings.
  4. Restart the services after application settings are defined using below commands inside ecm-deployment directory

    docker-compose -f docker/docker-compose.yml down
    docker-compose -f docker/docker-compose.yml up -d