Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add automation for Netperf with Azure VMs #3974

Merged
merged 65 commits into from
Jan 11, 2024
Merged
Changes from 1 commit
Commits
Show all changes
65 commits
Select commit Hold shift + click to select a range
1221b9f
init netperf kickoff
ProjectsByJackHe Nov 27, 2023
22ef852
update secnetperf.ps1 to toggle logging and improve test execution
ProjectsByJackHe Nov 28, 2023
450eb9a
fix syntax issues
ProjectsByJackHe Nov 29, 2023
96aa0e3
add a sleep to wait until remote gets spun up
ProjectsByJackHe Nov 29, 2023
e7848f9
add NULL to fix pipeline issue
ProjectsByJackHe Nov 29, 2023
67ee093
add logic to persist the results of a test
ProjectsByJackHe Nov 30, 2023
555459d
parameterize everything
ProjectsByJackHe Dec 4, 2023
f87b8b7
delete hard-coded defaults
ProjectsByJackHe Dec 4, 2023
357d250
introduce sqlite
ProjectsByJackHe Dec 8, 2023
1e1214d
get rid of metadata
ProjectsByJackHe Dec 9, 2023
f86bd98
fix sql statements
ProjectsByJackHe Dec 9, 2023
ddc0ead
match
ProjectsByJackHe Dec 9, 2023
0802dbc
output is an array, not a string
ProjectsByJackHe Dec 9, 2023
79edee5
add code to save to json
ProjectsByJackHe Dec 12, 2023
a5981d8
adjust secnetperf.ps1 script to accomodate for linux
ProjectsByJackHe Dec 15, 2023
74e8313
modify directory to /home instead of /_work
ProjectsByJackHe Dec 15, 2023
5e679b2
skipping prepare-machine in linux for now
ProjectsByJackHe Dec 15, 2023
7b44cad
chmod +x binaries
ProjectsByJackHe Dec 16, 2023
444272c
print rawoutput for observability
ProjectsByJackHe Dec 16, 2023
e1452d1
Merge branch 'main' into jackhe/netperf
nibanks Dec 16, 2023
b7c37e5
Test more commands
nibanks Dec 16, 2023
90acf89
Remove maxtput
nibanks Dec 16, 2023
dc70e3d
use built in pwsh params instead of relying on passed in params
ProjectsByJackHe Dec 18, 2023
9ae78e7
skipping prepare machine on windows as well
ProjectsByJackHe Dec 19, 2023
1a4d3b9
fail gracefully if cmd failed to run
ProjectsByJackHe Dec 19, 2023
43e6249
add catch block to try
ProjectsByJackHe Dec 19, 2023
3bf4cde
add reading and saving data
ProjectsByJackHe Dec 20, 2023
ca4f655
Add a few comments to the script inputs
nibanks Jan 10, 2024
e28871f
Merge branch 'main' into jackhe/netperf
nibanks Jan 10, 2024
0f2e182
Update commands for new format
nibanks Jan 10, 2024
8286536
Refactor to simplify test definition and adds multiple tries
nibanks Jan 10, 2024
dc1e908
Small improvements to secnetperf
nibanks Jan 10, 2024
5e8e07a
Improve error handling
nibanks Jan 10, 2024
07da36a
Better error handling in PS1
nibanks Jan 10, 2024
95a23cc
Try to fix things?
nibanks Jan 10, 2024
d6815f0
Cleanup
nibanks Jan 10, 2024
a9610fe
Improve server fail to start scenario
nibanks Jan 10, 2024
2a71ddc
More improvements
nibanks Jan 10, 2024
02348c1
Undo googletest change
nibanks Jan 10, 2024
7568ba8
Fix copy/paste issue
nibanks Jan 10, 2024
ddb5c16
Another typo
nibanks Jan 10, 2024
dce0f40
add start restarting behavior
ProjectsByJackHe Jan 10, 2024
c1f1687
Merge branch 'jackhe/netperf' of https://github.com/microsoft/msquic …
ProjectsByJackHe Jan 10, 2024
320ae62
remove restarting logic to rule out confounding issues
ProjectsByJackHe Jan 10, 2024
b8c7a31
start / restart server without maxtput, but with lowlat
ProjectsByJackHe Jan 10, 2024
0271446
prepare machine for windows, add per-test logging
ProjectsByJackHe Jan 11, 2024
e6542ef
try disabling param binding and fix write-output
ProjectsByJackHe Jan 11, 2024
ea8a6d4
error function is available in parent scope
ProjectsByJackHe Jan 11, 2024
508d587
non null checks
ProjectsByJackHe Jan 11, 2024
0cd5b97
guard against null values
ProjectsByJackHe Jan 11, 2024
7cbcd60
stopping logging
ProjectsByJackHe Jan 11, 2024
b92edb4
Copy wprp profile to remote too
nibanks Jan 11, 2024
25fd4d4
Refactoring
nibanks Jan 11, 2024
cf641c4
More fixes and refactoring
nibanks Jan 11, 2024
23bacdc
Fixes
nibanks Jan 11, 2024
ce16a5f
Debugging
nibanks Jan 11, 2024
bfeb0f5
one more fix
nibanks Jan 11, 2024
e3f211b
One more linux path issue
nibanks Jan 11, 2024
4d454d3
Fixes
nibanks Jan 11, 2024
ef2a9af
More fixes
nibanks Jan 11, 2024
28ab7df
Write-Host instead?
nibanks Jan 11, 2024
5ad242b
debugging
nibanks Jan 11, 2024
0aa986c
refactoring
nibanks Jan 11, 2024
804b8d2
Fix stop
nibanks Jan 11, 2024
6f297e1
Another try at stop
nibanks Jan 11, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
parameterize everything
ProjectsByJackHe committed Dec 4, 2023
commit 555459d86d7a4dd0a4e4589fc8bda3c1c24574bd
49 changes: 47 additions & 2 deletions scripts/secnetperf.ps1
Original file line number Diff line number Diff line change
@@ -11,13 +11,58 @@ This script assumes the latest MsQuic commit is built and downloaded as artifact

