Automatic provisioning of Docker hosts

This section describes how to set up and manage elastic Dockerized load generator hosts, enabling users to dynamically assign them to performance tests. Setting up Dockerized hosts requires information that should be obtained from your Docker provider.

Note: Docker Swarm orchestrators are planned for removal in a future major version of LoadRunner Enterprise.

About using Dockerized hosts

You can run load generator hosts inside Docker containers. This is a quick and effective way to port applications across systems and machines, and run them within their own secure environments. Refer to the product documentation for more details.

Before you can use elastic hosts, you need to configure the orchestrators and host images which are used for dynamic provisioning. Orchestrators are responsible for automating deployment and management of hosts running inside containers.

After the host image has been configured, the image can then be assigned to tests in the project from the LoadRunner Enterprise user interface or the LoadRunner Enterprise REST API.

When using Kubernetes for Dockerized load generator deployments, Gatling and JMeter scripts are detected automatically.

Supported orchestrators and environments

Orchestrator Supported Images Supported API Version
Docker Swarm Windows, Linux

For the supported orchestrator versions, see the Integration with non-OpenText products section of the Support Matrix.



LoadRunner Enterprise currently supports Kubernetes and Swarm orchestrators with Dockerized images.

Advantages of elastic provisioning

Benefits of using elastic hosts include:

  • Efficient allocation of resources on demand in response to dynamic workloads, without having to rely on load generators defined in the lab, or to reserve load generators in advance.

  • Automates the testing process by provisioning and de-provisioning load generators, and seamlessly adding them to performance tests.

You manage your orchestrators and host images from the Orchestration page. For details, see Set up Dockerized hosts and Deploy and manage Docker host images.

Note: For users to be able to assign elastic hosts to a test, the project must be linked to an orchestrator.

Back to top

Deploy and manage Docker host images

You can create and manage load generator images that are used for elastic provisioning from the Docker Images tab.

  1. Pull the Docker image from the Docker hub

    1. Navigate to the LoadRunner Enterprise Dockers repository:

    2. Locate your desired load generator Docker Image, and copy the pull command to your clipboard. For image details, see Manage Dockerized images.

    3. On your Kubernetes or Swarm node, paste the pull command from the previous step, and add the desired tag for a specific image version.

      If you are using a Kubernetes image, you can modify various Kubernetes configuration settings. For details, see Kubernetes configuration settings.

      For full instructions, see the Docker section in the LoadRunner Enterprise Installation Guide (available from Installation).

  2. In LoadRunner Enterprise Administration, select Configuration > Orchestration and click the Docker Images tab. The Docker Images page opens.

  3. To add a new image, click the Add Docker Image button, and configure the following:


    Enter the name of the image you pulled in the previous step.


    The purpose is set to Load Generator.


    Select an image type according to the image you pulled: Windows or UNIX.


    Enter the appropriate tag version number for the image in the format xx.xx (for example, 23.01), or leave empty to use the latest version.

    Description (Optional) Enter a description for the image.
  4. Click Save. The image is added to the Docker Images grid.

Back to top

Set up Dockerized hosts

This task describes how to configure elastic Dockerized load generator hosts on Windows or Linux containers.

  1. Prerequisites

    • Pull the Docker image from the Docker hub as described in Deploy and manage Docker host images above.

    • The following are key requirements for setting up an orchestrator which you should obtain from your IT team (from your Docker provider):

      • Full orchestrator URL

      • Namespace

      • Authentication token (for details on obtaining the token, see Extract the Kubernetes token below)

      • CA certificate - When using client certificate authentication, you need to copy the Kubernetes client certificate to your LoadRunner Enterprise server. For details, see Obtain the Kubernetes client certificate below.

      • Full orchestrator URL

      • External storage path (if used)

      • Authentication token

  2. Add and configure the orchestrator

    1. In LoadRunner Enterprise Administration, select Configuration > Orchestration. In the Orchestrators tab, click Add Orchestrator .

    2. Enter the following orchestrator details (all entries for Kubernetes must be in lower case):

      Type Select the orchestrator type (Kubernetes or Swarm).
      Orchestrator Name Enter a name for the orchestrator.
      Full URL

      Select the connection type (http/https), and enter the full URL, including port, in the format:

      The default connection type is https for Kubernetes, and http for Swarm.

      The default port for Kubernetes is 6443.

      The default port for Swarm is 2375.


      (Kubernetes only)

      Enter the name for the namespace. This is a private space where your containers are created.

      Example: lre


      (Kubernetes only)

      Enter the orchestrator bearer token to authenticate API requests.


      • After saving the orchestrator settings, the token is hidden (turns into asterisks).

      • When migrating a project from Performance Center, the orchestrator bearer token is not retrieved (it is displayed as a combination of asterisks) and needs to be entered manually.

      API Version

      (Swarm only)

      Enter the Swarm API version.

      Note: For every Docker Swarm upgrade you need to update the API version.

      Description Enter a description of the orchestrator.
    3. Configure the following orchestrator settings, as required:

      Use Repository (Optional, Kubernetes only)

      To enable using a private and secure registry for your Kubernetes images: 

      1. In the Main Details tab, select Use Repository.
      2. In the Secret Name box, enter a secret value that is used to pull images from the private images registry.

      Resource limits (Optional)

      In the Main Details tab, specify how much of the available resources a container can use for load generators during a performance test run in the Resource Limits section.

      • Memory (GB). Available memory resources (in gigabytes) a container can use.

      • CPUs. Available CPU resources a container can use.

      Note: When a user configures elastic host properties, they cannot enter values that exceed these limits. If the administrator reduces the project limits below the value configured by a user in the Assign Groups to Load Generators dialog box , the user's settings are automatically adjusted to be within the new limits. For details, see Distribute load generators among Vuser groups.

  3. Assign host images to the orchestrator

    1. Select the Assign Images tab and click Assign Images to Orchestrator .

    2. In the Assign Images to the Orchestrator dialog box, select the load generator (LG) images to assign to the orchestrator and click Assign. The images are added to the Assign Images list.

      To unassign images from an orchestrator, select the images to unassign in the Assign Images grid, and click Remove Assigned Images .

    For details on creating host images, see Deploy and manage Docker host images.

  4. Assign projects to the orchestrator.

    1. Select the Assign Projects tab and click Assign Projects .

    2. In the Assign Projects to Docker Orchestration dialog box, select the projects to assign to the orchestrator and click Assign. Projects linked to the orchestrator are listed in the grid.

      Note: You can assign multiple projects to an orchestrator, but only one orchestrator to a project.

      To unassign projects from an orchestrator, select the projects to unassign in the Assign Projects grid, and click Remove Assigned Project .

  5. Click Save to save the settings. The orchestrator is added to the Orchestrators grid.

