How To Run Multiple VSE, Simulator, Coordinator on a Single Server for Service Virtualization 10.7.0 and greater
search cancel

How To Run Multiple VSE, Simulator, Coordinator on a Single Server for Service Virtualization 10.7.0 and greater

book

Article ID: 234858

calendar_today

Updated On:

Products

Service Virtualization

Issue/Introduction

In the past, we ran multiple simulator services on the same DevTest server. However, after upgrading to DevTest 10.7 we are not able to start multiple simulators; only 1 simulator service is starting. 

Environment

Release : 10.7+

Component : DevTest VSE, DevTest Simulator, DevTest Coordinator

Cause

Engineering investigated the issue and found that the third-party vendor for install4j made a code change to the installer, and no longer allow for starting multiple instances of a service on a single machine. Therefore, starting in DevTest 10.7, users will not be able to run multiple copies of the DevTest services on a single machine. Instead, users will need to start multiple instances of the DevTest components (executable binaries) and not use the service binaries.

Multiple instances of DevTest components can be run on a single server.

Note: there is a limit on how many instances can be created based on hardware requirements
For the 
VSE  to run, the minimum hardware that is required is 2 CPUs and 4-GB RAM, and it supports up to 250 TPS. Based on the available hardware and your TPS requirements, determine the amount of hardware that should be allocated to each instance of VSE  and the total number of instances of VSEs you can run on the server computer.

Resolution

Below are the examples to start multiple instances of VSE. The same is applicable for other components

Follow these steps:

  1. Copy Devtest VirtualServiceEnvironment.exe to VirtualServiceEnvironment2.exe.
    This file is in the LISA_HOME\bin directory (for example, C:\Programs Files\CA\DevTest).

  2. Create a new vmoptions file named VirtualServiceEnvironment2.vmoptions and put the following properties in the file.
    -Dlisa.vseName=name of the new VSE, to distinguish it from others on the same computer.
    -Dlisa.net.8.port=port for the new VSE; must use a different port than 2013.
    -DLISA_LOG=vse2.log (to distinguish between the VSE log files).
    -Dlisa.registry.url=tcp://registryServerName:2010/nameOfRegistry (only needed if the Registry is on a different server).

  3. Add the VirtualServiceEnvironment2.vmoptions file to the LISA_HOME\bin directory.

  4. Repeat for each additional VSE

  5. Open a command prompt and start multiple instances with copied files.

How to start instances in the background?

  1. Script to start multiple instances in background: Copy following lines to start.sh file and copy it to CA/DevTest/bin directory

         #!/bin/bash
         nohup ./VirtualServiceEnvironment > /dev/null 2>&1 &
         echo $! >> devtest_pids.txt
         sleep 10
         nohup ./VirtualServiceEnvironment2 > /dev/null 2>&1 &
         echo $! >> devtest_pids.txt
         sleep 10

    start.sh can be used to start 2 VSE instances. It would log the process ID in file devtest_pids.txt

  2. Script to stop the instances started in step 1: Copy following lines to stop.sh and copy it to CA/DevTest/bin directory

         #!/bin/bash
         kill -9 `cat devtest_pids.txt`
         rm devtest_pids.txt

    Stop.sh can be used to stop all the instances started in step 1. It would read all the process id from devtest_pids.txt and stop all of them.

How to configure multiple binaries as a service?

  1. Copy following lines into file VSE.service and copy it to  /etc/systemd/system folder

    [Unit]
    Description=Virtual Service Environment

    [Service]
    ExecStart=/home/sachin/CA/DevTest/bin/VirtualServiceEnvironment

    [Install]
    WantedBy=multi-user.target

  2. Repeat for additional VSEs and create unique files like VSE2.service, VSE3.service etc.

  3. Start Virtual Service environment with following command

    systemctl start VSE
    systemctl start VSE2

  4. Stop Virtual Service Environment with following command

    systemctl stop VSE
    systemctl stop VSE2

  5. Enable autostart of Service when system restarts with following command

    systemctl enable VSE