Deploy an OPLG on Linux

To install an on-premises load generator (OPLG) on a Linux machine, you deploy it on a Docker container.

System requirements

This following table lists the recommended processor and memory for deploying a Docker container on Linux. The actual memory, CPU, and free disk space requirements vary per protocol, system under test, and script characteristics.

Resource Value
Processor

8 core CPU (recommended)

Memory

16 GB (recommended)

Back to top

Notes and limitations

The following notes and limitations apply to Docker containers:

Limitation/Note Solution
Date and time

Ensure that the date and time on the load generator machine are correct.

Tip: Synchronize your computer clock with an Internet time server.

Connection between LGs and OpenText Core Performance Engineering

The load generator machine needs to be able to access the OpenText Core Performance Engineering servers in SaaS and the cloud machines. (Only outbound HTTPS connection on port 443 needs to be enabled.)

If there is no connection between OpenText Core Performance Engineering servers and the Load Generator (on-premises load generator Status=Not Connected), an error message is reported when you try to run your test.

If you receive a system error -1030, check the network connectivity between your on-premises load generator and the cloud (AWS). Also ensure that outbound communication over port 443 is enabled.

If your company's security or firewall requires static allocated IP addresses, submit a service request to request them.

One test per load generator

The load generator can run only one test at a time. If the required load generator is already in use by another test, an error message is reported when you try to run your test.

Vusers

Vusers in your on-premises load test cannot exceed the maximum number of Vusers allotted to your license.

Back to top

Supported protocols

Beginning with version 2020.10, the revised Docker image contains OneLG, the on-premises load generator installation for all of the LoadRunner family products.

The Docker image supports the following script protocols:

  • Gatling
  • Java over HTTP
  • Java Record Replay
  • Java Vuser
  • JMeter
  • Kafka
  • Mobile HTTP
  • MQTT
  • Oracle NCA
  • Oracle - Web
  • SAP - Web
  • TruAPI
  • DevWeb
  • Web HTTP/HTML
  • Windows Sockets

For details about the supported protocol versions, see Support Matrix.

Back to top

Deploy and configure the Docker container

Deploy and configure the Docker container from Docker Hub using the opentext_onelg_ubuntu image:

Action Task
Pull Docker image

Pull the OneLG Docker image from the Docker Hub:

docker pull performancetesting/opentext_onelg_ubuntu:latest

Launch a container

Type the following command:

To create the container in background/detached mode:

docker run -d \
      -e "STORM_TENANT=<your tenant id>"  \
      -e "STORM_USERNAME=<your user name>" \
      -e "STORM_PASSWORD=<your password>" \
      --net=host performancetesting/opentext_onelg_ubuntu

To run the container in the foreground:

docker run -t -i \
      -e "STORM_TENANT=<your tenant id>"  \
      -e "STORM_USERNAME=<your user name>" \
      -e "STORM_PASSWORD=<your password>" \
      --net=host performancetesting/opentext_onelg_ubuntu

To enable JMeter or Gatling on the load generator, add the variable "ENABLE_JMETER=1" or "ENABLE_GATLING=1" to the command. For example:

" docker run -d -e ENABLE_JMETER=1 -e ENABLE_GATLING=1 ...."
Launch a container with HTTP(s) proxy

Type the following command:

      docker run -d \
      -e "STORM_TENANT=<your tenant id>" \
      -e "STORM_USERNAME=<your user name>" \
      -e "STORM_PASSWORD=<your password>" \
      -e "http_proxy=<your proxy url e.g. http://proxy.com>" \
      -e "https_proxy=<your proxy url e.g. http://proxy.com>" \
      --net=host performancetesting/opentext_onelg_ubuntu
Environment variables

You can also pass environment variables using the --env-file command line parameter.

  • STORM_TENANT: Your Tenant ID [required]
  • STORM_USERNAME: Your LoadRunner Cloud user name [required]
  • STORM_PASSWORD: Your LoadRunner Cloud password [required]
  • STORM_PROJECT_ID: The id number for project (default value 1) [optional]
  • STORM_KEY: The load generator's key (Linux only) [optional]
  • ENABLE_JMETER: Enable JMeter functionality [optional]

  • ENABLE_GATLING: Enable Gatling functionality [optional]

Note: The Docker client (engine) must be installed on each host machine where you want to install the OpenText Core Performance Engineering Docker container.

Back to top

Manually deploy and configure a Docker container

This section describes how to manually deploy the Docker container.

Action Task
Define your OpenText Core Performance Engineering load generator in OpenText Core Performance Engineering and note the key:
  1. In OpenText Core Performance Engineering, select Assets > Load Generators.
  2. Click Create. Give the load generator a meaningful name and description.

  3. Select Linux as the OS.
  4. Note the load generator's key.

    Docker LG Key example

Create the container

For the new opentext_onelg_ubuntu image, run:

docker run -t -i \
      -e "STORM_DISABLE_AUTO_REGISTER=1" \
      --net=host performancetesting/opentext_onelg_ubuntu

The current working folder is: /opt/testexec.server/stormagent

Edit the sample_conf.json

Add your load generator key and your credentials to the sample_conf.json file:

{
    "key": "<YOUR KEY>",
    "interval": 20000,
    "logLevel": "info",
    "server": {
        "protocol": "https:",
        "addr": "loadrunner-cloud.saas.microfocus.com",
        "user": "<YOUR USERNAME>",
        "password": "<YOUR PASSWORD>",
        "tenant": "<YOUR TENANTID>"
    },
    "injector": {
        "rootPath": "../injector_mdrv"
    }
}

Note: You can get the LRC server address by coping the URL from the address bar of the browser in which you opened LoadRunner Cloud. For example, if the URL in the address bar of the browser is https://loadrunner-cloud.saas.microfocus.com/home/?TENANTID=208294383&projectId=1, copy the address https://loadrunner-cloud.saas.microfocus.com.

Launch the container

Type the following command:

node bin/stormagent.js --config ./sample_conf.json

Back to top

Run a test using a Docker container

This section describes how to run a test using a load generator on a Docker container.

To set up an on-premises test run:

  1. Go to the Load tests tab and select a load test.
  2. Go to the Load profile pane and select a script . Expand the Location dropdown and select On-premises. If there are no scripts listed, click the Add from Assets button Add script from assets button to select one or more scripts from the repository.
  3. Go to the Load distribution pane and click the On-premises tab. Click the + Add from Assets button to select the on-premises load generators to use for your test.
  4. To customize the number of allowed Vusers per protocol, select one of the on-premises servers, and click the Edit button. Customize the number of Vusers for the desired protocols.

For more information, see Tests.

Create and view logs

You can create and view test run logs.

Create a log

To use the Docker container to create logs, launch the container with the -r or --reserveTestLog flag. For example:

Example: docker run -d -e STORM_AGENT_EXTRA_CONFIG='--reserveTestLog'

Logs are saved in the inj_o_*** folders under /storm.

View logs

You can view logs from within a running Docker container, or copy the logs to your local file system.

  • View logs from within a running Docker container

    1. Run the command: docker exec -t -i <container ID> /bin/bash
    2. Enter the /storm folder and check the required log.
  • Copy logs to your local file system

    Run the command: docker cp <container ID>:/storm /tmp/

    In this instance, the logs are copied to the tmp folder in your local file system.

  • Back to top