Docker containers

Deploy and configure a Docker container for Linux to load test your secure applications.

Note: The Docker client (engine) must be installed on each host machine where you want to install the LoadRunner Cloud 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.

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 LoadRunner Cloud

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

If there is no connection between LoadRunner Cloud 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 in 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 from Docker Hub

From LoadRunner Cloud version 2020.10, the microfocus_onelg_linux_ubuntu repository contains the OneLG image.

To deploy and configure the Docker container using the microfocus_onelg_linux_ubuntu image:

Action How to
Pull Docker image

Pull the OneLG Docker image from Docker Hub:

docker pull performancetesting/microfocus_onelg_linux_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/microfocus_onelg_linux_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/microfocus_onelg_linux_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/microfocus_onelg_linux_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]

Back to top

Manually deploy and configure a Docker container

You can manually deploy the Docker container.

Action How to
Define your LoadRunner Cloud load generator in LoadRunner Cloud and note the key:
  1. In LoadRunner Cloud, 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.

Create the container

For the new microfocus_onelg_linux_ubuntu image, run:

docker run -t -i \
      -e "STORM_DISABLE_AUTO_REGISTER=1" \
      --net=host performancetesting/microfocus_onelg_linux_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

Action How to
Create a test

From LoadRunner Cloud > Load tests, select a load test or create a new test.

Select On-premises as the location of the load generators

From the Load profile tab, select a script and then select On-premises from the Location drop-down list.

Add a load generator

From the Load distribution tab, click On-premises and then click Add from Assets to select the on-premises LoadRunner Cloud Load Generators to use for your test.

Back to top

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