Cloud accounts
This section describes how to manage your cloud accounts. You can use a cloud account with a supported cloud provider.
Note: When upgrading from an earlier version, you need to delete your migrated cloud accounts and recreate them in the current version.
Cloud accounts overview
After establishing a cloud provider account, you must also establish a cloud account in OpenText Enterprise Performance Engineering. When defining a cloud account, you enter your cloud provider credentials and associate projects to the account. For details, see Add a cloud account.
Tip: See the Video gallery for a video on how to run tests on load generators that are dynamically provisioned on AWS.
Prerequisites
Make sure that you have the following before adding a cloud account.
-
Cloud provider account.
You must have an existing cloud account with a supported cloud provider. Amazon Web Services (AWS EC2), Microsoft Azure Cloud, and Google Cloud Platform accounts are supported.
-
Cloud account information.
After you have your cloud account ready, record the following information from your cloud account:
-
AWS (depends on authentication type, User or Role):
-
User: Account access key, secret key, and account number.
-
Role: PFX digital certificate, certificate password, Trust Anchor ARN, Profile ARN, and Role ARN.
-
-
Microsoft Azure: Client ID, Tenant ID, Client Secret, and Subscription ID.
-
Google Cloud Platform (GCP): Project ID and Service Account key.
-
-
(Google Cloud Platform only) Configure the instance template directly in your GCP account. This differs from AWS and Azure, where host templates are created within OpenText Enterprise Performance Engineering itself.
-
Configure the instance template in GCP with the following values. These values enable the instance template to be propagated to the OpenText Enterprise Performance Engineering host template.
-
Name. Label the template
lre-template:lr-lg-lre-compatible-version-2026-1. Use a label value that matches the ImageVersion value in the LRE_BACKEND\appsettings.defaults.json file on the OpenText Enterprise Performance Engineering server. Use only lowercase letters, digits, and dashes to comply with GCP requirements. See the example in Configure a GCP instance template. -
Location. Select Regional as the instance location; Global is not supported.
-
-
The instance template is automatically imported when you add or update the cloud account.
Note:
-
When a GCP account is added to OpenText Enterprise Performance Engineering for the first time, all existing instance templates with the matching label are automatically synchronized to OpenText Enterprise Performance Engineering. After the GCP account is added, any new instance templates created in GCP are synchronized by the cloud updater job.
-
To delete a GCP template you must either remove the GCP account, or delete the label from the instance template.
-
Template details such as location, image ID, instance type, and operating system are displayed in read-only mode and cannot be modified in the Performance Test Designer. For details, see Distribute load generators among Vuser groups.
-
-
Add a cloud account
This task describes how to add a cloud account.
To add a cloud account:
-
Prerequisites. Make sure that you follow the prerequisites for adding a cloud account as described in Prerequisites.
-
Add the cloud account.
-
In the Administration module, select Configuration > Cloud.
-
In the Accounts tab, click the Add Cloud Account button
, and enter a name and optional description for the cloud account. -
Select the provider of the cloud account: LG provisioning on AWS, LG provisioning on Microsoft Azure Cloud or LG provisioning on Google Cloud.
-
-
Enter your cloud account information.
Vendor Information AWS EC2 -
Select the authentication type: User or Role.
-
(Optional) Enter the AWS EC2 account number. This number is used to access custom images from the cloud account. Adding an incorrect account number results in the inability to access custom images related to this account.
-
Enter the following:
For user authentication:
-
Account access key. Enables OpenText Enterprise Performance Engineering to connect to your cloud account.
-
Account secret key. Serves as the password for the access key used to connect to your cloud account.
For role-based authentication:
-
Digital certificate. Click the Select File button, select the PFX certificate, and then click Save. The certificate is uploaded to the server.
-
Certificate Password. Enter the PFX certificate password.
-
Trust Anchor ARN. Identifies a trusted source used to validate external identities in AWS IAM Roles Anywhere.
-
Role ARN. A unique identifier for an IAM role that defines permissions and can be assumed by trusted entities.
-
Profile ARN. Identifies a configuration in IAM Roles Anywhere that links trust anchors to IAM roles and session policies.
-
-
Select the account category: Standard Cloud or Government Cloud US.
Note for AWS EC2 accounts and AWS GovCloud (US) Regions:
-
AWS account credentials that require Multi-Factor Authentication (MFA) are not supported.
-
The user linked to the cloud account must have full EC2 access (
AmazonEC2FullAccess) or permissions for all the following AWS actions: AssociateAddress, CreateTags, DescribeAddresses, DescribeImages, DescribeInstances, DescribeInstanceStatus, DescribeInstanceTypeOfferings, DescribeKeyPairs, DescribeRegions, DescribeSecurityGroups, DescribeSubnets, DisassociateAddress, RunInstances, and TerminateInstances.
-
Microsoft Azure Cloud -
Enter the following:
-
Tenant ID. The ID of the Azure Active Directory in which you created the application. This is available in the Azure account.
-
Subscription ID. A GUID that uniquely identifies your subscription to use Azure services.
-
Client ID. The application Client ID identifier that is generated from the Azure Active Directory portal.
-
Client Secret. The secret key that is used when communicating with Azure Active Directory.
Note: Client ID and Client Secret require the creation of an application, and the role for your application must be Contributor or Owner. For more details, see the Microsoft documentation.
-
-
Select the account category: Global Cloud or Government Cloud US.
Google Cloud Platform Enter the following:
-
Project ID. The Google project name or ID of the Google Cloud Platform in which you created the application.
-
Service Account Key. The service account key that is used when communicating with Google Cloud Platform. Enter the key by pasting the JSON file created from Google Cloud > Service Accounts > Actions > Manage keys > Create new key > key type=JSON.
-
-
Click Save to add the cloud account. The cloud account is added to the grid (the account creation process may take several minutes to complete).
In the Main Details tab, you can see cloud account details, including assigned projects and the number of currently provisioned hosts. Active host limit displays the maximum number of active cloud load generators across runs and projects that use templates from this cloud account.
-
AWS EC2 and Microsoft Azure: You can now create host templates for AWS and Azure and provision hosts from this cloud account.
-
Google Cloud Platform: Instance templates must be defined on the provider account. For details, see Configure a GCP instance template.
-
-
Assign projects to your cloud account.
For details, see Link projects to your cloud account.
Note: The Assigned Projects column in the grid displays both the domain name and project name. As a result, when filtering this column, the filter is applied for both values.
-
View cloud account events.
For details, see View cloud account event logs.
Configure a GCP instance template
GCP instance templates must be defined directly within the Google Cloud Platform provider account.
To ensure proper synchronization with cloud host templates, add the following labels to your GCP instance template:
-
Add the template identifier label.
-
Key:
lre-template -
Value: Match the corresponding value in appsettings.defaults.json, replacing any special characters (such as curly brackets { } , commas, and spaces) with dashes (-).
Example:
If the JSON contains:
"ImageVersion": "LR LG, LRE Compatible, version{2026.1}",then the label should be:
Value:lr-lg-lre-compatible-version-2026-1Note: GCP labels do not support certain special characters. Always replace unsupported characters with dashes to ensure compatibility.
-
-
Set the OS platform label.
-
Key:
lre-platform -
Value:
linuxorwindows
If this label is not set, the platform is determined automatically:
-
If the image name contains win, the platform is set to OneLG.
-
Otherwise, it defaults to UNIX.
(Optional) When configuring a GCP instance template, you can add a description under Advanced Options > Management > Description to clarify the template purpose or usage. If your deployment requires specific IP settings, you can assign a static internal IP or a designated external IP directly within the template.
Note: For network access control, the instance template must include a Network Tag such as
tag-lg-default-ports. Create a matching firewall rule in VPC Network > Firewall with the same name and required inbound connections. -
Run startup scripts
Startup scripts run custom commands during VM initialization for supported cloud load generators.
For example, a startup script can disable Microsoft Defender Antivirus on Windows VMs to prevent interference during load tests.
Supported scripts
The following tables summarize startup script support by cloud provider for each version range.
Version 26.1
| Cloud provider | Windows script types | Linux script types |
|---|---|---|
| AWS |
PowerShell (.ps1) Batch (.bat) |
Not supported |
| GCP |
PowerShell (.ps1) Batch (.bat) |
Shell (.sh) |
Version 26.3 and later
| Cloud provider | Windows script types | Linux script types |
|---|---|---|
| AWS |
PowerShell (.ps1) Batch (.bat) |
Shell (.sh) |
| Azure |
PowerShell (.ps1) Batch (.bat) |
Shell (.sh) |
| GCP |
PowerShell (.ps1) Batch (.bat) |
Shell (.sh) |
Script examples
-
PowerShell (.ps1):
Copy codeAdd-Content "C:\ProgramData\startup-log.txt" "Startup script started at $(Get-Date)";
Start-Process powershell.exe -ArgumentList "-NoExit" -
Batch (.bat):
Copy codeecho off
echo Startup script started at %DATE% %TIME% >> C:\ProgramData\startup-log.txt -
Shell (.sh):
Copy code#!/bin/bash
echo "$(date -u +"%Y-%m-%dT%H:%M:%SZ") Linux startup script executed." > /startup-test-ok.txt
echo "Done" >> /startup-test-ok.txt
To run startup scripts in cloud VMs:
-
Register the script paths for each provider.
-
Run the following command to authenticate the tenant. If you are using a multi-tenancy environment, you must authenticate each tenant.
Copy codePOST http://<Enterprise Performance Engineering URL>/Admin/rest/authentication-point/authenticate?tenant={{tenant}} -
Run the following command to register scripts:
Copy codePOST http://<Enterprise Performance Engineering URL>/Admin/rest/v1/Cloud/RegisterStartupScripts -
Body Content-Type: JSON
Request body example:
Copy code{
"Provider": "Amazon EC2",
"WindowsPowerShellFile": "aws\\ps.ps1",
"WindowsCmdFile": "aws\\cmd.bat",
"LinuxFile": "aws\\linux.sh"
}Response example:
Copy code{
"version": "1.1",
"statusCode": 201,
"reasonPhrase": "Created",
"isSuccessStatusCode": true
}
-
-
Run the following command to verify startup scripts:
Copy codeGET http://<Enterprise Performance Engineering URL>/Admin/rest/v1/Cloud/GetStartupScriptsBody Content-Type: JSON
Request body: "Amazon EC2", "MS Azure", or "Google Cloud"
Response example:
Copy code{
"provider": "Amazon EC2",
"windowsPowerShellFile": "C:\\lrerepo\\Cloud\\aws\\ps.ps1",
"windowsCmdFile": "C:\\lrerepo\\Cloud\\aws\\cmd.bat",
"linuxFile": "C:\\lrerepo\\Cloud\\aws\\linux.sh"
}
To remove startup scripts:
Run the following command to remove a startup script from a cloud account:
POST http://<Enterprise Performance Engineering URL>/Admin/rest/v1/Cloud/UnRegisterStartupScript
Body Content-Type: JSON
Request body: "Amazon EC2", "MS Azure", or "Google Cloud"
Response example:
{
"version": "1.1",
"statusCode": 200,
"reasonPhrase": "OK",
"isSuccessStatusCode": true
}
Notes and limitations
-
Create a Cloud folder under the repository root: C:\lrerepo\Cloud
-
The relative path for scripts in the REST API is under \Cloud.
-
In GET, the full path is displayed. For example, C:\\lrerepo\\Cloud\\aws\\ps.ps1.
Set Azure VM custom tags
You can view, configure, and remove custom Azure Virtual Machine (VM) tags using REST APIs. These tags are applied to Azure Linux and Windows VMs that are provisioned by the system.
The same procedure applies to both Azure Windows and Azure Linux VMs. The only difference is the value of the platform parameter in the REST API (windows or linux).
Prerequisites
-
Access to the OpenText Enterprise Performance Engineering server
-
Tenant ID
-
Valid user credentials
-
Network access to the Backend service port (default: 5876) when calling the REST APIs remotely
REST API endpoint overview
GET /rest/TenantConfiguration/azure-vm-tags/{platform}?tenant=<tenant_id>
POST /rest/TenantConfiguration/azure-vm-tags/{platform}?tenant=<tenant_id>
DELETE /rest/TenantConfiguration/azure-vm-tags/{platform}?tenant=<tenant_id>
where:
{platform} = windows or linux
<tenant_id> = Tenant GUID
To configure Azure VM custom tags:
-
Enable remote access to the Backend service (optional).
-
If you invoke the REST APIs from a remote machine, update the appsettings.defaults.json configuration file on the server:
Copy code"PortConfiguration": {
"ListenOnlyOnLocalhost": false,
"ServicePort": 5876,
"WorkerProcessPort": 5878,
"IsWorkerProcessInMemory": false
} -
Restart the Backend service after making the change.
Note: Required only when remote access is used.
-
-
Authenticate and obtain a session cookie.
Before calling the Azure VM Tags REST APIs, authenticate and obtain a valid LWSSO cookie.
Request:
Copy codeGET http://<Enterprise Performance Engineering URL>/LoadTest/rest/authentication-point/authenticate?tenant=<tenant_id>Headers:
Copy codeAuthorization: Basic <base64-encoded credentials>Response:
Copy code200 OK
Set-Cookie: LWSSO_COOKIE_KEY=<cookie_value> -
Copy the authentication cookie.
From the response headers, copy the full value of
LWSSO_COOKIE_KEY. This cookie must be included in all subsequent REST API requests. -
Retrieve the currently configured Azure VM tags.
Request:
Copy codeGET http://<Enterprise Performance Engineering URL>:5876/rest/TenantConfiguration/azure-vm-tags/windows?tenant=<tenant_id>Headers:
Copy codeCookie: <LWSSO_COOKIE_KEY>(the header name must be Cookie with capital “C”)
-
Review the default behavior.
If Azure VM tags were not explicitly configured, the response returns the default values defined in appsettings.defaults.json:
Copy code[
{
"key": "CUSTOMTAG",
"value": "CUSTOMTAG_VALUE",
"keyValuePair": {
"key": "CUSTOMTAG",
"value": "CUSTOMTAG_VALUE"
}
}
]Relevant configuration:
Copy code"Azure": {
"WindowsAdminUsername": "azure_admin",
"LinuxRootUsername": "ubuntu",
"VirtualMachineTags": [
{
"Key": "CUSTOMTAG",
"Value": "CUSTOMTAG_VALUE"
}
]
} -
Configure Azure VM custom tags.
To define or update Azure VM tags, send a POST request containing the required key‑value pairs.
Request:
Copy codePOST http://<Enterprise Performance Engineering URL>:5876/rest/TenantConfiguration/azure-vm-tags/windows?tenant=<tenant_id>Headers:
Copy codeCookie: <LWSSO_COOKIE_KEY>
Content-Type: application/jsonRequest body:
Copy code[
{
"key": "K1__",
"value": "V1__"
},
{
"key": "K2",
"value": "V2__"
}
]The specified tags are applied to newly provisioned Azure Windows VMs.
-
Remove Azure VM custom tags.
To remove all configured Azure VM tags, send a DELETE request.
Request:
Copy codeDELETE http://<Enterprise Performance Engineering URL>:5876/rest/TenantConfiguration/azure-vm-tags/windows?tenant=<tenant_id>Headers:
Copy codeCookie: <LWSSO_COOKIE_KEY>Expected response:
Copy code200 OK
Use predefined Resource Groups in Azure accounts
Available in versions: 26.3 and later
You can configure Azure cloud hosts to use a predefined Resource Group by assigning the Service Principal with Contributor role to that specific Resource Group only, rather than at the subscription level. Using predefined Resource Groups provides more granular access control and enhances security.
Note:
-
When combining templates with predefined Resource Groups and non-predefined Resource Groups, the Service Principal must have
Contributorrole at the subscription level to support both configurations. -
When using predefined Resource Groups, only the run's VMs are deleted once the test run is finished. Other resources in the Resource Group are preserved.
Prerequisites
-
Verify that the predefined Resource Group has the
Contributorrole assigned to the Service Principal you will use. -
The Service Principal can have
Readerrole at the subscription level.
Configure a template with a predefined Resource Group
Use the Admin REST API to configure a host template with a predefined Resource Group. This procedure requires authentication and uses a REST API to patch the template with the Resource Group information.
To configure a template with a predefined Resource Group:
-
Authenticate with the Admin REST API.
Request:
Copy codeGET http://<Enterprise Performance Engineering URL>/Admin/rest/authentication-point/authenticate?tenant=<tenant_id> -
Patch the template to set the predefined Resource Group.
Request:
Copy codePATCH http://<Enterprise Performance Engineering URL>/Admin/rest/v1/Cloud/templates/{templateId}Request body (XML format):
Copy code<CloudTemplate>
<PredefinedResourceGroup>/subscriptions/<subscription_id>/resourceGroups/<resource_group_name></PredefinedResourceGroup>
</CloudTemplate>Replace the following placeholders:
-
<subscription_id>: Your Azure subscription ID. -
<resource_group_name>: The name of your predefined Resource Group.
-
-
Verify the template configuration.
Request:
Copy codeGET http://<Enterprise Performance Engineering URL>/Admin/rest/v1/Cloud/templates/{templateId}In the response, you should see the
PredefinedResourceGroupfield displaying the Resource Group you configured.
Link projects to your cloud account
Every project that needs to provision hosts from a cloud account must be linked to that account.
To link projects to a cloud account:
-
In the Administration module, select Configuration > Cloud.
-
In the Accounts grid, select the cloud account you want to link.
-
In the Main Details tab, click the Assign Projects button
, and select the projects you want to link to the cloud account from the grid. -
Click Assign. This links the selected projects to the cloud account.
All linked projects may now provision cloud hosts from the selected cloud account.
View cloud account event logs
You can display the events that occurred in creating the cloud account.
To view cloud account event logs:
-
In the Administration module, select Configuration > Cloud.
-
In the Accounts grid, select the cloud account you want to view.
-
Select the Event Logs tab to see the events that occurred and the severity of each event.
UI Elements Description Event Type An indication of the event's severity. From most to least severe: error, warning, or info. Created on Date The date and time the event was logged. Project name The project in which the event occurred. Action The category of action where the event occurred. For example, Create Server. Name The name of the process. Description A description of the event. Owner The user, or automated system process responsible for the event.
Cloud network settings
If you need to configure cloud network settings for communicating with your cloud provider and cloud-based load generators, click the Cloud Network Settings button
, and follow the instructions in Configure cloud network settings.
Export cloud account details to Excel
This task describes how to export information selected in the cloud account grid to an Excel file.
To export cloud account details to Excel:
-
In the Administration module, select Configuration > Cloud.
-
Click the Accounts tab, and select columns that contain the cloud account data you want to include.
-
Click the Export to Excel file button
. The cloud account data from the selected columns is saved to Excel and downloaded to the Downloads folder of the client user.
Delete a cloud account
This task describes how to delete a cloud account.
To delete a cloud account:
-
In the Administration module, select Configuration > Cloud.
-
Select a cloud account in the grid, and click the Delete button
. The cloud account and all host templates using the cloud account are deleted.
Note: You cannot delete a cloud account if there are cloud hosts that are currently provisioned by that account.