param (
[ValidateSet("", "NULL", "Basic.Light", "Datapath.Light", "Datapath.Verbose", "Stacks.Light", "Stacks.Verbose", "RPS.Light", "RPS.Verbose", "Performance.Light", "Basic.Verbose", "Performance.Light", "Performance.Verbose", "Full.Light", "Full.Verbose", "SpinQuic.Light", "SpinQuicWarnings.Light")]
[string]$LogProfile = ""
[string]$LogProfile = "",

[string]$MsQuicCommit = "manual",

[Parameter(Mandatory = $false)]
[string]$ClientOS = "Windows Server 2022",

[Parameter(Mandatory = $false)]
[string]$ClientArch = "x64",

[Parameter(Mandatory = $false)]
[string]$ClientCpu = "Intel(R) Xeon(R) Platinum 8272CL CPU @ 2.60GHz",

[Parameter(Mandatory = $false)]
[string]$ClientNic = "Mellanox ConnectX-5",

[Parameter(Mandatory = $false)]
[string]$ServerOS = "Windows Server 2022",

[Parameter(Mandatory = $false)]
[string]$ServerArch = "x64",

[Parameter(Mandatory = $false)]
[string]$ServerCpu = "Intel(R) Xeon(R) Platinum 8272CL CPU @ 2.60GHz",

[Parameter(Mandatory = $false)]
[string]$ServerNic = "Mellanox ConnectX-5"
)

# TODO: Add more metadata parameters to persist.
# Get the current date and time
$currentDate = Get-Date

# Define the Pacific Standard Time zone ID
# Note: Windows time zones might not use "PST" as the identifier.
# Instead, it often uses specific city names or "Pacific Standard Time"
$pstZoneId = "Pacific Standard Time"

# Get the TimeZoneInfo object for Pacific Standard Time
$pstZone = [TimeZoneInfo]::FindSystemTimeZoneById($pstZoneId)

# Convert the current date and time to Pacific Standard Time
$pstDate = [TimeZoneInfo]::ConvertTime($currentDate, $pstZone)

# Format the date in the "yyyy-MM-dd-HH-mm-ss" format
$formattedDate = $pstDate.ToString("yyyy-MM-dd-HH-mm-ss")

$ThisTest = @{}

$ThisTest["RunDate"] = $formattedDate

$ThisTest["MachineName"] = $env:COMPUTERNAME

$ClientOS = "Windows Server 2022" # TODO: make param
$ClientArch = "x64" # TODO: make param
$ClientCpu = "Intel(R) Xeon(R) Platinum 8272CL CPU @ 2.60GHz" # TODO: make param