ESA on premise agent v2.0.3 upgrade runbook

For Enterprise Service Automation On-Premise Agent deployment, the following components will be installed on the on-premise server:

  • ITAS mule adaptor v2.0.3

  • Mule run v2.0.3

  • SA tunneling service v2.0.3

  • ITAS service bus v2.0.3

  • ESA integration gateway v4.14.0

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

Pre-Deployment Actions

Perform the following Pre-deployment actions:

Set up artifacts

  1. Download and transfer itas-deployment-2.0.3-onprem.zip to /platform/deployment directory and unzip

    cd /platform/deployment unzip itas-deployment-2.0.3-onprem.zip -d itas-deployment-2.0.3-onprem

 

Set up "master.properties"

Populate master.properties file located under /platform/deployment/itas-deployment-2.0.3/deploy directory.

master.properties file contains parameters for the environment, some specific to your instance and some general. Review the default values and update parameters specific to your environment (e.g. server IP address, database server IP address, database password, etc.).

If you are using master.properties from v2.0.0, below are the new properties added in v2.0.3

############ Versions & Servers - BEGIN ############ SA_INTEGRATION_GATEWAY_VERSION=4.14.0 ESA_INTEGRATION_GATEWAY_CONNECTORS_PACKAGE_VERSION=2.0.3 #ITAS Hosts MULE_RUN_SERVER_NAME= INTEGRATION_GATEWAY_SERVER_NAME= # Mule Run - Base Machine mount paths MULE_RUN_STARTUP_TIMEOUT=600 #ITAS Jolokia Ports ESA_INTEGRATION_GATEWAY_JOLOKIA_PORT=7510 #ITAS JVM DEBUG Ports ITAS_MULE_ADAPTOR_JVM_DEBUG_PORT=4502 ESA_INTEGRATION_GATEWAY_JVM_DEBUG_PORT=4510 #ITAS JMX Ports MULE_RUN_JMX_PORT=2500 ESA_INTEGRATION_GATEWAY_JMX_PORT=2510 #Heap Memory allocations INTEGRATION_GATEWAY_MAX_HEAP=512 INTEGRATION_GATEWAY_MIN_HEAP=512

 

In Master.properties file, the following properties are populated from your Automation tenant:

  • SA_TUNNELING_TENANT_EXTERNAL_ID - Populate your Automation Tenant External ID here.

  • SA_TUNNELING_APPLICATION_IDENTIFIER - Add the Execution Agent External ID here.

  • SA_TUNNELING_SECRET_KEY - Copy the On-premise Execution Agent Key here.

The keys are available on Automation → Execution Agent screen. Most of the properties on the file are self-explanatory. In case of any issue, please contact Serviceaide Support.

Start installation

Execute the below commands to start the installation:

docker login https://registry-1.docker.io -u saautomationonprem # use the dockerhub password as ‘Serviceaide@Pass2023’
cd /platform/deployment/itas-deployment-2.0.3/deploy chmod +x onprem_stack.sh ./onprem_stack.sh deployall

Post Deployment Actions

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

#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.

    [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)

     

  • Ensuring that if the deployment is completed or not :   
     Whenever we enter "Docker ps" command then we can see the status of the containers, If any container's status is less than 1 minute then focus on that and wait 1 or 2 minutes and issue again the same 'docker ps' command , if we see the same container's status is less than a minute then we can ensure that there will be some issue and later we can go ahead with "docker logs [container_name]"  

    [lumauser@ip-10-0-9-7 deploy]$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 5a1ee4f1d88d registry-1.docker.io/serviceaide/mule_run_base:2.0.0 "sh -c /opt/app/star…" 8 minutes ago Up 8 minutes mule_run 59b47a9d49b8 registry-1.docker.io/serviceaide/sa_tunneling_service:2.0.0 "sh -c /opt/app/star…" 9 minutes ago Up 9 minutes 0.0.0.0:2504->2504/tcp, 0.0.0.0:4504->4504/tcp, 0.0.0.0:10095->10095/tcp sa_tunneling_service cb070978f76c registry-1.docker.io/serviceaide/itas_mule_adaptor:2.0.0 "sh -c /opt/app/star…" 10 minutes ago Up 10 minutes 0.0.0.0:2502->2502/tcp, 0.0.0.0:4502->4502/tcp, 0.0.0.0:7502->7502/tcp itas_mule_adaptor 3f7b5cb0d0c1 registry-1.docker.io/serviceaide/itas_service_bus:2.0.0 "sh -c /opt/app/star…" 11 minutes ago Up 11 minutes 0.0.0.0:2505->2505/tcp, 0.0.0.0:4505->4505/tcp, 0.0.0.0:7505->7505/tcp, 0.0.0.0:61516->61516/tcp itas_service_bus [lumauser@ip-10-0-9-7 deploy]$

Â