Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

For Luma Service Automation On-Premise deployment, the following components should be installed on the on-premise server:

...

Info

Use 'lumauser' to execute all the docker container, deployment scripts, and all the docker commands instead of sudo user. 

Table of Contents

Pre-Deployment Actions

Perform the following Pre-deployment actions:

...

  1. Locate the master.properties file and update your configurations in the respective sections.

  2. If upgrading to the latest ITAS version, you may copy the master.properties file from the previous release and add the below properties under the respective section.

    Code Block
    ############ Common Configuration - BEGIN ############ 
    DOCKER_REGISTRY=registry-1.docker.io
    STOP_DOCKER_RESTART_ON_APP_STARTUP_FAILURE=false
    
    #ENVIRONMENT name should not have space and hyphen(-). 
    #Use only underscore(_) and alphanumeric name in lower case
    #Example: desdevops
    ENVIRONMENT=
    
    ############ Common Configuration - END ############ 
    
    
    ############ Application URLs - BEGIN ############ 
    ITAS_APPLICATION_URL=
    SA_ONPREM_BRIDGE_URL=
    
    ############ Application URLs - END ############ 
    
    
    ############ Versions & Servers - BEGIN ############ 
    ITAS_SERVICE_BUS_VERSION=
    ITAS_MULE_ADAPTOR_VERSION=
    ITAS_DBUPGRADE_VERSION=
    ITAS_CONNECTORS_PACKAGE_VERSION=
    SA_TUNNELLING_SERVICE_VERSION=
    
    #ITAS Hosts
    #Provide ip of the host machine where docker container will run. If all the container are on the same machine then all ip will be same.
    ITAS_ACTIVEMQ_MASTER_BROKER_SERVER_NAME=
    ITAS_ACTIVEMQ_SLAVE_BROKER_SERVER_NAME=
    SA_TUNNELING_ACTIVEMQ_MASTER_BROKER_SERVER_NAME=
    ITAS_MULE_ADAPTOR_SERVER_NAME=
    ITAS_MULE_RUN_SERVER_NAME=
    
    
    ############ Versions & Servers - END ############ 
    
    
    ############ Database Configuration - BEGIN ############ 
    #ITAS MySQL Database
    ITAS_DB_HOST_NAME=
    ITAS_DB_USERNAME=
    #Use the encryption utility to get the encrypted password and provide it here 
    ITAS_DB_PASSWORD=
    ITAS_DB_PORT=3306
    ITAS_DB_TYPE=MYSQL
    ITAS_DB_DRIVER=com.mysql.jdbc.Driver
    
    #ITAS Mule Database (MySQL)
    ITAS_MULE_DB_HOST_NAME=
    ITAS_MULE_DB_USERNAME=
    #Use the encryption utility to get the encrypted password and provide it here 
    ITAS_MULE_DB_PASSWORD=
    ITAS_MULE_DB_PORT=3306
    ############ Database Configuration - END ############ 
    
    
    ############ Base Machine Configuration - BEGIN ############ 
    ITAS_BASE_MACHINE_SERVICE_BUS_DATASTORE_PATH=/platform/data/servicebus_store/itas
    ITAS_BASE_MACHINE_ATTACHMENTS_STORE_PATH=/platform/data/attachment_store/itas
    
    
    # MULE Run - Base Machine mount paths
    ITAS_MULE_DIR_PATH=/platform/data/mule_run
    
    MULE_RUN_INITIAL_MEMORY=4096
    MULE_RUN_MAX_MEMORY=4096
    ############ Base Machine Configuration- END ############ 
    
    
    ############ Application Ports - START ############ 
    #ITAS ActiveMQ Ports
    ITAS_ACTIVEMQ_MASTER_BROKER_PORT=61516
    ITAS_ACTIVEMQ_SLAVE_BROKER_PORT=61515
    
    #ITAS Jolokia Ports
    ITAS_MULE_ADAPTOR_JOLOKIA_PORT=7502
    ITAS_SERVICE_BUS_MASTER_JOLOKIA_PORT=7505
    
    
    #ITAS JVM DEBUG Ports
    TAS_MULE_ADAPTOR_JVM_DEBUG_PORT=2502
    SA_TUNNELING_SERVICE_JVM_DEBUG_PORT=2504
    ITAS_SERVICE_BUS_MASTER_JVM_DEBUG_PORT=2505
    
    #ITAS JMX Ports
    ITAS_MULE_ADAPTOR_JMX_PORT=4502
    SA_TUNNELING_SERVICE_JMX_PORT=4504
    ITAS_SERVICE_BUS_MASTER_JMX_PORT=4505
    
    
    #Tunneling Service
    #ActiveMQ ports should be same as application activemq ports. e.g., for ITAS deployment ITAS_ACTIVEMQ_MASTER_BROKER_PORT and SA_TUNNELING_ACTIVEMQ_MASTER_BROKER_PORT should be same.
    SA_TUNNELING_ACTIVEMQ_MASTER_BROKER_PORT=61516
    SA_TUNNELING_SERVICE_PORT=10095
    
    
    
    #ITAS Email Configurations
    #Below credentials used to send email notification for db/ootb content upgrade failure and application emails
    ITAS_DB_MIGRATION_ERRORS_ENABLE_EMAIL=true
    ITAS_EMAIL_SERVER_USERNAME=
    ITAS_EMAIL_SERVER_PASSWORD=
    ITAS_EMAIL_SERVER_NAME=
    ITAS_EMAIL_SERVER_PORT=
    ITAS_DB_MIGRATION_ERRORS_SEND_TO_EMAIL_ADDRESS=
    
    
    ############ Miscellaneous Common - BEGIN ############ 
    #Possible values for ITAS_MULE_DEPLOYMENT are: IN_HOUSE and ON_PREM
    ITAS_MULE_DEPLOYMENT=ON_PREM
    
    MULE_ENCRYPTION_PASSWORD=serviceaide
    
    ############ Miscellaneous Common - END ############
    
    ############ On Premise Properties - BEGIN ############
    ##These need to be updated once instance registration is performed with ITAS##
    SA_TUNNELING_TARGET_APP=ITAS
    SA_TUNNELING_TENANT_EXTERNAL_ID=
    SA_TUNNELING_APPLICATION_IDENTIFIER=
    SA_TUNNELING_SECRET_KEY=
    ############ On Premise Properties - END ############
    
    
  3. Configure system ulimits in file /etc/security/limits.conf

    Code Block
    centos       soft    nproc           16384      
    centos       hard    nproc           16384
    centos       soft    nofile          65536
    centos       hard    nofile          65536
    lumauser     soft    nproc           16384 
    lumauser     hard    nproc           16384
    lumauser     soft    nofile          65536
    lumauser     hard    nofile          65536
    root         soft    nproc           16384
    root         hard    nproc           16384
    root         soft    nofile          65536
    root         hard    nofile          65536
  4. Login to dockerhub using the below command:

    Code Block
    docker login https://registry-1.docker.io -u serviceaideindia
    # use the dockerhub password provided separately

