[HTTP/3] Attempt at using newer image to allow H/3 Windows stress (#82226)
authorMarie Píchová <11718369+ManickaP@users.noreply.github.com>
Fri, 24 Feb 2023 15:17:09 +0000 (16:17 +0100)
committerGitHub <noreply@github.com>
Fri, 24 Feb 2023 15:17:09 +0000 (16:17 +0100)
* Attempt at using newer image to allow H/3 Windows stress

* Failing docker experiments

* Removed testing print

eng/docker/libraries-sdk.linux.Dockerfile
eng/docker/libraries-sdk.windows.Dockerfile
eng/pipelines/libraries/stress/http.yml
src/libraries/System.Net.Http/tests/StressTests/HttpStress/Dockerfile
src/libraries/System.Net.Http/tests/StressTests/HttpStress/Program.cs
src/libraries/System.Net.Http/tests/StressTests/HttpStress/windows.Dockerfile

index c6738d0..a06bd46 100644 (file)
@@ -1,6 +1,6 @@
 # Builds and copies library artifacts into target dotnet sdk image
 ARG BUILD_BASE_IMAGE=mcr.microsoft.com/dotnet-buildtools/prereqs:centos-7-f39df28-20191023143754
-ARG SDK_BASE_IMAGE=mcr.microsoft.com/dotnet/nightly/sdk:6.0-bullseye-slim
+ARG SDK_BASE_IMAGE=mcr.microsoft.com/dotnet/nightly/sdk:7.0-bullseye-slim
 
 FROM $BUILD_BASE_IMAGE as corefxbuild
 
index 639714f..444b0b4 100644 (file)
@@ -1,6 +1,6 @@
 # escape=`
 # Simple Dockerfile which copies clr and library build artifacts into target dotnet sdk image
-ARG SDK_BASE_IMAGE=mcr.microsoft.com/dotnet/nightly/sdk:6.0
+ARG SDK_BASE_IMAGE=mcr.microsoft.com/dotnet/nightly/sdk:7.0-nanoserver-ltsc2022
 FROM $SDK_BASE_IMAGE as target
 
 SHELL ["pwsh", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"]
index b0da89b..83037ad 100644 (file)
@@ -32,7 +32,7 @@ extends:
       jobs:
       - job: linux
         displayName: Docker Linux
-        timeoutInMinutes: 180
+        timeoutInMinutes: 240
         variables:
           DUMPS_SHARE_MOUNT_ROOT: "/dumps-share"
         pool:
@@ -132,6 +132,18 @@ extends:
 
         - powershell: |
             cd '$(httpStressProject)'
+            $env:CLIENT_DUMPS_SHARE="$(Build.ArtifactStagingDirectory)/dumps/client/3.0"
+            $env:SERVER_DUMPS_SHARE="$(Build.ArtifactStagingDirectory)/dumps/server/3.0"
+            New-Item -Force $env:CLIENT_DUMPS_SHARE -ItemType Directory
+            New-Item -Force $env:SERVER_DUMPS_SHARE -ItemType Directory
+            $env:HTTPSTRESS_CLIENT_ARGS = "$env:HTTPSTRESS_CLIENT_ARGS -http 3.0"
+            $env:HTTPSTRESS_SERVER_ARGS = "$env:HTTPSTRESS_SERVER_ARGS -http 3.0"
+            docker-compose up --abort-on-container-exit --no-color
+          displayName: Run HttpStress - HTTP 3.0
+          condition: and(eq(variables['buildRuntime.succeeded'], 'true'), eq(variables['buildStress.succeeded'], 'true'))
+
+        - powershell: |
+            cd '$(httpStressProject)'
             $env:CLIENT_DUMPS_SHARE="$(Build.ArtifactStagingDirectory)/dumps/client/2.0"
             $env:SERVER_DUMPS_SHARE="$(Build.ArtifactStagingDirectory)/dumps/server/2.0"
             New-Item -Force $env:CLIENT_DUMPS_SHARE -ItemType Directory
index 762c1aa..bae8fa5 100644 (file)
@@ -1,4 +1,4 @@
-ARG SDK_BASE_IMAGE=mcr.microsoft.com/dotnet/nightly/sdk:6.0-bullseye-slim
+ARG SDK_BASE_IMAGE=mcr.microsoft.com/dotnet/nightly/sdk:7.0-bullseye-slim
 FROM $SDK_BASE_IMAGE
 
 # Build latest msquic locally
index b411d63..a1a2769 100644 (file)
@@ -47,7 +47,7 @@ namespace HttpStress
             cmd.AddOption(new Option("-maxRequestUriSize", "Max query string length support by the server.") { Argument = new Argument<int>("numChars", 5000) });
             cmd.AddOption(new Option("-maxRequestHeaderCount", "Maximum number of headers to place in request") { Argument = new Argument<int>("numHeaders", 90) });
             cmd.AddOption(new Option("-maxRequestHeaderTotalSize", "Max request header total size.") { Argument = new Argument<int>("numBytes", 1000) });
-            cmd.AddOption(new Option("-http", "HTTP version (1.1 or 2.0)") { Argument = new Argument<Version>("version", HttpVersion.Version20) });
+            cmd.AddOption(new Option("-http", "HTTP version (1.1 or 2.0 or 3.0)") { Argument = new Argument<Version>("version", HttpVersion.Version20) });
             cmd.AddOption(new Option("-connectionLifetime", "Max connection lifetime length (milliseconds).") { Argument = new Argument<int?>("connectionLifetime", null) });
             cmd.AddOption(new Option("-ops", "Indices of the operations to use") { Argument = new Argument<int[]?>("space-delimited indices", null) });
             cmd.AddOption(new Option("-xops", "Indices of the operations to exclude") { Argument = new Argument<int[]?>("space-delimited indices", null) });
index 50d3818..877d59e 100644 (file)
@@ -1,5 +1,5 @@
 # escape=`
-ARG SDK_BASE_IMAGE=mcr.microsoft.com/dotnet/nightly/sdk:6.0-nanoserver-1809
+ARG SDK_BASE_IMAGE=mcr.microsoft.com/dotnet/nightly/sdk:7.0-nanoserver-ltsc2022
 FROM $SDK_BASE_IMAGE
 
 # Use powershell as the default shell
@@ -28,4 +28,4 @@ ENV CONFIGURATION=$CONFIGURATION
 ENV HTTPSTRESS_ARGS=""
 
 CMD & C:/live-runtime-artifacts/testhost/net$env:VERSION-windows-$env:CONFIGURATION-x64/dotnet.exe exec --roll-forward Major `
-    ./bin/$env:CONFIGURATION/net$env:VERSION/HttpStress.dll $env:HTTPSTRESS_ARGS.Split()
\ No newline at end of file
+    ./bin/$env:CONFIGURATION/net$env:VERSION/HttpStress.dll $env:HTTPSTRESS_ARGS.Split(' ',[System.StringSplitOptions]::RemoveEmptyEntries)
\ No newline at end of file