diff --git a/VERSION b/VERSION index 3bad7881d..476ede462 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.0.12 \ No newline at end of file +2.0.13 \ No newline at end of file diff --git a/src/VirtualClient/VirtualClient.Actions/FIO/FioExecutor.cs b/src/VirtualClient/VirtualClient.Actions/FIO/FioExecutor.cs index bb389ab6a..0dc874f42 100644 --- a/src/VirtualClient/VirtualClient.Actions/FIO/FioExecutor.cs +++ b/src/VirtualClient/VirtualClient.Actions/FIO/FioExecutor.cs @@ -76,7 +76,18 @@ public string CommandLine this.Parameters[nameof(DiskWorkloadExecutor.CommandLine)] = value; } } - + + /// + /// The Cool down period for Virtual Client Component. + /// + public TimeSpan CoolDownPeriod + { + get + { + return this.Parameters.GetTimeSpanValue(nameof(this.CoolDownPeriod), TimeSpan.FromSeconds(0)); + } + } + /// /// Defines the job files specified in the profile. /// @@ -377,6 +388,9 @@ await this.DeleteTestFilesAsync(workload.TestFiles) .ConfigureAwait(false); } } + + // TO DO: Remove once we have Loop Executor. + await this.WaitAsync(this.CoolDownPeriod, cancellationToken); } if (!string.IsNullOrEmpty(this.JobFiles)) diff --git a/src/VirtualClient/VirtualClient.Actions/Network/NetworkingWorkload/NetworkingWorkloadExecutor.cs b/src/VirtualClient/VirtualClient.Actions/Network/NetworkingWorkload/NetworkingWorkloadExecutor.cs index 78abd4344..64140bfc6 100644 --- a/src/VirtualClient/VirtualClient.Actions/Network/NetworkingWorkload/NetworkingWorkloadExecutor.cs +++ b/src/VirtualClient/VirtualClient.Actions/Network/NetworkingWorkload/NetworkingWorkloadExecutor.cs @@ -338,6 +338,17 @@ public int? ConnectionsPerThread } } + /// + /// The Cool down period for Virtual Client Component. + /// + public TimeSpan CoolDownPeriod + { + get + { + return this.Parameters.GetTimeSpanValue(nameof(this.CoolDownPeriod), TimeSpan.FromSeconds(0)); + } + } + /// /// Parameter defines the differentiator for which to convey the number of interrupts in the workload toolset tests. /// @@ -619,6 +630,10 @@ await this.ExecuteServerAsync(telemetryContext, cancellationToken) { throw new NotSupportedException($"The role: {this.Role} is not supported."); } + + // TO DO: Remove once we have Loop Executor. + await this.WaitAsync(this.CoolDownPeriod, cancellationToken); + } /// diff --git a/src/VirtualClient/VirtualClient.Actions/StressNg/StressNgExecutor.cs b/src/VirtualClient/VirtualClient.Actions/StressNg/StressNgExecutor.cs index a43729805..1f9f2b61c 100644 --- a/src/VirtualClient/VirtualClient.Actions/StressNg/StressNgExecutor.cs +++ b/src/VirtualClient/VirtualClient.Actions/StressNg/StressNgExecutor.cs @@ -50,6 +50,17 @@ public StressNgExecutor(IServiceCollection dependencies, IDictionary + /// The Cool down period for Virtual Client Component. + /// + public TimeSpan CoolDownPeriod + { + get + { + return this.Parameters.GetTimeSpanValue(nameof(this.CoolDownPeriod), TimeSpan.FromSeconds(0)); + } + } + /// /// The command line argument defined in the profile. /// @@ -84,6 +95,9 @@ protected override async Task ExecuteAsync(EventContext telemetryContext, Cancel } } } + + // TO DO: Remove once we have Loop Executor. + await this.WaitAsync(this.CoolDownPeriod, cancellationToken); } ///