From b04f87748604fe9f4aa70bf2ce552559efd43d58 Mon Sep 17 00:00:00 2001 From: Erica Vellanoweth Date: Wed, 24 Jun 2026 14:33:04 -0700 Subject: [PATCH 1/3] Fix DeathStarBench venv install to be distro-agnostic The PERF-NETWORK-DEATHSTARBENCH profile installed python3.12-venv, which only exists on Ubuntu 24.04 (Python 3.12) and fails on Ubuntu 22.04 (Python 3.10) and other distros. Use the generic python3-venv meta-package, which resolves to the venv module for each distro's default Python 3. This matches the package the DeathStarBenchExecutor already installs at runtime. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../profiles/PERF-NETWORK-DEATHSTARBENCH.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/VirtualClient/VirtualClient.Main/profiles/PERF-NETWORK-DEATHSTARBENCH.json b/src/VirtualClient/VirtualClient.Main/profiles/PERF-NETWORK-DEATHSTARBENCH.json index d2a8226832..08d4f527fd 100644 --- a/src/VirtualClient/VirtualClient.Main/profiles/PERF-NETWORK-DEATHSTARBENCH.json +++ b/src/VirtualClient/VirtualClient.Main/profiles/PERF-NETWORK-DEATHSTARBENCH.json @@ -94,7 +94,7 @@ "Type": "LinuxPackageInstallation", "Parameters": { "Scenario": "InstallLinuxPackages", - "Packages-Apt": "python3-pip,libssl-dev,libz-dev,luarocks,libssl1.0.0,python3.12-venv" + "Packages-Apt": "python3-pip,libssl-dev,libz-dev,luarocks,libssl1.0.0,python3-venv" } }, { From 84338ce874e1e18dbc88c253a861f5eb571618b7 Mon Sep 17 00:00:00 2001 From: Erica Vellanoweth Date: Wed, 24 Jun 2026 14:35:59 -0700 Subject: [PATCH 2/3] Remove redundant python3-venv apt install from DeathStarBench executor The python3-venv package is now installed by the LinuxPackageInstallation dependency in the PERF-NETWORK-DEATHSTARBENCH profile, so the executor's runtime 'apt install python3-venv -y' is redundant. Removed it and updated the affected unit tests. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../DeathStarBench/DeathStarBenchClientExecutorTests.cs | 3 --- .../DeathStarBench/DeathStarBenchExecutorTests.cs | 3 +-- .../DeathStarBench/DeathStarBenchExecutor.cs | 7 ++----- 3 files changed, 3 insertions(+), 10 deletions(-) diff --git a/src/VirtualClient/VirtualClient.Actions.UnitTests/DeathStarBench/DeathStarBenchClientExecutorTests.cs b/src/VirtualClient/VirtualClient.Actions.UnitTests/DeathStarBench/DeathStarBenchClientExecutorTests.cs index fe71d994b8..954f9fe177 100644 --- a/src/VirtualClient/VirtualClient.Actions.UnitTests/DeathStarBench/DeathStarBenchClientExecutorTests.cs +++ b/src/VirtualClient/VirtualClient.Actions.UnitTests/DeathStarBench/DeathStarBenchClientExecutorTests.cs @@ -148,7 +148,6 @@ public async Task DeathStarBenchClientExecutorExecutesExpectedCommands_SocialNet // exactly the same as what is executed. $"sudo bash {this.mockPackage.Path}/linux-x64/scripts/dockerComposeScript.sh", $"sudo chmod +x \"/usr/local/bin/docker-compose\"", - $"sudo apt install python3-venv -y", $"sudo python3 -m venv {this.mockPackage.Path}/linux-x64/venv", $"sudo {this.mockPackage.Path}/linux-x64/venv/bin/pip install -U pip", $"sudo {this.mockPackage.Path}/linux-x64/venv/bin/pip install -U setuptools", @@ -200,7 +199,6 @@ public async Task DeathStarBenchClientExecutorExecutesExpectedCommands_MediaMicr $"sudo chmod +x \"{this.mockPackage.Path}/linux-x64/mediamicroservices/wrk2/deps/luajit/src/luajit\"", $"sudo bash {this.mockPackage.Path}/linux-x64/scripts/dockerComposeScript.sh", $"sudo chmod +x \"/usr/local/bin/docker-compose\"", - $"sudo apt install python3-venv -y", $"sudo python3 -m venv {this.mockPackage.Path}/linux-x64/venv", $"sudo {this.mockPackage.Path}/linux-x64/venv/bin/pip install -U pip", $"sudo {this.mockPackage.Path}/linux-x64/venv/bin/pip install -U setuptools", @@ -247,7 +245,6 @@ public async Task DeathStarBenchClientExecutorExecutesExpectedCommands_HotelRese // exactly the same as what is executed. $"sudo bash {this.mockPackage.Path}/linux-x64/scripts/dockerComposeScript.sh", $"sudo chmod +x \"/usr/local/bin/docker-compose\"", - $"sudo apt install python3-venv -y", $"sudo python3 -m venv {this.mockPackage.Path}/linux-x64/venv", $"sudo {this.mockPackage.Path}/linux-x64/venv/bin/pip install -U pip", $"sudo {this.mockPackage.Path}/linux-x64/venv/bin/pip install -U setuptools", diff --git a/src/VirtualClient/VirtualClient.Actions.UnitTests/DeathStarBench/DeathStarBenchExecutorTests.cs b/src/VirtualClient/VirtualClient.Actions.UnitTests/DeathStarBench/DeathStarBenchExecutorTests.cs index b95ac8efb9..dfb8f873db 100644 --- a/src/VirtualClient/VirtualClient.Actions.UnitTests/DeathStarBench/DeathStarBenchExecutorTests.cs +++ b/src/VirtualClient/VirtualClient.Actions.UnitTests/DeathStarBench/DeathStarBenchExecutorTests.cs @@ -96,7 +96,6 @@ public async Task DeathStarBenchExecutorInstallsDepedenciesAsExpected() { @"bash /home/user/tools/VirtualClient/packages/deathstarbench/linux-x64/scripts/dockerComposeScript.sh", @"chmod +x ""/usr/local/bin/docker-compose""", - @"apt install python3-venv -y", @"python3 -m venv /home/user/tools/VirtualClient/packages/deathstarbench/linux-x64/venv", @"/home/user/tools/VirtualClient/packages/deathstarbench/linux-x64/venv/bin/pip install -U pip", @"/home/user/tools/VirtualClient/packages/deathstarbench/linux-x64/venv/bin/pip install -U setuptools", @@ -118,7 +117,7 @@ public async Task DeathStarBenchExecutorInstallsDepedenciesAsExpected() await executor.OnInitialize(EventContext.None, CancellationToken.None); - Assert.AreEqual(8, executed); + Assert.AreEqual(7, executed); } } diff --git a/src/VirtualClient/VirtualClient.Actions/DeathStarBench/DeathStarBenchExecutor.cs b/src/VirtualClient/VirtualClient.Actions/DeathStarBench/DeathStarBenchExecutor.cs index 23e699144b..14f16ded90 100644 --- a/src/VirtualClient/VirtualClient.Actions/DeathStarBench/DeathStarBenchExecutor.cs +++ b/src/VirtualClient/VirtualClient.Actions/DeathStarBench/DeathStarBenchExecutor.cs @@ -551,11 +551,8 @@ await this.ExecuteCommandAsync(dockerComposeCommand, this.PackageDirectory, canc await this.SystemManager.MakeFileExecutableAsync(dockerComposeFilePath, this.Platform, cancellationToken) .ConfigureAwait(); - string installVenvCommand = "apt install python3-venv -y"; - await this.ExecuteCommandAsync(installVenvCommand, this.PackageDirectory, cancellationToken) - .ConfigureAwait(); - - // Create Python virtual environment to isolate dependencies + // Create Python virtual environment to isolate dependencies. + // The python3-venv package is installed by the LinuxPackageInstallation dependency in the profile. string venvPath = this.PlatformSpecifics.Combine(this.PackageDirectory, "venv"); string createVenvCommand = $"python3 -m venv {venvPath}"; await this.ExecuteCommandAsync(createVenvCommand, this.PackageDirectory, cancellationToken) From 25381bf4bbae64280405c9ce4217482d7a6eddcc Mon Sep 17 00:00:00 2001 From: Erica Vellanoweth Date: Thu, 25 Jun 2026 09:53:08 -0700 Subject: [PATCH 3/3] Bump version to 3.3.12 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index b9b3b0de0a..d0c2b19c1e 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -3.3.11 +3.3.12 \ No newline at end of file