Deployment  Actions

The next step is to deploy containers in the docker hub.

  1. To deploy all containers, including itas_mule_run, itas_service_bus, itas_db_migration, sa_tunneling_service, itas_connectors, use the below command:
    ./onprem_stack.sh deployall

    Code Block
    sudo mkdir -p /platform/data/logs/itas/itas_mule_adaptor
    sudo mkdir -p /platform/data/logs/itas/itas_db_migration
    sudo mkdir -p /platform/data/logs/itas/itas_service_bus
    sudo chmod -R 777 /platform/data/logs/itas
    sudo mkdir -p /platform/data/attachment_store/itas
    sudo mdir -p /platform/data/servicebus_store/itas
    sudo chown -R 1000:1000 /platform/data/servicebus_store/itas
    sudo chown -R 1000:1000 /platform/data/attachment_store/itas
    # download mule_run is one time activity
    sudo wget -q https://repository.mulesoft.org/nexus/content/repositories/public/org/mule/distributions/mule-standalone/3.9.0-hf2/mule-standalone-3.9.0-hf2.zip
    sudo unzip -qq mule-standalone-3.9.0-hf2.zip
    sudo mv mule-standalone-3.9.0-hf2 /platform/data/mule_run
    sudo chown -R 1000:1000 /platform/data/mule_run
    
    
    
    ./onprem_stack.sh deployall     (If we want to deploy all containers at a time)

  2. If you wish to deploy individual containers, then follow the below process.

    Code Block
    Usage: 
     To Deploy mule_run : ./onprem_stack.sh mule_run 
     To Deploy itas_service_bus : ./onprem_stack.sh itas_service_bus 
     To Deploy itas_mule_adaptor : ./onprem_stack.sh itas_mule_adaptor 
     To Deploy itas_connectors : ./onprem_stack.sh itas_connectors
     To Deploy sa_tunneling_service: ./onprem_stack.sh sa_tunneling_service
     To Deploy muledb_upgrade : ./onprem_stack.sh muledb_upgrade

Post Deployment Actions

Run the below command to clean up older unused volumes, images, etc after deployment.

Code Block
#run command to delete all the unused docker images (This command will not delete docker images that are in use)
docker rmi -f $(docker images | awk '{ print $3 }') > /dev/null 2>&1

#cleanup unsed volume, cache etc.
docker system prune

To check logs 

sudo tail -f `docker inspect --format='{{.LogPath}}' itas_muledb_migration`

Troubleshoot Errors

  1. If we get the below "permission denied error" : Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.37/containers/redis/stop: dial unix /var/run/docker.sock: connect: permission denied.

    Code Block
    [lumauser@lumatrialweb01 deploy]$ docker ps --> If permission denied comes then execute below command.
    
    [lumauser@lumatrialweb01 deploy]$ sudo setfacl -m user:lumauser:rw /var/run/docker.sock
    
    [lumauser@lumatrialweb01 deploy]$ docker ps
    CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES 
    
    [lumauser@lumatrialweb01 deploy]$ docker login (Enter docker credentials)

...