Back to top

Configure test with Dockerized load generators

After configuring the orchestrator and adding the host image, you can configure the performance test from the LoadRunner Enterprise user interface or the REST API.

Note: When you assign elastic load generators, each load generator is consider as a group. Therefore, if you define a test with three elastic load generators under one Vuser group (script), three groups are displayed for each Docker container when the test runs.

Configure a test from the user interface

  1. Select a test

    In LoadRunner Enterprise, click Open the navigation toolbar and select Test Management (under Testing). Select a performance test in the test management tree, and click Edit Test.

  2. Assign Elastic Docker load generators to the groups for the test

    Follow the steps in Distribute load generators among Vuser groups.

For more details, see Assign elastic hosts to a test.

Configure a test using the REST API

  1. Create or update performance tests with elastic hosts, by selecting dynamic type hosts for your groups.

    Add elastic load generator hosts named DOCKER1, DOCKER2, DOCKER<n+1> to the <Host> XML field, equivalent to the number of Docker hosts that you want to provision.

    Copy code



    For API details, see test entity XML in the LoadRunner EnterpriseAdministration REST API Guide.

  2. Continue from Run the performance test in Deploy hosts using Docker.

Back to top

Customize timeout settings for Dockerized load generators

When provisioning elastic load generators, you can customize the timeout settings.

  1. On the LoadRunner Enterprise server, open the pcs.config file located in <LRE server installation directory>\dat\.

  2. Enter a new timeout value in ElasticProvisionTimeoutInSeconds. The default timeout value is 300 seconds (5 minutes).

Back to top

Export Orchestrator or image details to an Excel file

To export information displayed in the Orchestrator or Docker Images grid to an Excel file, click . Data from the grid is saved to an Excel file and downloaded to the Downloads folder of the client user.

Back to top

Retain run results after a test ends

To ensure that run results are retained after a performance test ends, you should select Collate results as the Post-Run Action. For details, see View or edit project settings.

If you run a test without collating results, or if collation fails, and:

External storage is not used The result data is lost, since elastic load generators are freed immediately after the run finishes.
External storage is used

You need to collate the results manually.

  1. On each node running the Dockerized load generator, navigate to the \Results folders for the run.

    • For load generators running on Linux containers, test data is saved to the default volume location:


    • For load generators running on Windows containers:


    Note: The run data is saved on the specific Swarm node where the container is created, so for each test run, the data might be spread between different Swarm nodes (in case load generators run on different nodes).

  2. Copy *.eve and *.map files to the \Results folder for the Controller run.

    For example, on a Linux machine running the Dockerized load generators:


    The default path for the run’s results folder on the Controller:

    \<LR Installation folder>\LoadRunner\orchidtmp\Results\<RunFolder>\Run_RunID\res<RunID>.


    C:\Program Files (x86)\Micro Focus\LoadRunner\orchidtmp\Results\My_Test_Run_Results\Run_260\res260

  3. Collate the results.

    • For a test where no collation has been performed yet, right-click the run, and select Collate results (collate fails since Provision LGs does not exist).
    • For a test that failed to collate, right-click the run, and select Recover results to recover and collate the results of the failed test run.

    For more details, see Manage test results.

  4. Select Analyze results to generate reports.

    Note: Dockerized load generators are not supported with Network Virtualization; therefore no NV Insights report is generated.

Back to top

Notes and limitations

For notes and limitations on elastic Dockerized hosts, see Notes and limitations.

Back to top

See also: