diff --git a/src/VirtualClient/VirtualClient.Contracts/Constants.cs b/src/VirtualClient/VirtualClient.Contracts/Constants.cs
index 8a0f7c7021..e0f8e5fac4 100644
--- a/src/VirtualClient/VirtualClient.Contracts/Constants.cs
+++ b/src/VirtualClient/VirtualClient.Contracts/Constants.cs
@@ -3,6 +3,7 @@
namespace VirtualClient.Contracts
{
+ using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
///
@@ -303,6 +304,32 @@ public class ProfileMetadata
/// Metadata = SupportsIterations
///
public const string SupportsIterations = nameof(SupportsIterations);
+
+ ///
+ /// Metadata = RecommendedMinimumExecutionTime. Optional. Does not apply to
+ /// profiles whose runtime is determined externally (e.g. monitor profiles run
+ /// for as long as the workload profile they are paired with).
+ ///
+ public const string RecommendedMinimumExecutionTime = nameof(RecommendedMinimumExecutionTime);
+
+ ///
+ /// Metadata = SupportedPlatforms
+ ///
+ public const string SupportedPlatforms = nameof(SupportedPlatforms);
+
+ ///
+ /// Metadata = SupportedOperatingSystems
+ ///
+ public const string SupportedOperatingSystems = nameof(SupportedOperatingSystems);
+
+ ///
+ /// The metadata properties every profile is required to define.
+ ///
+ public static readonly IReadOnlyList BaseProperties = new List
+ {
+ ProfileMetadata.SupportedPlatforms,
+ ProfileMetadata.SupportedOperatingSystems
+ };
}
///
diff --git a/src/VirtualClient/VirtualClient.Main/profiles/BOOTSTRAP-CERTIFICATE.json b/src/VirtualClient/VirtualClient.Main/profiles/BOOTSTRAP-CERTIFICATE.json
index 4546d63d9c..bf8165baca 100644
--- a/src/VirtualClient/VirtualClient.Main/profiles/BOOTSTRAP-CERTIFICATE.json
+++ b/src/VirtualClient/VirtualClient.Main/profiles/BOOTSTRAP-CERTIFICATE.json
@@ -1,5 +1,9 @@
{
"Description": "Installs a certificate from a target Key Vault.",
+ "Metadata": {
+ "SupportedPlatforms": "linux-x64,linux-arm64,win-x64,win-arm64",
+ "SupportedOperatingSystems": "AmazonLinux,AzureLinux,CentOS,Debian,OpenSuse,RedHat,Ubuntu,Windows"
+ },
"Parameters": {
"CertificateName": null,
"AccessToken": null,
diff --git a/src/VirtualClient/VirtualClient.Main/profiles/BOOTSTRAP-DEPENDENCIES.json b/src/VirtualClient/VirtualClient.Main/profiles/BOOTSTRAP-DEPENDENCIES.json
index 94ba2b4e2e..56742ec5c3 100644
--- a/src/VirtualClient/VirtualClient.Main/profiles/BOOTSTRAP-DEPENDENCIES.json
+++ b/src/VirtualClient/VirtualClient.Main/profiles/BOOTSTRAP-DEPENDENCIES.json
@@ -1,5 +1,9 @@
{
"Description": "Installs dependencies from the package store.",
+ "Metadata": {
+ "SupportedPlatforms": "linux-x64,linux-arm64,win-x64,win-arm64",
+ "SupportedOperatingSystems": "AmazonLinux,AzureLinux,CentOS,Debian,OpenSuse,RedHat,Ubuntu,Windows"
+ },
"Parameters": {
"Package": null,
"RegisterAsName": null
diff --git a/src/VirtualClient/VirtualClient.Main/profiles/BOOTSTRAP-PACKAGE.json b/src/VirtualClient/VirtualClient.Main/profiles/BOOTSTRAP-PACKAGE.json
index bc032296c4..5c9285f0b6 100644
--- a/src/VirtualClient/VirtualClient.Main/profiles/BOOTSTRAP-PACKAGE.json
+++ b/src/VirtualClient/VirtualClient.Main/profiles/BOOTSTRAP-PACKAGE.json
@@ -1,5 +1,9 @@
{
"Description": "Installs dependencies from a package store.",
+ "Metadata": {
+ "SupportedPlatforms": "linux-x64,linux-arm64,win-x64,win-arm64",
+ "SupportedOperatingSystems": "AmazonLinux,AzureLinux,CentOS,Debian,OpenSuse,RedHat,Ubuntu,Windows"
+ },
"Parameters": {
"Package": null,
"RegisterAsName": null
diff --git a/src/VirtualClient/VirtualClient.Main/profiles/EXAMPLE-CLIENT-SERVER-WORKLOAD-1.json b/src/VirtualClient/VirtualClient.Main/profiles/EXAMPLE-CLIENT-SERVER-WORKLOAD-1.json
index 33fe9e5229..07efe60560 100644
--- a/src/VirtualClient/VirtualClient.Main/profiles/EXAMPLE-CLIENT-SERVER-WORKLOAD-1.json
+++ b/src/VirtualClient/VirtualClient.Main/profiles/EXAMPLE-CLIENT-SERVER-WORKLOAD-1.json
@@ -1,6 +1,10 @@
{
"Description": "Test Profile Executor",
"MinimumExecutionInterval": "00:00:05",
+ "Metadata": {
+ "SupportedPlatforms": "linux-x64,linux-arm64,win-x64,win-arm64",
+ "SupportedOperatingSystems": "AmazonLinux,AzureLinux,CentOS,Debian,OpenSuse,RedHat,Ubuntu,Windows"
+ },
"Parameters": {
"ProfilingEnabled": false,
"ProfilingMode": "None"
diff --git a/src/VirtualClient/VirtualClient.Main/profiles/EXAMPLE-CLIENT-SERVER-WORKLOAD-2.json b/src/VirtualClient/VirtualClient.Main/profiles/EXAMPLE-CLIENT-SERVER-WORKLOAD-2.json
index 423e72058e..499235082d 100644
--- a/src/VirtualClient/VirtualClient.Main/profiles/EXAMPLE-CLIENT-SERVER-WORKLOAD-2.json
+++ b/src/VirtualClient/VirtualClient.Main/profiles/EXAMPLE-CLIENT-SERVER-WORKLOAD-2.json
@@ -1,6 +1,10 @@
{
"Description": "Test Profile Executor",
"MinimumExecutionInterval": "00:00:05",
+ "Metadata": {
+ "SupportedPlatforms": "linux-x64,linux-arm64,win-x64,win-arm64",
+ "SupportedOperatingSystems": "AmazonLinux,AzureLinux,CentOS,Debian,OpenSuse,RedHat,Ubuntu,Windows"
+ },
"Parameters": {
"ProfilingEnabled": false,
"ProfilingMode": "None"
diff --git a/src/VirtualClient/VirtualClient.Main/profiles/EXAMPLE-CLIENT-SERVER-WORKLOAD-3.json b/src/VirtualClient/VirtualClient.Main/profiles/EXAMPLE-CLIENT-SERVER-WORKLOAD-3.json
index 23635fe134..a58644ea83 100644
--- a/src/VirtualClient/VirtualClient.Main/profiles/EXAMPLE-CLIENT-SERVER-WORKLOAD-3.json
+++ b/src/VirtualClient/VirtualClient.Main/profiles/EXAMPLE-CLIENT-SERVER-WORKLOAD-3.json
@@ -1,6 +1,10 @@
{
"Description": "Test Profile Executor",
"MinimumExecutionInterval": "00:00:05",
+ "Metadata": {
+ "SupportedPlatforms": "linux-x64,linux-arm64,win-x64,win-arm64",
+ "SupportedOperatingSystems": "AmazonLinux,AzureLinux,CentOS,Debian,OpenSuse,RedHat,Ubuntu,Windows"
+ },
"Parameters": {
},
"Actions": [
diff --git a/src/VirtualClient/VirtualClient.Main/profiles/EXAMPLE-EXECUTE-SCRIPT.json b/src/VirtualClient/VirtualClient.Main/profiles/EXAMPLE-EXECUTE-SCRIPT.json
index f0c0e3d8a1..172d276f47 100644
--- a/src/VirtualClient/VirtualClient.Main/profiles/EXAMPLE-EXECUTE-SCRIPT.json
+++ b/src/VirtualClient/VirtualClient.Main/profiles/EXAMPLE-EXECUTE-SCRIPT.json
@@ -3,6 +3,7 @@
"MinimumExecutionInterval": "00:00:05",
"Metadata": {
"SupportedPlatforms": "linux-x64,linux-arm64,win-x64,win-arm64",
+ "SupportedOperatingSystems": "AmazonLinux,AzureLinux,CentOS,Debian,OpenSuse,RedHat,Ubuntu,Windows",
"ScriptPathParameterUsage": "The Script Path can be an absolute Path, or be relative to the Virtual Client Executable or be relative to platform-specific package if the script is downloaded using DependencyPackageInstallation."
},
"Parameters": {
diff --git a/src/VirtualClient/VirtualClient.Main/profiles/EXAMPLE-WORKLOAD-2.json b/src/VirtualClient/VirtualClient.Main/profiles/EXAMPLE-WORKLOAD-2.json
index faa3d2d14e..d6d459afaf 100644
--- a/src/VirtualClient/VirtualClient.Main/profiles/EXAMPLE-WORKLOAD-2.json
+++ b/src/VirtualClient/VirtualClient.Main/profiles/EXAMPLE-WORKLOAD-2.json
@@ -2,7 +2,8 @@
"Description": "Test Profile Executor",
"MinimumExecutionInterval": "00:00:05",
"Metadata": {
- "SupportedPlatforms": "linux-x64,linux-arm64,win-x64,win-arm64"
+ "SupportedPlatforms": "linux-x64,linux-arm64,win-x64,win-arm64",
+ "SupportedOperatingSystems": "AmazonLinux,AzureLinux,CentOS,Debian,OpenSuse,RedHat,Ubuntu,Windows"
},
"Parameters": {
"ProfilingEnabled": true,
diff --git a/src/VirtualClient/VirtualClient.Main/profiles/EXAMPLE-WORKLOAD.json b/src/VirtualClient/VirtualClient.Main/profiles/EXAMPLE-WORKLOAD.json
index 75d0a4ea21..971326b65a 100644
--- a/src/VirtualClient/VirtualClient.Main/profiles/EXAMPLE-WORKLOAD.json
+++ b/src/VirtualClient/VirtualClient.Main/profiles/EXAMPLE-WORKLOAD.json
@@ -2,7 +2,8 @@
"Description": "Test Profile Executor",
"MinimumExecutionInterval": "00:00:05",
"Metadata": {
- "SupportedPlatforms": "linux-x64,linux-arm64,win-x64,win-arm64"
+ "SupportedPlatforms": "linux-x64,linux-arm64,win-x64,win-arm64",
+ "SupportedOperatingSystems": "AmazonLinux,AzureLinux,CentOS,Debian,OpenSuse,RedHat,Ubuntu,Windows"
},
"Parameters": {
"ProfilingEnabled": false,
diff --git a/src/VirtualClient/VirtualClient.Main/profiles/EXECUTE-COMMAND.json b/src/VirtualClient/VirtualClient.Main/profiles/EXECUTE-COMMAND.json
index 7b4b0e78ed..af8385bd6c 100644
--- a/src/VirtualClient/VirtualClient.Main/profiles/EXECUTE-COMMAND.json
+++ b/src/VirtualClient/VirtualClient.Main/profiles/EXECUTE-COMMAND.json
@@ -1,5 +1,9 @@
{
"Description": "Executes a command on the local system.",
+ "Metadata": {
+ "SupportedPlatforms": "linux-x64,linux-arm64,win-x64,win-arm64",
+ "SupportedOperatingSystems": "AmazonLinux,AzureLinux,CentOS,Debian,OpenSuse,RedHat,Ubuntu,Windows"
+ },
"Parameters": {
"Command": null,
"Scenario": "ExecuteCommand",
diff --git a/src/VirtualClient/VirtualClient.Main/profiles/EXECUTE-SCRIPT.json b/src/VirtualClient/VirtualClient.Main/profiles/EXECUTE-SCRIPT.json
index 6046e9e7e4..e46c6c59ea 100644
--- a/src/VirtualClient/VirtualClient.Main/profiles/EXECUTE-SCRIPT.json
+++ b/src/VirtualClient/VirtualClient.Main/profiles/EXECUTE-SCRIPT.json
@@ -2,7 +2,8 @@
"Description": "Executes scripts from a package.",
"MinimumExecutionInterval": "00:00:05",
"Metadata": {
- "SupportedPlatforms": "linux-x64,linux-arm64,win-x64,win-arm64"
+ "SupportedPlatforms": "linux-x64,linux-arm64,win-x64,win-arm64",
+ "SupportedOperatingSystems": "AmazonLinux,AzureLinux,CentOS,Debian,OpenSuse,RedHat,Ubuntu,Windows"
},
"Parameters": {
"Command": null,
diff --git a/src/VirtualClient/VirtualClient.Main/profiles/GET-ACCESS-TOKEN.json b/src/VirtualClient/VirtualClient.Main/profiles/GET-ACCESS-TOKEN.json
index a32e3bc74b..a100ab6fa5 100644
--- a/src/VirtualClient/VirtualClient.Main/profiles/GET-ACCESS-TOKEN.json
+++ b/src/VirtualClient/VirtualClient.Main/profiles/GET-ACCESS-TOKEN.json
@@ -1,5 +1,9 @@
{
"Description": "Get access token for the user that can be used to authenticate.",
+ "Metadata": {
+ "SupportedPlatforms": "linux-x64,linux-arm64,win-x64,win-arm64",
+ "SupportedOperatingSystems": "AmazonLinux,AzureLinux,CentOS,Debian,OpenSuse,RedHat,Ubuntu,Windows"
+ },
"Parameters": {
"TenantId": null,
"FilePath": null
diff --git a/src/VirtualClient/VirtualClient.Main/profiles/GET-STARTED-OPENSSL.json b/src/VirtualClient/VirtualClient.Main/profiles/GET-STARTED-OPENSSL.json
index f20c8bdb67..d4c052a143 100644
--- a/src/VirtualClient/VirtualClient.Main/profiles/GET-STARTED-OPENSSL.json
+++ b/src/VirtualClient/VirtualClient.Main/profiles/GET-STARTED-OPENSSL.json
@@ -2,7 +2,7 @@
"Description": "OpenSSL CPU Performance Workload",
"Metadata": {
"SupportedPlatforms": "linux-x64,linux-arm64,win-x64",
- "SupportedOperatingSystems": "CBL-Mariner,CentOS,Debian,RedHat,Suse,Ubuntu,Windows"
+ "SupportedOperatingSystems": "AzureLinux,CentOS,Debian,OpenSuse,RedHat,Ubuntu,Windows"
},
"Parameters": {},
"Actions": [
diff --git a/src/VirtualClient/VirtualClient.Main/profiles/MONITORS-COUNTERS.json b/src/VirtualClient/VirtualClient.Main/profiles/MONITORS-COUNTERS.json
index efc36b8327..a484ab6ca1 100644
--- a/src/VirtualClient/VirtualClient.Main/profiles/MONITORS-COUNTERS.json
+++ b/src/VirtualClient/VirtualClient.Main/profiles/MONITORS-COUNTERS.json
@@ -2,7 +2,7 @@
"Description": "Default Monitors",
"Metadata": {
"SupportedPlatforms": "linux-x64,linux-arm64,win-x64,win-arm64",
- "SupportedOperatingSystems": "Azure Linux,CentOS,Debian,RedHat,Suse,Ubuntu,Windows"
+ "SupportedOperatingSystems": "AzureLinux,CentOS,Debian,OpenSuse,RedHat,Ubuntu,Windows"
},
"Parameters": {
"MonitorFrequency": "00:05:00",
diff --git a/src/VirtualClient/VirtualClient.Main/profiles/MONITORS-DEFAULT.json b/src/VirtualClient/VirtualClient.Main/profiles/MONITORS-DEFAULT.json
index 2115a5f110..23227a68ae 100644
--- a/src/VirtualClient/VirtualClient.Main/profiles/MONITORS-DEFAULT.json
+++ b/src/VirtualClient/VirtualClient.Main/profiles/MONITORS-DEFAULT.json
@@ -2,7 +2,7 @@
"Description": "Default Monitors",
"Metadata": {
"SupportedPlatforms": "linux-x64,linux-arm64,win-x64,win-arm64",
- "SupportedOperatingSystems": "Azure Linux,CentOS,Debian,RedHat,Suse,Ubuntu,Windows"
+ "SupportedOperatingSystems": "AzureLinux,CentOS,Debian,OpenSuse,RedHat,Ubuntu,Windows"
},
"Parameters": {
"ProfilingEnabled": false,
diff --git a/src/VirtualClient/VirtualClient.Main/profiles/MONITORS-FILE-UPLOAD.json b/src/VirtualClient/VirtualClient.Main/profiles/MONITORS-FILE-UPLOAD.json
index 5d3abda64f..c5e93d8147 100644
--- a/src/VirtualClient/VirtualClient.Main/profiles/MONITORS-FILE-UPLOAD.json
+++ b/src/VirtualClient/VirtualClient.Main/profiles/MONITORS-FILE-UPLOAD.json
@@ -2,7 +2,7 @@
"Description": "Monitor provides support for uploading files to a content store.",
"Metadata": {
"SupportedPlatforms": "linux-x64,linux-arm64,win-x64,win-arm64",
- "SupportedOperatingSystems": "Azure Linux,CentOS,Debian,RedHat,Suse,Ubuntu,Windows"
+ "SupportedOperatingSystems": "AzureLinux,CentOS,Debian,OpenSuse,RedHat,Ubuntu,Windows"
},
"Parameters": {
"DeleteOnUpload": null,
diff --git a/src/VirtualClient/VirtualClient.Main/profiles/MONITORS-GPU-AMD.json b/src/VirtualClient/VirtualClient.Main/profiles/MONITORS-GPU-AMD.json
index fc82ad373c..0734e3a2e1 100644
--- a/src/VirtualClient/VirtualClient.Main/profiles/MONITORS-GPU-AMD.json
+++ b/src/VirtualClient/VirtualClient.Main/profiles/MONITORS-GPU-AMD.json
@@ -2,7 +2,7 @@
"Description": "Default Monitors for AMD GPU systems.",
"Metadata": {
"SupportedPlatforms": "linux-x64,win-x64",
- "SupportedOperatingSystems": "CBL-Mariner,CentOS,Debian,RedHat,Suse,Ubuntu,Windows",
+ "SupportedOperatingSystems": "AzureLinux,CentOS,Debian,OpenSuse,RedHat,Ubuntu,Windows",
"PreliminaryRequirements": "Please note that the AMD GPU driver MUST be already installed on the system for the monitors to function correctly."
},
"Parameters": {
diff --git a/src/VirtualClient/VirtualClient.Main/profiles/MONITORS-GPU-NVIDIA.json b/src/VirtualClient/VirtualClient.Main/profiles/MONITORS-GPU-NVIDIA.json
index e8a5657944..e09838a060 100644
--- a/src/VirtualClient/VirtualClient.Main/profiles/MONITORS-GPU-NVIDIA.json
+++ b/src/VirtualClient/VirtualClient.Main/profiles/MONITORS-GPU-NVIDIA.json
@@ -1,8 +1,8 @@
{
"Description": "Default Monitors for Nvidia GPU systems.",
"Metadata": {
- "SupportedPlatforms": "linux-arm64,linux-x64,win-x64",
- "SupportedOperatingSystems": "CentOS,Debian,RedHat,Suse,Ubuntu,Windows",
+ "SupportedPlatforms": "linux-x64,linux-arm64,win-x64",
+ "SupportedOperatingSystems": "CentOS,Debian,OpenSuse,RedHat,Ubuntu,Windows",
"PreliminaryRequirements": "Please note that the Nvidia GPU driver and CUDA toolsets MUST be already installed on the system for the monitors to function correctly."
},
"Parameters": {
diff --git a/src/VirtualClient/VirtualClient.Main/profiles/PERF-COMPRESSION-LZBENCH.json b/src/VirtualClient/VirtualClient.Main/profiles/PERF-COMPRESSION-LZBENCH.json
index 9c23e3ec27..bd714d91c3 100644
--- a/src/VirtualClient/VirtualClient.Main/profiles/PERF-COMPRESSION-LZBENCH.json
+++ b/src/VirtualClient/VirtualClient.Main/profiles/PERF-COMPRESSION-LZBENCH.json
@@ -3,7 +3,7 @@
"Metadata": {
"RecommendedMinimumExecutionTime": "24:00:00",
"SupportedPlatforms": "linux-x64,linux-arm64",
- "SupportedOperatingSystems": "CBL-Mariner,CentOS,Debian,RedHat,Suse,Ubuntu"
+ "SupportedOperatingSystems": "AzureLinux,CentOS,Debian,OpenSuse,RedHat,Ubuntu"
},
"Parameters": {
"CompilerVersion": ""
diff --git a/src/VirtualClient/VirtualClient.Main/profiles/PERF-COMPRESSION.json b/src/VirtualClient/VirtualClient.Main/profiles/PERF-COMPRESSION.json
index 2787c9205e..c8aaf2bf21 100644
--- a/src/VirtualClient/VirtualClient.Main/profiles/PERF-COMPRESSION.json
+++ b/src/VirtualClient/VirtualClient.Main/profiles/PERF-COMPRESSION.json
@@ -3,7 +3,7 @@
"Metadata": {
"RecommendedMinimumExecutionTime": "04:00:00",
"SupportedPlatforms": "linux-x64,linux-arm64,win-x64,win-arm64",
- "SupportedOperatingSystems": "CBL-Mariner,CentOS,Debian,RedHat,Suse,Ubuntu,Windows"
+ "SupportedOperatingSystems": "AzureLinux,CentOS,Debian,OpenSuse,RedHat,Ubuntu,Windows"
},
"Parameters": { },
"Actions": [
diff --git a/src/VirtualClient/VirtualClient.Main/profiles/PERF-CPU-COREMARK.json b/src/VirtualClient/VirtualClient.Main/profiles/PERF-CPU-COREMARK.json
index 993ebacc3e..b975cfe5b0 100644
--- a/src/VirtualClient/VirtualClient.Main/profiles/PERF-CPU-COREMARK.json
+++ b/src/VirtualClient/VirtualClient.Main/profiles/PERF-CPU-COREMARK.json
@@ -3,8 +3,8 @@
"MinimumExecutionInterval": "00:01:00",
"Metadata": {
"RecommendedMinimumExecutionTime": "00:05:00",
- "SupportedPlatforms": "linux-x64,linux-arm64",
- "SupportedOperatingSystems": "CBL-Mariner,CentOS,Debian,RedHat,Suse,Ubuntu"
+ "SupportedPlatforms": "linux-x64,linux-arm64,win-x64,win-arm64",
+ "SupportedOperatingSystems": "AzureLinux,CentOS,Debian,OpenSuse,RedHat,Ubuntu,Windows"
},
"Parameters": {
"CompilerVersion": "",
diff --git a/src/VirtualClient/VirtualClient.Main/profiles/PERF-CPU-COREMARKPRO.json b/src/VirtualClient/VirtualClient.Main/profiles/PERF-CPU-COREMARKPRO.json
index 7440197b53..33915f8eae 100644
--- a/src/VirtualClient/VirtualClient.Main/profiles/PERF-CPU-COREMARKPRO.json
+++ b/src/VirtualClient/VirtualClient.Main/profiles/PERF-CPU-COREMARKPRO.json
@@ -4,7 +4,7 @@
"Metadata": {
"RecommendedMinimumExecutionTime": "00:01:00",
"SupportedPlatforms": "linux-x64,linux-arm64,win-x64,win-arm64",
- "SupportedOperatingSystems": "CBL-Mariner,CentOS,Debian,RedHat,Suse,Ubuntu,Windows"
+ "SupportedOperatingSystems": "AzureLinux,CentOS,Debian,OpenSuse,RedHat,Ubuntu,Windows"
},
"Parameters": {
"CompilerVersion": "",
diff --git a/src/VirtualClient/VirtualClient.Main/profiles/PERF-CPU-DOTNETRUNTIME.json b/src/VirtualClient/VirtualClient.Main/profiles/PERF-CPU-DOTNETRUNTIME.json
index e127fc1317..7fa7c919ca 100644
--- a/src/VirtualClient/VirtualClient.Main/profiles/PERF-CPU-DOTNETRUNTIME.json
+++ b/src/VirtualClient/VirtualClient.Main/profiles/PERF-CPU-DOTNETRUNTIME.json
@@ -1,5 +1,10 @@
{
"Description": "DotNetRuntime CPU Performance workload",
+ "Metadata": {
+ "RecommendedMinimumExecutionTime": "01:30:00",
+ "SupportedPlatforms": "win-x64",
+ "SupportedOperatingSystems": "Windows"
+ },
"Parameters": {
"NumberOfJvmInstances": "1",
"NumberOfWarehouses": "8",
diff --git a/src/VirtualClient/VirtualClient.Main/profiles/PERF-CPU-EXAMPLE-AFFINITY.json b/src/VirtualClient/VirtualClient.Main/profiles/PERF-CPU-EXAMPLE-AFFINITY.json
index 7fbd2a4727..283257734b 100644
--- a/src/VirtualClient/VirtualClient.Main/profiles/PERF-CPU-EXAMPLE-AFFINITY.json
+++ b/src/VirtualClient/VirtualClient.Main/profiles/PERF-CPU-EXAMPLE-AFFINITY.json
@@ -2,7 +2,8 @@
"Description": "Example CPU Affinity Workload Profile",
"MinimumExecutionInterval": "00:00:05",
"Metadata": {
- "SupportedPlatforms": "linux-x64,linux-arm64,win-x64,win-arm64"
+ "SupportedPlatforms": "linux-x64,linux-arm64,win-x64,win-arm64",
+ "SupportedOperatingSystems": "AmazonLinux,AzureLinux,CentOS,Debian,OpenSuse,RedHat,Ubuntu,Windows"
},
"Parameters": {
"ProfilingEnabled": false,
diff --git a/src/VirtualClient/VirtualClient.Main/profiles/PERF-CPU-GEEKBENCH.json b/src/VirtualClient/VirtualClient.Main/profiles/PERF-CPU-GEEKBENCH.json
index 21f455c531..0f470e3ee8 100644
--- a/src/VirtualClient/VirtualClient.Main/profiles/PERF-CPU-GEEKBENCH.json
+++ b/src/VirtualClient/VirtualClient.Main/profiles/PERF-CPU-GEEKBENCH.json
@@ -3,7 +3,7 @@
"Metadata": {
"RecommendedMinimumExecutionTime": "00:05:00",
"SupportedPlatforms": "linux-x64,linux-arm64,win-x64,win-arm64",
- "SupportedOperatingSystems": "CBL-Mariner,CentOS,Debian,RedHat,Suse,Ubuntu,Windows"
+ "SupportedOperatingSystems": "AzureLinux,CentOS,Debian,OpenSuse,RedHat,Ubuntu,Windows"
},
"Actions": [
{
diff --git a/src/VirtualClient/VirtualClient.Main/profiles/PERF-CPU-GEEKBENCH5.json b/src/VirtualClient/VirtualClient.Main/profiles/PERF-CPU-GEEKBENCH5.json
index 1c7f8de9ff..c695524a6c 100644
--- a/src/VirtualClient/VirtualClient.Main/profiles/PERF-CPU-GEEKBENCH5.json
+++ b/src/VirtualClient/VirtualClient.Main/profiles/PERF-CPU-GEEKBENCH5.json
@@ -3,7 +3,7 @@
"Metadata": {
"RecommendedMinimumExecutionTime": "00:05:00",
"SupportedPlatforms": "linux-x64,linux-arm64,win-x64,win-arm64",
- "SupportedOperatingSystems": "CBL-Mariner,CentOS,Debian,RedHat,Suse,Ubuntu,Windows"
+ "SupportedOperatingSystems": "AzureLinux,CentOS,Debian,OpenSuse,RedHat,Ubuntu,Windows"
},
"Actions": [
{
diff --git a/src/VirtualClient/VirtualClient.Main/profiles/PERF-CPU-HPCG.json b/src/VirtualClient/VirtualClient.Main/profiles/PERF-CPU-HPCG.json
index 0e4a7b130a..131609bf7f 100644
--- a/src/VirtualClient/VirtualClient.Main/profiles/PERF-CPU-HPCG.json
+++ b/src/VirtualClient/VirtualClient.Main/profiles/PERF-CPU-HPCG.json
@@ -4,7 +4,7 @@
"Metadata": {
"RecommendedMinimumExecutionTime": "01:00:00",
"SupportedPlatforms": "linux-x64,linux-arm64",
- "SupportedOperatingSystems": "CBL-Mariner,CentOS,Debian,RedHat,Suse,Ubuntu"
+ "SupportedOperatingSystems": "AzureLinux,CentOS,Debian,OpenSuse,RedHat,Ubuntu"
},
"Parameters": {
"CompilerVersion": ""
diff --git a/src/VirtualClient/VirtualClient.Main/profiles/PERF-CPU-LAPACK.json b/src/VirtualClient/VirtualClient.Main/profiles/PERF-CPU-LAPACK.json
index 3681ca0434..5ecbbbb5df 100644
--- a/src/VirtualClient/VirtualClient.Main/profiles/PERF-CPU-LAPACK.json
+++ b/src/VirtualClient/VirtualClient.Main/profiles/PERF-CPU-LAPACK.json
@@ -2,8 +2,8 @@
"Description": "LAPACK Performance workload",
"Metadata": {
"RecommendedMinimumExecutionTime": "(4-cores)=02:00:00,(16-cores)=04:00:00,(64-cores)=10:00:00",
- "SupportedPlatforms": "linux-x64,linux-arm64",
- "SupportedOperatingSystems": "CBL-Mariner,CentOS,Debian,RedHat,Suse,Ubuntu"
+ "SupportedPlatforms": "linux-x64,linux-arm64,win-x64,win-arm64",
+ "SupportedOperatingSystems": "AzureLinux,CentOS,Debian,OpenSuse,RedHat,Ubuntu,Windows"
},
"Parameters": {
"CompilerVersion": ""
diff --git a/src/VirtualClient/VirtualClient.Main/profiles/PERF-CPU-OPENSSL-TLS.json b/src/VirtualClient/VirtualClient.Main/profiles/PERF-CPU-OPENSSL-TLS.json
index 11205050c8..cff2f37ad5 100644
--- a/src/VirtualClient/VirtualClient.Main/profiles/PERF-CPU-OPENSSL-TLS.json
+++ b/src/VirtualClient/VirtualClient.Main/profiles/PERF-CPU-OPENSSL-TLS.json
@@ -3,7 +3,7 @@
"Metadata": {
"RecommendedMinimumExecutionTime": "03:00:00",
"SupportedPlatforms": "linux-x64,linux-arm64,win-x64",
- "SupportedOperatingSystems": "AzureLinux,CentOS,Debian,RedHat,Suse,Ubuntu,Windows"
+ "SupportedOperatingSystems": "AzureLinux,CentOS,Debian,OpenSuse,RedHat,Ubuntu,Windows"
},
"Parameters": {
"ServerPort": 5000,
diff --git a/src/VirtualClient/VirtualClient.Main/profiles/PERF-CPU-OPENSSL.json b/src/VirtualClient/VirtualClient.Main/profiles/PERF-CPU-OPENSSL.json
index e71ff27f04..d3836da307 100644
--- a/src/VirtualClient/VirtualClient.Main/profiles/PERF-CPU-OPENSSL.json
+++ b/src/VirtualClient/VirtualClient.Main/profiles/PERF-CPU-OPENSSL.json
@@ -3,7 +3,7 @@
"Metadata": {
"RecommendedMinimumExecutionTime": "01:00:00",
"SupportedPlatforms": "linux-x64,linux-arm64,win-x64",
- "SupportedOperatingSystems": "AzureLinux,CentOS,Debian,RedHat,Suse,Ubuntu,Windows"
+ "SupportedOperatingSystems": "AzureLinux,CentOS,Debian,OpenSuse,RedHat,Ubuntu,Windows"
},
"Parameters": {
"Duration": "00:01:40"
diff --git a/src/VirtualClient/VirtualClient.Main/profiles/PERF-CPU-PRIME95.json b/src/VirtualClient/VirtualClient.Main/profiles/PERF-CPU-PRIME95.json
index cca7f7a18b..d3a3f96598 100644
--- a/src/VirtualClient/VirtualClient.Main/profiles/PERF-CPU-PRIME95.json
+++ b/src/VirtualClient/VirtualClient.Main/profiles/PERF-CPU-PRIME95.json
@@ -3,7 +3,7 @@
"Metadata": {
"RecommendedMinimumExecutionTime": "02:00:00",
"SupportedPlatforms": "linux-x64,win-x64",
- "SupportedOperatingSystems": "CBL-Mariner,CentOS,Debian,RedHat,Suse,Ubuntu,Windows"
+ "SupportedOperatingSystems": "AzureLinux,CentOS,Debian,OpenSuse,RedHat,Ubuntu,Windows"
},
"Parameters": {
"Duration": "00:15:00",
diff --git a/src/VirtualClient/VirtualClient.Main/profiles/PERF-GRAPH500.json b/src/VirtualClient/VirtualClient.Main/profiles/PERF-GRAPH500.json
index 6404113d03..4698c21d72 100644
--- a/src/VirtualClient/VirtualClient.Main/profiles/PERF-GRAPH500.json
+++ b/src/VirtualClient/VirtualClient.Main/profiles/PERF-GRAPH500.json
@@ -3,7 +3,7 @@
"Metadata": {
"RecommendedMinimumExecutionTime": "00:05:00",
"SupportedPlatforms": "linux-x64,linux-arm64",
- "SupportedOperatingSystems": "CBL-Mariner,CentOS,Debian,RedHat,Suse,Ubuntu"
+ "SupportedOperatingSystems": "AzureLinux,CentOS,Debian,OpenSuse,RedHat,Ubuntu"
},
"Parameters": {
"Scale": "10",
diff --git a/src/VirtualClient/VirtualClient.Main/profiles/PERF-IO-DISKSPD.json b/src/VirtualClient/VirtualClient.Main/profiles/PERF-IO-DISKSPD.json
index 67f2ac5672..b966e1b73f 100644
--- a/src/VirtualClient/VirtualClient.Main/profiles/PERF-IO-DISKSPD.json
+++ b/src/VirtualClient/VirtualClient.Main/profiles/PERF-IO-DISKSPD.json
@@ -1,7 +1,7 @@
{
"Description": "DiskSpd I/O Stress Performance Workload",
"Metadata": {
- "RecommendedMinimumExecutionTime": "00:30:00",
+ "RecommendedMinimumExecutionTime": "02:00:00",
"SupportedPlatforms": "win-x64,win-arm64",
"SupportedOperatingSystems": "Windows"
},
diff --git a/src/VirtualClient/VirtualClient.Main/profiles/PERF-IO-FIO-OLTP.json b/src/VirtualClient/VirtualClient.Main/profiles/PERF-IO-FIO-OLTP.json
index 9cf4c5b2c9..4311de6342 100644
--- a/src/VirtualClient/VirtualClient.Main/profiles/PERF-IO-FIO-OLTP.json
+++ b/src/VirtualClient/VirtualClient.Main/profiles/PERF-IO-FIO-OLTP.json
@@ -3,9 +3,9 @@
"Metadata": {
"RecommendedMinimumExecutionTime": "00:30:00",
"SupportedPlatforms": "linux-x64,linux-arm64,win-x64",
- "SupportedOperatingSystems": "CBL-Mariner,CentOS,Debian,RedHat,Suse,Ubuntu,Windows",
+ "SupportedOperatingSystems": "AzureLinux,CentOS,Debian,OpenSuse,RedHat,Ubuntu,Windows",
"Notes": "This profile uses FIO job files (e.g. *.jobfile) via the command line.",
- "Documentation": "FIO documentation: https://fio.readthedocs.io/en/latest/fio_doc.html FIO Job File documentation: https://fio.readthedocs.io/en/latest/fio_doc.html#job-file-format"
+ "DocumentationUri": "FIO documentation: https://fio.readthedocs.io/en/latest/fio_doc.html FIO Job File documentation: https://fio.readthedocs.io/en/latest/fio_doc.html#job-file-format"
},
"Parameters": {
"Engine": "{calculate(\"{Platform}\".StartsWith(\"linux\") ? \"libaio\" : \"windowsaio\")}",
diff --git a/src/VirtualClient/VirtualClient.Main/profiles/PERF-IO-FIO.json b/src/VirtualClient/VirtualClient.Main/profiles/PERF-IO-FIO.json
index 281d72f2fb..00d68424d8 100644
--- a/src/VirtualClient/VirtualClient.Main/profiles/PERF-IO-FIO.json
+++ b/src/VirtualClient/VirtualClient.Main/profiles/PERF-IO-FIO.json
@@ -3,7 +3,7 @@
"Metadata": {
"RecommendedMinimumExecutionTime": "02:00:00",
"SupportedPlatforms": "linux-x64,linux-arm64,win-x64",
- "SupportedOperatingSystems": "CBL-Mariner,CentOS,Debian,RedHat,Suse,Ubuntu,Windows"
+ "SupportedOperatingSystems": "AzureLinux,CentOS,Debian,OpenSuse,RedHat,Ubuntu,Windows"
},
"Parameters": {
"DiskFillSize": "500G",
diff --git a/src/VirtualClient/VirtualClient.Main/profiles/PERF-MEM-LMBENCH-SWEEP.json b/src/VirtualClient/VirtualClient.Main/profiles/PERF-MEM-LMBENCH-SWEEP.json
index e0dbd1caa6..e05d9a5889 100644
--- a/src/VirtualClient/VirtualClient.Main/profiles/PERF-MEM-LMBENCH-SWEEP.json
+++ b/src/VirtualClient/VirtualClient.Main/profiles/PERF-MEM-LMBENCH-SWEEP.json
@@ -3,7 +3,7 @@
"Metadata": {
"RecommendedMinimumExecutionTime": "00:30:00",
"SupportedPlatforms": "linux-x64,linux-arm64",
- "SupportedOperatingSystems": "Azure Linux,CentOS,Debian,RedHat,Suse,Ubuntu"
+ "SupportedOperatingSystems": "AzureLinux,CentOS,Debian,OpenSuse,RedHat,Ubuntu"
},
"Parameters": {
"CompilerName": "gcc",
diff --git a/src/VirtualClient/VirtualClient.Main/profiles/PERF-MEM-LMBENCH.json b/src/VirtualClient/VirtualClient.Main/profiles/PERF-MEM-LMBENCH.json
index be3032aee8..3dc70ddab6 100644
--- a/src/VirtualClient/VirtualClient.Main/profiles/PERF-MEM-LMBENCH.json
+++ b/src/VirtualClient/VirtualClient.Main/profiles/PERF-MEM-LMBENCH.json
@@ -4,7 +4,7 @@
"Metadata": {
"RecommendedMinimumExecutionTime": "(4-cores)=04:00:00,(16-cores)=10:00:00,(64-cores)=16:00:00",
"SupportedPlatforms": "linux-x64,linux-arm64",
- "SupportedOperatingSystems": "CBL-Mariner,CentOS,Debian,RedHat,Suse,Ubuntu",
+ "SupportedOperatingSystems": "AzureLinux,CentOS,Debian,OpenSuse,RedHat,Ubuntu",
"Notes_Runtime": "The benchmark takes approximately 6 to 8 minutes per 1 GB of RAM targeted. The default profile uses 25% of the total RAM."
},
"Parameters": {
diff --git a/src/VirtualClient/VirtualClient.Main/profiles/PERF-MEM-STREAM.json b/src/VirtualClient/VirtualClient.Main/profiles/PERF-MEM-STREAM.json
index c8bf76c8dc..fe7d097c4f 100644
--- a/src/VirtualClient/VirtualClient.Main/profiles/PERF-MEM-STREAM.json
+++ b/src/VirtualClient/VirtualClient.Main/profiles/PERF-MEM-STREAM.json
@@ -1,10 +1,10 @@
{
"Description": "STREAM Performance Workload - Sustainable Memory Bandwidth in High Performance Computers Benchmark",
"Metadata": {
- "DocumentationLink": "https://msazure.visualstudio.com/One/_git/CRC-AIR-Workloads?version=GBmaster&path=/docs/workloads",
"RecommendedMinimumExecutionTime": "00:10:00",
"SupportedPlatforms": "linux-x64,linux-arm64,win-x64,win-arm64",
- "SupportedOperatingSystems": "Windows,Ubuntu",
+ "SupportedOperatingSystems": "Ubuntu,Windows",
+ "DocumentationUri": "https://msazure.visualstudio.com/One/_git/CRC-AIR-Workloads?version=GBmaster&path=/docs/workloads",
"SupportedValuesOfToolset": "STREAM,STREAMTriad,STREAMMsft"
},
"Parameters": {
diff --git a/src/VirtualClient/VirtualClient.Main/profiles/PERF-MEM-STREAMMSFT.json b/src/VirtualClient/VirtualClient.Main/profiles/PERF-MEM-STREAMMSFT.json
index 028c3caa67..3256b32501 100644
--- a/src/VirtualClient/VirtualClient.Main/profiles/PERF-MEM-STREAMMSFT.json
+++ b/src/VirtualClient/VirtualClient.Main/profiles/PERF-MEM-STREAMMSFT.json
@@ -1,10 +1,10 @@
{
"Description": "Microsoft's Stream Performance Workload",
"Metadata": {
- "DocumentationLink": "https://msazure.visualstudio.com/One/_git/CRC-AIR-Workloads?version=GBmaster&path=/docs/workloads",
"RecommendedMinimumExecutionTime": "00:10:00",
"SupportedPlatforms": "linux-arm64",
"SupportedOperatingSystems": "Ubuntu",
+ "DocumentationUri": "https://msazure.visualstudio.com/One/_git/CRC-AIR-Workloads?version=GBmaster&path=/docs/workloads",
"SupportedValuesOfToolset": "STREAM,STREAMTriad,STREAMMsft"
},
"Parameters": {
diff --git a/src/VirtualClient/VirtualClient.Main/profiles/PERF-MEM-STREAMTRIAD.json b/src/VirtualClient/VirtualClient.Main/profiles/PERF-MEM-STREAMTRIAD.json
index a8387ec9ee..f51299e67f 100644
--- a/src/VirtualClient/VirtualClient.Main/profiles/PERF-MEM-STREAMTRIAD.json
+++ b/src/VirtualClient/VirtualClient.Main/profiles/PERF-MEM-STREAMTRIAD.json
@@ -1,10 +1,10 @@
{
"Description": "Stream Performance Workload",
"Metadata": {
- "DocumentationLink": "https://msazure.visualstudio.com/One/_git/CRC-AIR-Workloads?version=GBmaster&path=/docs/workloads",
"RecommendedMinimumExecutionTime": "00:10:00",
"SupportedPlatforms": "linux-x64",
"SupportedOperatingSystems": "Ubuntu",
+ "DocumentationUri": "https://msazure.visualstudio.com/One/_git/CRC-AIR-Workloads?version=GBmaster&path=/docs/workloads",
"SupportedValuesOfToolset": "STREAM,STREAMTriad,STREAMMsft"
},
"Parameters": {
diff --git a/src/VirtualClient/VirtualClient.Main/profiles/PERF-MEM-STRESSAPPTEST.json b/src/VirtualClient/VirtualClient.Main/profiles/PERF-MEM-STRESSAPPTEST.json
index 9ab36935ec..48b3776653 100644
--- a/src/VirtualClient/VirtualClient.Main/profiles/PERF-MEM-STRESSAPPTEST.json
+++ b/src/VirtualClient/VirtualClient.Main/profiles/PERF-MEM-STRESSAPPTEST.json
@@ -3,7 +3,7 @@
"Metadata": {
"RecommendedMinimumExecutionTime": "00:05:00",
"SupportedPlatforms": "linux-x64,linux-arm64",
- "SupportedOperatingSystems": "CBL-Mariner,CentOS,Debian,RedHat,Suse,Ubuntu"
+ "SupportedOperatingSystems": "AzureLinux,CentOS,Debian,OpenSuse,RedHat,Ubuntu"
},
"Parameters": {
"Duration": "00:01:00",
diff --git a/src/VirtualClient/VirtualClient.Main/profiles/PERF-MONGODB-YCSB.json b/src/VirtualClient/VirtualClient.Main/profiles/PERF-MONGODB-YCSB.json
index 54208f7ba5..cd2efbb9e8 100644
--- a/src/VirtualClient/VirtualClient.Main/profiles/PERF-MONGODB-YCSB.json
+++ b/src/VirtualClient/VirtualClient.Main/profiles/PERF-MONGODB-YCSB.json
@@ -1,9 +1,9 @@
{
"Description": "MongoDB YCSB client-server workload (2-VM)",
"Metadata": {
- "RecommendedMinimumExecutionTime": "00:15:00",
+ "RecommendedMinimumExecutionTime": "01:00:00",
"SupportedPlatforms": "linux-x64,linux-arm64",
- "SupportedOperatingSystems": "AzureLinux,Ubuntu",
+ "SupportedOperatingSystems": "AzureLinux,Debian,Ubuntu",
"Notes": "Database sizes vary based on RecordCount: Small (500000 records) ~8-10 GB, Medium (2500000 records) ~40-50 GB, Large (20000000 records) ~320-400 GB, XLarge (55000000 records) ~900 GB-1 TB. Default configuration uses Medium size (~40-50 GB) with 2500000 records."
},
"Parameters": {
diff --git a/src/VirtualClient/VirtualClient.Main/profiles/PERF-NETWORK-2.json b/src/VirtualClient/VirtualClient.Main/profiles/PERF-NETWORK-2.json
index f0c139fb12..d91db77851 100644
--- a/src/VirtualClient/VirtualClient.Main/profiles/PERF-NETWORK-2.json
+++ b/src/VirtualClient/VirtualClient.Main/profiles/PERF-NETWORK-2.json
@@ -3,7 +3,7 @@
"Metadata": {
"RecommendedMinimumExecutionTime": "00:30:00",
"SupportedPlatforms": "linux-x64,linux-arm64,win-x64,win-arm64",
- "SupportedOperatingSystems": "CBL-Mariner,CentOS,Debian,RedHat,Suse,Ubuntu,Windows,AwsLinux",
+ "SupportedOperatingSystems": "AmazonLinux,AzureLinux,CentOS,Debian,OpenSuse,RedHat,Ubuntu,Windows",
"Notes": "latte.exe workload UDP protocol support is removed due to constant hangs regardless of the use of iterations (-i) or timeout (-t)."
},
"Parameters": {
diff --git a/src/VirtualClient/VirtualClient.Main/profiles/PERF-NETWORK-CTSTRAFFIC.json b/src/VirtualClient/VirtualClient.Main/profiles/PERF-NETWORK-CTSTRAFFIC.json
index 1d19937cb9..012c243fa3 100644
--- a/src/VirtualClient/VirtualClient.Main/profiles/PERF-NETWORK-CTSTRAFFIC.json
+++ b/src/VirtualClient/VirtualClient.Main/profiles/PERF-NETWORK-CTSTRAFFIC.json
@@ -2,7 +2,7 @@
"Description": "CtsTraffic Network Performance Workload",
"Metadata": {
"RecommendedMinimumExecutionTime": "00:30:00",
- "SupportedPlatforms": "win-x64, win-arm64",
+ "SupportedPlatforms": "win-x64,win-arm64",
"SupportedOperatingSystems": "Windows"
},
"Parameters": {
diff --git a/src/VirtualClient/VirtualClient.Main/profiles/PERF-NETWORK-DEATHSTARBENCH.json b/src/VirtualClient/VirtualClient.Main/profiles/PERF-NETWORK-DEATHSTARBENCH.json
index 18dda800f9..3ccb34d24e 100644
--- a/src/VirtualClient/VirtualClient.Main/profiles/PERF-NETWORK-DEATHSTARBENCH.json
+++ b/src/VirtualClient/VirtualClient.Main/profiles/PERF-NETWORK-DEATHSTARBENCH.json
@@ -3,7 +3,7 @@
"Metadata": {
"RecommendedMinimumExecutionTime": "00:30:00",
"SupportedPlatforms": "linux-x64",
- "SupportedOperatingSystems": "CBL-Mariner,CentOS,Debian,RedHat,Suse,Ubuntu"
+ "SupportedOperatingSystems": "Ubuntu"
},
"Parameters": {
"ThreadCount": "20",
diff --git a/src/VirtualClient/VirtualClient.Main/profiles/PERF-NETWORK-NTTTCP.json b/src/VirtualClient/VirtualClient.Main/profiles/PERF-NETWORK-NTTTCP.json
index 1646b4036f..9e4392288d 100644
--- a/src/VirtualClient/VirtualClient.Main/profiles/PERF-NETWORK-NTTTCP.json
+++ b/src/VirtualClient/VirtualClient.Main/profiles/PERF-NETWORK-NTTTCP.json
@@ -3,7 +3,7 @@
"Metadata": {
"RecommendedMinimumExecutionTime": "00:30:00",
"SupportedPlatforms": "linux-x64,linux-arm64,win-x64,win-arm64",
- "SupportedOperatingSystems": "CBL-Mariner,CentOS,Debian,RedHat,Suse,Ubuntu,Windows,AwsLinux"
+ "SupportedOperatingSystems": "AmazonLinux,AzureLinux,CentOS,Debian,OpenSuse,RedHat,Ubuntu,Windows"
},
"Parameters": {
"EnableBusyPoll": true,
diff --git a/src/VirtualClient/VirtualClient.Main/profiles/PERF-NETWORK-PING.json b/src/VirtualClient/VirtualClient.Main/profiles/PERF-NETWORK-PING.json
index 6f2c7aeaa8..449bc91a1a 100644
--- a/src/VirtualClient/VirtualClient.Main/profiles/PERF-NETWORK-PING.json
+++ b/src/VirtualClient/VirtualClient.Main/profiles/PERF-NETWORK-PING.json
@@ -3,7 +3,7 @@
"Metadata": {
"RecommendedMinimumExecutionTime": "00:05:00",
"SupportedPlatforms": "linux-x64,linux-arm64,win-x64,win-arm64",
- "SupportedOperatingSystems": "CBL-Mariner,CentOS,Debian,RedHat,Suse,Ubuntu,Windows"
+ "SupportedOperatingSystems": "AzureLinux,CentOS,Debian,OpenSuse,RedHat,Ubuntu,Windows"
},
"Parameters": {
"IPAddress": null,
diff --git a/src/VirtualClient/VirtualClient.Main/profiles/PERF-NETWORK.json b/src/VirtualClient/VirtualClient.Main/profiles/PERF-NETWORK.json
index 8e5073be33..8aa11a6843 100644
--- a/src/VirtualClient/VirtualClient.Main/profiles/PERF-NETWORK.json
+++ b/src/VirtualClient/VirtualClient.Main/profiles/PERF-NETWORK.json
@@ -3,7 +3,7 @@
"Metadata": {
"RecommendedMinimumExecutionTime": "00:30:00",
"SupportedPlatforms": "linux-x64,linux-arm64,win-x64,win-arm64",
- "SupportedOperatingSystems": "CBL-Mariner,CentOS,Debian,RedHat,Suse,Ubuntu,Windows,AwsLinux",
+ "SupportedOperatingSystems": "AmazonLinux,AzureLinux,CentOS,Debian,OpenSuse,RedHat,Ubuntu,Windows",
"Notes": "latte.exe workload UDP protocol support is removed due to constant hangs regardless of the use of iterations (-i) or timeout (-t)."
},
"Parameters": {
diff --git a/src/VirtualClient/VirtualClient.Main/profiles/PERF-OPENFOAM.json b/src/VirtualClient/VirtualClient.Main/profiles/PERF-OPENFOAM.json
index 1b637aff08..8c107b6571 100644
--- a/src/VirtualClient/VirtualClient.Main/profiles/PERF-OPENFOAM.json
+++ b/src/VirtualClient/VirtualClient.Main/profiles/PERF-OPENFOAM.json
@@ -3,7 +3,7 @@
"Metadata": {
"RecommendedMinimumExecutionTime": "02:00:00",
"SupportedPlatforms": "linux-x64,linux-arm64",
- "SupportedOperatingSystems": "CBL-Mariner,CentOS,Debian,RedHat,Suse,Ubuntu"
+ "SupportedOperatingSystems": "AzureLinux,CentOS,Debian,OpenSuse,RedHat,Ubuntu"
},
"Parameters": {
"Iterations": "500"
diff --git a/src/VirtualClient/VirtualClient.Main/profiles/PERF-SPECCPU-FPRATE.json b/src/VirtualClient/VirtualClient.Main/profiles/PERF-SPECCPU-FPRATE.json
index 54aec9fd27..25258193be 100644
--- a/src/VirtualClient/VirtualClient.Main/profiles/PERF-SPECCPU-FPRATE.json
+++ b/src/VirtualClient/VirtualClient.Main/profiles/PERF-SPECCPU-FPRATE.json
@@ -9,7 +9,7 @@
"Metadata": {
"RecommendedMinimumExecutionTime": "(4-cores)=02:00:00,(16-cores)=05:00:00,(64-cores)=10:00:00",
"SupportedPlatforms": "linux-x64,linux-arm64,win-x64,win-arm64",
- "SupportedOperatingSystems": "Azure Linux,CentOS,Debian,RedHat,Suse,Ubuntu,Windows",
+ "SupportedOperatingSystems": "AzureLinux,CentOS,Debian,OpenSuse,RedHat,Ubuntu,Windows",
"Notes": "Using a private package 'speccpu.2017.1.1.9-danielbowers.zip' to enable support for speccpu on Ubuntu 24. SPEC CPU 2017 was not initially designed for win-arm64.",
"Limitations": "The following benchmarks don't work on Windows: 507, 511, 521, 526, 527, 538"
},
diff --git a/src/VirtualClient/VirtualClient.Main/profiles/PERF-SPECCPU-FPSPEED.json b/src/VirtualClient/VirtualClient.Main/profiles/PERF-SPECCPU-FPSPEED.json
index 7620a07ba0..0e588574f4 100644
--- a/src/VirtualClient/VirtualClient.Main/profiles/PERF-SPECCPU-FPSPEED.json
+++ b/src/VirtualClient/VirtualClient.Main/profiles/PERF-SPECCPU-FPSPEED.json
@@ -9,7 +9,7 @@
"Metadata": {
"RecommendedMinimumExecutionTime": "(4-cores)=02:00:00,(16-cores)=06:00:00,(64-cores)=12:00:00",
"SupportedPlatforms": "linux-x64,linux-arm64,win-x64",
- "SupportedOperatingSystems": "Azure Linux,CentOS,Debian,RedHat,Suse,Ubuntu,Windows",
+ "SupportedOperatingSystems": "AzureLinux,CentOS,Debian,OpenSuse,RedHat,Ubuntu,Windows",
"Notes": "Using a private package 'speccpu.2017.1.1.9-danielbowers.zip' to enable support for speccpu on Ubuntu 24. SPEC CPU 2017 was not initially designed for win-arm64.",
"Limitations": "The following benchmarks don't work on Windows: 607, 621, 627, 628, 638, 649"
},
diff --git a/src/VirtualClient/VirtualClient.Main/profiles/PERF-SPECCPU-INTRATE.json b/src/VirtualClient/VirtualClient.Main/profiles/PERF-SPECCPU-INTRATE.json
index 844f93d5db..cd47ac87f0 100644
--- a/src/VirtualClient/VirtualClient.Main/profiles/PERF-SPECCPU-INTRATE.json
+++ b/src/VirtualClient/VirtualClient.Main/profiles/PERF-SPECCPU-INTRATE.json
@@ -9,7 +9,7 @@
"Metadata": {
"RecommendedMinimumExecutionTime": "(8-cores)=04:00:00,(16-cores)=08:00:00,(64-cores)=10:00:00",
"SupportedPlatforms": "linux-x64,linux-arm64,win-x64",
- "SupportedOperatingSystems": "Azure Linux,CentOS,Debian,RedHat,Suse,Ubuntu,Windows",
+ "SupportedOperatingSystems": "AzureLinux,CentOS,Debian,OpenSuse,RedHat,Ubuntu,Windows",
"Notes": "Using a private package 'speccpu.2017.1.1.9-danielbowers.zip' to enable support for speccpu on Ubuntu 24. SPEC CPU 2017 was not initially designed for win-arm64.",
"Limitations": "The following benchmarks don't work on Windows: 500, 502, 520, 523, 531"
},
diff --git a/src/VirtualClient/VirtualClient.Main/profiles/PERF-SPECCPU-INTSPEED.json b/src/VirtualClient/VirtualClient.Main/profiles/PERF-SPECCPU-INTSPEED.json
index e2dc3a04d3..bb93ce007f 100644
--- a/src/VirtualClient/VirtualClient.Main/profiles/PERF-SPECCPU-INTSPEED.json
+++ b/src/VirtualClient/VirtualClient.Main/profiles/PERF-SPECCPU-INTSPEED.json
@@ -9,7 +9,7 @@
"Metadata": {
"RecommendedMinimumExecutionTime": "(8-cores)=04:00:00,(16-cores)=06:00:00,(64-cores)=08:00:00",
"SupportedPlatforms": "linux-x64,linux-arm64,win-x64",
- "SupportedOperatingSystems": "Azure Linux,CentOS,Debian,RedHat,Suse,Ubuntu,Windows",
+ "SupportedOperatingSystems": "AzureLinux,CentOS,Debian,OpenSuse,RedHat,Ubuntu,Windows",
"Notes": "Using a private package 'speccpu.2017.1.1.9-danielbowers.zip' to enable support for speccpu on Ubuntu 24. SPEC CPU 2017 was not initially designed for win-arm64.",
"Limitations": "The following benchmarks don't work on Windows: 600, 602, 605, 620, 623, 625, 631, 648, 657"
},
diff --git a/src/VirtualClient/VirtualClient.Main/profiles/PERF-SPECJBB.json b/src/VirtualClient/VirtualClient.Main/profiles/PERF-SPECJBB.json
index 71e47bdbd7..ae86806466 100644
--- a/src/VirtualClient/VirtualClient.Main/profiles/PERF-SPECJBB.json
+++ b/src/VirtualClient/VirtualClient.Main/profiles/PERF-SPECJBB.json
@@ -5,7 +5,7 @@
"Metadata": {
"RecommendedMinimumExecutionTime": "(4-cores)=05:00:00,(16-cores)=03:00:00,(64-cores)=02:00:00",
"SupportedPlatforms": "linux-x64,linux-arm64,win-x64,win-arm64",
- "SupportedOperatingSystems": "CBL-Mariner,CentOS,Debian,RedHat,Suse,Ubuntu,Windows"
+ "SupportedOperatingSystems": "AzureLinux,CentOS,Debian,OpenSuse,RedHat,Ubuntu,Windows"
},
"Parameters": {
"JavaFlags": "-XX:+AlwaysPreTouch -XX:+UseLargePages -XX:+UseParallelGC"
diff --git a/src/VirtualClient/VirtualClient.Main/profiles/PERF-SPECJVM.json b/src/VirtualClient/VirtualClient.Main/profiles/PERF-SPECJVM.json
index 1d99d922a5..595810e361 100644
--- a/src/VirtualClient/VirtualClient.Main/profiles/PERF-SPECJVM.json
+++ b/src/VirtualClient/VirtualClient.Main/profiles/PERF-SPECJVM.json
@@ -4,7 +4,7 @@
"Metadata": {
"RecommendedMinimumExecutionTime": "03:00:00",
"SupportedPlatforms": "linux-x64,linux-arm64,win-x64,win-arm64",
- "SupportedOperatingSystems": "CBL-Mariner,CentOS,Debian,RedHat,Suse,Ubuntu,Windows"
+ "SupportedOperatingSystems": "AzureLinux,CentOS,Debian,OpenSuse,RedHat,Ubuntu,Windows"
},
"Parameters": {},
"Actions": [
diff --git a/src/VirtualClient/VirtualClient.Main/profiles/PERF-STRESSNG.json b/src/VirtualClient/VirtualClient.Main/profiles/PERF-STRESSNG.json
index c9fe1c8923..1b651f00e6 100644
--- a/src/VirtualClient/VirtualClient.Main/profiles/PERF-STRESSNG.json
+++ b/src/VirtualClient/VirtualClient.Main/profiles/PERF-STRESSNG.json
@@ -4,8 +4,8 @@
"Metadata": {
"RecommendedMinimumExecutionTime": "00:05:00",
"SupportedPlatforms": "linux-x64,linux-arm64",
- "SupportedOperatingSystems": "CBL-Mariner,CentOS,Debian,RedHat,Suse,Ubuntu",
- "SpecialInstrucions": "The commandline parameter --yaml is programatically added, do not add it in profile. By default, --metrics flag is ON, --cpu is set to ProcessorCount and the default timeout is 60 seconds."
+ "SupportedOperatingSystems": "AzureLinux,CentOS,Debian,OpenSuse,RedHat,Ubuntu",
+ "SpecialInstructions": "The commandline parameter --yaml is programatically added, do not add it in profile. By default, --metrics flag is ON, --cpu is set to ProcessorCount and the default timeout is 60 seconds."
},
"Parameters": {
"CommandLine": "--timeout 60"
diff --git a/src/VirtualClient/VirtualClient.Main/profiles/PERF-WEB-ASPNET-BOMBARDIER.json b/src/VirtualClient/VirtualClient.Main/profiles/PERF-WEB-ASPNET-BOMBARDIER.json
index 63a09d94ad..a3ccce1208 100644
--- a/src/VirtualClient/VirtualClient.Main/profiles/PERF-WEB-ASPNET-BOMBARDIER.json
+++ b/src/VirtualClient/VirtualClient.Main/profiles/PERF-WEB-ASPNET-BOMBARDIER.json
@@ -3,7 +3,7 @@
"Metadata": {
"RecommendedMinimumExecutionTime": "00:05:00",
"SupportedPlatforms": "linux-x64,linux-arm64,win-x64,win-arm64",
- "SupportedOperatingSystems": "CBL-Mariner,CentOS,Debian,RedHat,Suse,Ubuntu,Windows"
+ "SupportedOperatingSystems": "AzureLinux,CentOS,Debian,OpenSuse,RedHat,Ubuntu,Windows"
},
"Parameters": {
"DotNetVersion": "8.0.204",
diff --git a/src/VirtualClient/VirtualClient.Main/profiles/PERF-WEB-ASPNET-ORCHARD-WRK.json b/src/VirtualClient/VirtualClient.Main/profiles/PERF-WEB-ASPNET-ORCHARD-WRK.json
index c2f5687b55..61345476c0 100644
--- a/src/VirtualClient/VirtualClient.Main/profiles/PERF-WEB-ASPNET-ORCHARD-WRK.json
+++ b/src/VirtualClient/VirtualClient.Main/profiles/PERF-WEB-ASPNET-ORCHARD-WRK.json
@@ -3,7 +3,7 @@
"Metadata": {
"RecommendedMinimumExecutionTime": "00:10:00",
"SupportedPlatforms": "linux-x64,linux-arm64",
- "SupportedOperatingSystems": "CBL-Mariner,Ubuntu"
+ "SupportedOperatingSystems": "AzureLinux,Ubuntu"
},
"Parameters": {
"DotNetVersion": "9.0.203",
diff --git a/src/VirtualClient/VirtualClient.Main/profiles/PERF-WEB-ASPNET-WRK-AFFINITY.json b/src/VirtualClient/VirtualClient.Main/profiles/PERF-WEB-ASPNET-WRK-AFFINITY.json
index afbf1d74e1..e9d57b22ca 100644
--- a/src/VirtualClient/VirtualClient.Main/profiles/PERF-WEB-ASPNET-WRK-AFFINITY.json
+++ b/src/VirtualClient/VirtualClient.Main/profiles/PERF-WEB-ASPNET-WRK-AFFINITY.json
@@ -3,7 +3,7 @@
"Metadata": {
"RecommendedMinimumExecutionTime": "00:10:00",
"SupportedPlatforms": "linux-x64,linux-arm64",
- "SupportedOperatingSystems": "CBL-Mariner,CentOS,Debian,RedHat,Suse,Ubuntu,Windows"
+ "SupportedOperatingSystems": "AzureLinux,CentOS,Debian,OpenSuse,RedHat,Ubuntu,Windows"
},
"Parameters": {
"DotNetVersion": "9",
diff --git a/src/VirtualClient/VirtualClient.Main/profiles/PERF-WEB-ASPNET-WRK.json b/src/VirtualClient/VirtualClient.Main/profiles/PERF-WEB-ASPNET-WRK.json
index b18f2c41a2..5d60dd3a4b 100644
--- a/src/VirtualClient/VirtualClient.Main/profiles/PERF-WEB-ASPNET-WRK.json
+++ b/src/VirtualClient/VirtualClient.Main/profiles/PERF-WEB-ASPNET-WRK.json
@@ -3,7 +3,7 @@
"Metadata": {
"RecommendedMinimumExecutionTime": "00:10:00",
"SupportedPlatforms": "linux-x64,linux-arm64",
- "SupportedOperatingSystems": "CBL-Mariner,CentOS,Debian,RedHat,Suse,Ubuntu,Windows"
+ "SupportedOperatingSystems": "AzureLinux,CentOS,Debian,OpenSuse,RedHat,Ubuntu,Windows"
},
"Parameters": {
"DotNetVersion": "9",
diff --git a/src/VirtualClient/VirtualClient.Main/profiles/PERF-WEB-NGINX-WRK-RP.json b/src/VirtualClient/VirtualClient.Main/profiles/PERF-WEB-NGINX-WRK-RP.json
index 2f930f5299..f60702c3c0 100644
--- a/src/VirtualClient/VirtualClient.Main/profiles/PERF-WEB-NGINX-WRK-RP.json
+++ b/src/VirtualClient/VirtualClient.Main/profiles/PERF-WEB-NGINX-WRK-RP.json
@@ -3,8 +3,8 @@
"Metadata": {
"RecommendedMinimumExecutionTime": "01:00:00",
"SupportedPlatforms": "linux-x64,linux-arm64",
- "SupportedOperatingSystems": "CBL-Mariner,CentOS,Debian,RedHat,Suse,Ubuntu",
- "Note": "Reverse Proxy config requires three nodes for the roles Client, Reverse Proxy, and Server."
+ "SupportedOperatingSystems": "Debian,Ubuntu",
+ "Notes": "Reverse Proxy config requires three nodes for the roles Client, Reverse Proxy, and Server."
},
"Parameters": {
"TestDuration": "00:02:30",
diff --git a/src/VirtualClient/VirtualClient.Main/profiles/PERF-WEB-NGINX-WRK.json b/src/VirtualClient/VirtualClient.Main/profiles/PERF-WEB-NGINX-WRK.json
index 182783d5a6..de3eda7ce4 100644
--- a/src/VirtualClient/VirtualClient.Main/profiles/PERF-WEB-NGINX-WRK.json
+++ b/src/VirtualClient/VirtualClient.Main/profiles/PERF-WEB-NGINX-WRK.json
@@ -3,7 +3,7 @@
"Metadata": {
"RecommendedMinimumExecutionTime": "01:00:00",
"SupportedPlatforms": "linux-x64,linux-arm64",
- "SupportedOperatingSystems": "CBL-Mariner,CentOS,Debian,RedHat,Suse,Ubuntu"
+ "SupportedOperatingSystems": "Debian,Ubuntu"
},
"Parameters": {
"TestDuration": "00:02:30",
diff --git a/src/VirtualClient/VirtualClient.Main/profiles/PERF-WEB-NGINX-WRK2-RP.json b/src/VirtualClient/VirtualClient.Main/profiles/PERF-WEB-NGINX-WRK2-RP.json
index f82c68a429..3ab05b22c8 100644
--- a/src/VirtualClient/VirtualClient.Main/profiles/PERF-WEB-NGINX-WRK2-RP.json
+++ b/src/VirtualClient/VirtualClient.Main/profiles/PERF-WEB-NGINX-WRK2-RP.json
@@ -3,8 +3,8 @@
"Metadata": {
"RecommendedMinimumExecutionTime": "01:00:00",
"SupportedPlatforms": "linux-x64",
- "SupportedOperatingSystems": "Ubuntu 22",
- "Note": "Reverse Proxy config requires three nodes for the roles Client, Reverse Proxy, and Server."
+ "SupportedOperatingSystems": "Ubuntu",
+ "Notes": "Reverse Proxy config requires three nodes for the roles Client, Reverse Proxy, and Server."
},
"Parameters": {
"TestDuration": "00:02:30",
diff --git a/src/VirtualClient/VirtualClient.Main/profiles/PERF-WEB-NGINX-WRK2.json b/src/VirtualClient/VirtualClient.Main/profiles/PERF-WEB-NGINX-WRK2.json
index e319436f1f..2481db839f 100644
--- a/src/VirtualClient/VirtualClient.Main/profiles/PERF-WEB-NGINX-WRK2.json
+++ b/src/VirtualClient/VirtualClient.Main/profiles/PERF-WEB-NGINX-WRK2.json
@@ -3,7 +3,7 @@
"Metadata": {
"RecommendedMinimumExecutionTime": "01:00:00",
"SupportedPlatforms": "linux-x64",
- "SupportedOperatingSystems": "Ubuntu 22"
+ "SupportedOperatingSystems": "Ubuntu"
},
"Parameters": {
"TestDuration": "00:02:30",
diff --git a/src/VirtualClient/VirtualClient.Main/profiles/POWER-SPEC100.json b/src/VirtualClient/VirtualClient.Main/profiles/POWER-SPEC100.json
index d8758172f7..1ca8bb88c2 100644
--- a/src/VirtualClient/VirtualClient.Main/profiles/POWER-SPEC100.json
+++ b/src/VirtualClient/VirtualClient.Main/profiles/POWER-SPEC100.json
@@ -3,7 +3,7 @@
"Metadata": {
"RecommendedMinimumExecutionTime": "00:05:00",
"SupportedPlatforms": "linux-x64,linux-arm64,win-x64,win-arm64",
- "SupportedOperatingSystems": "CBL-Mariner,CentOS,Debian,RedHat,Suse,Ubuntu,Windows"
+ "SupportedOperatingSystems": "AzureLinux,CentOS,Debian,OpenSuse,RedHat,Ubuntu,Windows"
},
"Parameters": {},
"Actions": [
diff --git a/src/VirtualClient/VirtualClient.Main/profiles/POWER-SPEC30.json b/src/VirtualClient/VirtualClient.Main/profiles/POWER-SPEC30.json
index 83b56665a7..757a5e1063 100644
--- a/src/VirtualClient/VirtualClient.Main/profiles/POWER-SPEC30.json
+++ b/src/VirtualClient/VirtualClient.Main/profiles/POWER-SPEC30.json
@@ -3,7 +3,7 @@
"Metadata": {
"RecommendedMinimumExecutionTime": "00:05:00",
"SupportedPlatforms": "linux-x64,linux-arm64,win-x64,win-arm64",
- "SupportedOperatingSystems": "CBL-Mariner,CentOS,Debian,RedHat,Suse,Ubuntu,Windows"
+ "SupportedOperatingSystems": "AzureLinux,CentOS,Debian,OpenSuse,RedHat,Ubuntu,Windows"
},
"Parameters": {},
"Actions": [
diff --git a/src/VirtualClient/VirtualClient.Main/profiles/POWER-SPEC50.json b/src/VirtualClient/VirtualClient.Main/profiles/POWER-SPEC50.json
index fecf047cfb..fd00d1d4e8 100644
--- a/src/VirtualClient/VirtualClient.Main/profiles/POWER-SPEC50.json
+++ b/src/VirtualClient/VirtualClient.Main/profiles/POWER-SPEC50.json
@@ -3,7 +3,7 @@
"Metadata": {
"RecommendedMinimumExecutionTime": "00:05:00",
"SupportedPlatforms": "linux-x64,linux-arm64,win-x64,win-arm64",
- "SupportedOperatingSystems": "CBL-Mariner,CentOS,Debian,RedHat,Suse,Ubuntu,Windows"
+ "SupportedOperatingSystems": "AzureLinux,CentOS,Debian,OpenSuse,RedHat,Ubuntu,Windows"
},
"Parameters": {},
"Actions": [
diff --git a/src/VirtualClient/VirtualClient.Main/profiles/POWER-SPEC70.json b/src/VirtualClient/VirtualClient.Main/profiles/POWER-SPEC70.json
index f86f790c40..4158c2fc28 100644
--- a/src/VirtualClient/VirtualClient.Main/profiles/POWER-SPEC70.json
+++ b/src/VirtualClient/VirtualClient.Main/profiles/POWER-SPEC70.json
@@ -3,7 +3,7 @@
"Metadata": {
"RecommendedMinimumExecutionTime": "00:05:00",
"SupportedPlatforms": "linux-x64,linux-arm64,win-x64,win-arm64",
- "SupportedOperatingSystems": "CBL-Mariner,CentOS,Debian,RedHat,Suse,Ubuntu,Windows"
+ "SupportedOperatingSystems": "AzureLinux,CentOS,Debian,OpenSuse,RedHat,Ubuntu,Windows"
},
"Parameters": {},
"Actions": [
diff --git a/src/VirtualClient/VirtualClient.Main/profiles/QUAL-GPU-DCGMI.json b/src/VirtualClient/VirtualClient.Main/profiles/QUAL-GPU-DCGMI.json
index 086965f3e4..f3784f3a05 100644
--- a/src/VirtualClient/VirtualClient.Main/profiles/QUAL-GPU-DCGMI.json
+++ b/src/VirtualClient/VirtualClient.Main/profiles/QUAL-GPU-DCGMI.json
@@ -1,9 +1,9 @@
{
"Description": "DCGMI Monitor",
"Metadata": {
- "RecommendedMinimumExecutionTime": "00:60:00",
+ "RecommendedMinimumExecutionTime": "01:00:00",
"SupportedPlatforms": "linux-x64",
- "SupportedOperatingSystems": "Ubuntu, Debian, CentOS, RedHat, SUSE"
+ "SupportedOperatingSystems": "CentOS,Debian,OpenSuse,RedHat,Ubuntu"
},
"Parameters": {
"Level": "4",
diff --git a/src/VirtualClient/VirtualClient.Main/profiles/SETUP-FORMAT-DISKS.json b/src/VirtualClient/VirtualClient.Main/profiles/SETUP-FORMAT-DISKS.json
index d553b50cf5..4d07542c59 100644
--- a/src/VirtualClient/VirtualClient.Main/profiles/SETUP-FORMAT-DISKS.json
+++ b/src/VirtualClient/VirtualClient.Main/profiles/SETUP-FORMAT-DISKS.json
@@ -2,7 +2,7 @@
"Description": "Enables the disks on the system to be partitioned and formatted.",
"Metadata": {
"SupportedPlatforms": "linux-x64,linux-arm64,win-x64,win-arm64",
- "SupportedOperatingSystems": "Windows,Linux"
+ "SupportedOperatingSystems": "AmazonLinux,AzureLinux,CentOS,Debian,OpenSuse,RedHat,Ubuntu,Windows"
},
"Parameters": {
"Force": true,
diff --git a/src/VirtualClient/VirtualClient.Main/profiles/SETUP-GPU-AMD-MI25.json b/src/VirtualClient/VirtualClient.Main/profiles/SETUP-GPU-AMD-MI25.json
index 01e264d414..7f7188fc47 100644
--- a/src/VirtualClient/VirtualClient.Main/profiles/SETUP-GPU-AMD-MI25.json
+++ b/src/VirtualClient/VirtualClient.Main/profiles/SETUP-GPU-AMD-MI25.json
@@ -2,8 +2,8 @@
"Description": "AMD GPU Driver Installation Dependency",
"Metadata": {
"RecommendedMinimumExecutionTime": "00:10:00",
- "SupportedPlatforms": "win-x64,linux-x64",
- "SupportedOperatingSystems": "Windows,Ubuntu"
+ "SupportedPlatforms": "linux-x64,win-x64",
+ "SupportedOperatingSystems": "Ubuntu,Windows"
},
"Parameters": {
"Username": null
diff --git a/src/VirtualClient/VirtualClient.Main/profiles/SETUP-GPU-AMD-V620.json b/src/VirtualClient/VirtualClient.Main/profiles/SETUP-GPU-AMD-V620.json
index 344a4f3b96..05519946c9 100644
--- a/src/VirtualClient/VirtualClient.Main/profiles/SETUP-GPU-AMD-V620.json
+++ b/src/VirtualClient/VirtualClient.Main/profiles/SETUP-GPU-AMD-V620.json
@@ -2,8 +2,8 @@
"Description": "AMD GPU Driver Installation Dependency",
"Metadata": {
"RecommendedMinimumExecutionTime": "00:10:00",
- "SupportedPlatforms": "win-x64,linux-x64",
- "SupportedOperatingSystems": "Windows,Ubuntu"
+ "SupportedPlatforms": "linux-x64,win-x64",
+ "SupportedOperatingSystems": "Ubuntu,Windows"
},
"Parameters": {
"Username": null
diff --git a/src/VirtualClient/VirtualClient.Main/profiles/SETUP-GPU-NVIDIA-A100.json b/src/VirtualClient/VirtualClient.Main/profiles/SETUP-GPU-NVIDIA-A100.json
index 1c34c30ef7..93a26d275c 100644
--- a/src/VirtualClient/VirtualClient.Main/profiles/SETUP-GPU-NVIDIA-A100.json
+++ b/src/VirtualClient/VirtualClient.Main/profiles/SETUP-GPU-NVIDIA-A100.json
@@ -3,7 +3,7 @@
"Metadata": {
"RecommendedMinimumExecutionTime": "00:10:00",
"SupportedPlatforms": "linux-x64",
- "SupportedOperatingSystems": "Linux",
+ "SupportedOperatingSystems": "Ubuntu",
"SupportedLinuxGpuModel": "NVIDIA A100",
"SupportedLinuxDistros": "Ubuntu24",
"SpecialRequirements": "This is an NVIDIA GPU Driver dependency. It can only be installed on the system having an NVIDIA A100 GPU card/chip."
diff --git a/src/VirtualClient/VirtualClient.Main/profiles/SETUP-GPU-NVIDIA-GB200.json b/src/VirtualClient/VirtualClient.Main/profiles/SETUP-GPU-NVIDIA-GB200.json
index 08c4d2baeb..e1b6a78f7a 100644
--- a/src/VirtualClient/VirtualClient.Main/profiles/SETUP-GPU-NVIDIA-GB200.json
+++ b/src/VirtualClient/VirtualClient.Main/profiles/SETUP-GPU-NVIDIA-GB200.json
@@ -3,7 +3,7 @@
"Metadata": {
"RecommendedMinimumExecutionTime": "00:10:00",
"SupportedPlatforms": "linux-arm64",
- "SupportedOperatingSystems": "Linux",
+ "SupportedOperatingSystems": "Ubuntu",
"SupportedLinuxGpuModel": "NVIDIA GB200",
"SupportedLinuxDistros": "Ubuntu24",
"SpecialRequirements": "This is an NVIDIA GPU Driver dependency. It can only be installed on the system having an NVIDIA GB200 GPU card/chip."
diff --git a/src/VirtualClient/VirtualClient.Main/profiles/UPLOAD-FILES.json b/src/VirtualClient/VirtualClient.Main/profiles/UPLOAD-FILES.json
index 52d71d9a16..1ab1bb96ad 100644
--- a/src/VirtualClient/VirtualClient.Main/profiles/UPLOAD-FILES.json
+++ b/src/VirtualClient/VirtualClient.Main/profiles/UPLOAD-FILES.json
@@ -1,5 +1,9 @@
{
"Description": "Uploads files from a directory to a content store location.",
+ "Metadata": {
+ "SupportedPlatforms": "linux-x64,linux-arm64,win-x64,win-arm64",
+ "SupportedOperatingSystems": "AmazonLinux,AzureLinux,CentOS,Debian,OpenSuse,RedHat,Ubuntu,Windows"
+ },
"Parameters": {
"TargetDirectory": null,
"FlattenStructure": false
diff --git a/src/VirtualClient/VirtualClient.Main/profiles/UPLOAD-TELEMETRY.json b/src/VirtualClient/VirtualClient.Main/profiles/UPLOAD-TELEMETRY.json
index 71bf89cdd6..b40a5d50a4 100644
--- a/src/VirtualClient/VirtualClient.Main/profiles/UPLOAD-TELEMETRY.json
+++ b/src/VirtualClient/VirtualClient.Main/profiles/UPLOAD-TELEMETRY.json
@@ -1,5 +1,9 @@
{
"Description": "Uploads telemetry from data point files on the local system.",
+ "Metadata": {
+ "SupportedPlatforms": "linux-x64,linux-arm64,win-x64,win-arm64",
+ "SupportedOperatingSystems": "AmazonLinux,AzureLinux,CentOS,Debian,OpenSuse,RedHat,Ubuntu,Windows"
+ },
"Parameters": {
"Format": null,
"Intrinsic": false,
diff --git a/src/VirtualClient/VirtualClient.UnitTests/ProfileValidationTests.cs b/src/VirtualClient/VirtualClient.UnitTests/ProfileValidationTests.cs
index e4399b8511..bbb739073b 100644
--- a/src/VirtualClient/VirtualClient.UnitTests/ProfileValidationTests.cs
+++ b/src/VirtualClient/VirtualClient.UnitTests/ProfileValidationTests.cs
@@ -58,6 +58,86 @@ public void AllWorkloadProfilesMeetTheJsonSchemaRequirements(string profileName)
}
}
+ [Test]
+ [TestCaseSource(nameof(GetWorkloadProfileTestSource))]
+ public void AllWorkloadProfilesDefineTheRequiredBaseMetadata(string profileName)
+ {
+ string profileString = File.ReadAllText(profileName);
+ ExecutionProfile profileObject = JsonConvert.DeserializeObject(profileString);
+
+ Assert.IsNotNull(
+ profileObject.Metadata,
+ $"The profile '{Path.GetFileName(profileName)}' does not define a 'Metadata' section.");
+
+ IEnumerable missing = ProfileMetadata.BaseProperties
+ .Where(property => !profileObject.Metadata.TryGetValue(property, out IConvertible value)
+ || string.IsNullOrWhiteSpace(value?.ToString()))
+ .ToList();
+
+ Assert.IsEmpty(
+ missing,
+ $"The profile '{Path.GetFileName(profileName)}' is missing required base metadata: " +
+ $"{string.Join(", ", missing)}.");
+ }
+
+ [Test]
+ [TestCaseSource(nameof(GetWorkloadProfileTestSource))]
+ public void AllWorkloadProfilesDefineSupportedOperatingSystemsUsingTheCanonicalNames(string profileName)
+ {
+ string profileString = File.ReadAllText(profileName);
+ ExecutionProfile profileObject = JsonConvert.DeserializeObject(profileString);
+
+ // Presence of the property is enforced by AllWorkloadProfilesDefineTheRequiredBaseMetadata.
+ // Bail out here so a missing value surfaces as that assertion rather than a NullReferenceException.
+ if (profileObject.Metadata?.TryGetValue(ProfileMetadata.SupportedOperatingSystems, out IConvertible operatingSystems) != true
+ || string.IsNullOrWhiteSpace(operatingSystems?.ToString()))
+ {
+ return;
+ }
+
+ IEnumerable invalid = operatingSystems.ToString()
+ .Split(',', StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries)
+ .Where(name => !string.Equals(name, "Windows", StringComparison.Ordinal)
+ && !(Enum.TryParse(name, ignoreCase: false, out LinuxDistribution distribution)
+ && distribution != LinuxDistribution.Unknown
+ && !int.TryParse(name, out int _)));
+
+ Assert.IsEmpty(
+ invalid,
+ $"The profile '{Path.GetFileName(profileName)}' defines operating systems that do not match the " +
+ $"'{nameof(LinuxDistribution)}' names (or 'Windows'): {string.Join(", ", invalid)}.");
+ }
+
+ [Test]
+ [TestCaseSource(nameof(GetWorkloadProfileTestSource))]
+ public void AllWorkloadProfilesDefineAValidRecommendedMinimumExecutionTime(string profileName)
+ {
+ string profileString = File.ReadAllText(profileName);
+ ExecutionProfile profileObject = JsonConvert.DeserializeObject(profileString);
+
+ // The property is optional. It does not apply to profiles whose runtime is determined externally.
+ if (profileObject.Metadata?.TryGetValue(ProfileMetadata.RecommendedMinimumExecutionTime, out IConvertible executionTime) != true)
+ {
+ return;
+ }
+
+ string value = executionTime?.ToString();
+
+ // Either a single timespan, or timespans scaled by core count (e.g. "(4-cores)=02:00:00").
+ IEnumerable timespans = Regex.IsMatch(value ?? string.Empty, @"^\(\d+-cores\)=")
+ ? Regex.Matches(value, @"\(\d+-cores\)=([^,]+)").Select(match => match.Groups[1].Value)
+ : new List { value };
+
+ foreach (string timespan in timespans)
+ {
+ Assert.IsTrue(
+ TimeSpan.TryParse(timespan?.Trim(), out TimeSpan parsed) && parsed > TimeSpan.Zero,
+ $"The profile '{Path.GetFileName(profileName)}' defines a " +
+ $"'{ProfileMetadata.RecommendedMinimumExecutionTime}' value containing an invalid timespan: " +
+ $"'{timespan}' (in '{value}').");
+ }
+ }
+
[Test]
[Ignore("This test can be used manually when needed to validate that workload profiles do not have parameter reference inlining mistakes.")]
public async Task WorkloadProfileDoNotHaveInlineParameterReferencingMistakes()
diff --git a/website/docs/guides/0011-profiles.md b/website/docs/guides/0011-profiles.md
index 3264a1e6b8..f7f224cacd 100644
--- a/website/docs/guides/0011-profiles.md
+++ b/website/docs/guides/0011-profiles.md
@@ -25,8 +25,37 @@ properties that one might find in a profile.
|---------------------------------|-------------|---------------|
| SupportsIterations | Optional. True/False. This metadata property DOES affect the operations of the Virtual Client. When set to false, it indicates that the profile does not support profile iterations (i.e. --iterations on the command line). | |
| RecommendedMinimumExecutionTime | Optional. Provides a recommendation for the minimum length of time for running the profile. This time is typically based on the amount of time expected to execute all actions in the profile 1 full round. Actions are generally executed in sequential order. Note that this is an estimate based on empirical evidence, but it is always a good idea to leave a little extra time buffer. | |
-| SupportedPlatforms | Optional. Defines a set of OS platforms and CPU architectures on which the profile (and all components within) is confirmed to run correctly (e.g. win-x64 -> Windows OS, X64 architecture). | |
-| SupportedOperatingSystems | Optional. Defines a set of operating systems on which the profile is confirmed to run correctly (e.g. Ubuntu, CentOS, Windows). This list does not indicate that the Virtual Client will run on every version of these operating systems. Focus on latest versions of the operating systems for support. | |
+| SupportedPlatforms | Required. Defines a set of OS platforms and CPU architectures on which the profile (and all components within) is confirmed to run correctly. | |
+| SupportedOperatingSystems | Required. Defines a set of operating systems on which the profile can run (e.g. Ubuntu, Windows). | |
+
+### Base Metadata
+Every profile in the Virtual Client repo must define `SupportedPlatforms` and `SupportedOperatingSystems`. The set is defined in code by
+`ProfileMetadata.BaseProperties` and is enforced by unit tests that run against every profile on each pull request.
+
+| Property | Format | Allowed Values |
+|---------------------------------|--------|----------------|
+| SupportedPlatforms | Comma-delimited | `linux-x64`, `linux-arm64`, `win-x64`, `win-arm64` |
+| SupportedOperatingSystems | Comma-delimited | The `LinuxDistribution` enumeration names (`AmazonLinux`, `AzureLinux`, `CentOS`, `Debian`, `Fedora`, `Flatcar`, `Gentoo`, `OpenSuse`, `RedHat`, `Ubuntu`) plus `Windows` |
+
+Note that `AzureLinux` is the canonical name for the distro previously written as `CBL-Mariner`, and `AmazonLinux` for `AwsLinux`. Version
+numbers are not included; note version-specific support in a profile-specific property instead.
+
+`RecommendedMinimumExecutionTime` is optional and is not part of the base metadata. It does not apply where the runtime is determined
+outside the profile. Monitor profiles run for as long as the workload profile they are paired with, and the bootstrap, setup and upload
+profiles depend on package sizes and network throughput. Two formats are supported: a single timespan, or timespans scaled by core count for workloads whose
+runtime depends on the cores available (e.g. `(4-cores)=02:00:00,(16-cores)=04:00:00`).
+
+``` json
+{
+ "Description": "OpenSSL CPU Performance Workload",
+ "Metadata": {
+ "RecommendedMinimumExecutionTime": "01:00:00",
+ "SupportedPlatforms": "linux-x64,linux-arm64,win-x64",
+ "SupportedOperatingSystems": "AzureLinux,CentOS,Debian,OpenSuse,RedHat,Ubuntu,Windows"
+ },
+ ...
+}
+```
## Parameters
The section 'Parameters' within the profile defines a set of 1 or more parameters (typically with default values) that can be used to override the default values in the components that