Skip to content

Commit 87ee2aa

Browse files
authored
Add AwsLinux support (#456)
* add AwsLinux implementation and artifcacts * Update VERSION Signed-off-by: v-safilho <[email protected]> --------- Signed-off-by: v-safilho <[email protected]>
1 parent da8f414 commit 87ee2aa

File tree

15 files changed

+105
-6
lines changed

15 files changed

+105
-6
lines changed

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.16.31
1+
1.16.32

src/VirtualClient/VirtualClient.Actions/Gzip/GzipExecutor.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -212,6 +212,7 @@ private async Task CheckDistroSupportAsync(EventContext telemetryContext, Cancel
212212
case LinuxDistribution.AzLinux:
213213
case LinuxDistribution.CentOS7:
214214
case LinuxDistribution.RHEL7:
215+
case LinuxDistribution.AwsLinux:
215216
break;
216217
default:
217218
throw new WorkloadException(

src/VirtualClient/VirtualClient.Actions/Memcached/MemcachedExecutor.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -220,13 +220,14 @@ private async Task ValidatePlatformSupportAsync(CancellationToken cancellationTo
220220
case LinuxDistribution.CentOS8:
221221
case LinuxDistribution.RHEL8:
222222
case LinuxDistribution.AzLinux:
223+
case LinuxDistribution.AwsLinux:
223224
break;
224225
default:
225226
throw new WorkloadException(
226227
$"The workload/benchmark is not supported on the current Linux distro " +
227228
$"'{distroInfo.LinuxDistribution}'. Supported distros include: " +
228229
$"{Enum.GetName(typeof(LinuxDistribution), LinuxDistribution.Ubuntu)},{Enum.GetName(typeof(LinuxDistribution), LinuxDistribution.Debian)}" +
229-
$"{Enum.GetName(typeof(LinuxDistribution), LinuxDistribution.CentOS8)},{Enum.GetName(typeof(LinuxDistribution), LinuxDistribution.RHEL8)},{Enum.GetName(typeof(LinuxDistribution), LinuxDistribution.AzLinux)}",
230+
$"{Enum.GetName(typeof(LinuxDistribution), LinuxDistribution.CentOS8)},{Enum.GetName(typeof(LinuxDistribution), LinuxDistribution.RHEL8)},{Enum.GetName(typeof(LinuxDistribution), LinuxDistribution.AzLinux)},{Enum.GetName(typeof(LinuxDistribution), LinuxDistribution.AwsLinux)}",
230231
ErrorReason.LinuxDistributionNotSupported);
231232
}
232233

src/VirtualClient/VirtualClient.Actions/Pbzip2/Pbzip2Executor.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -216,6 +216,7 @@ private async Task CheckDistroSupportAsync(EventContext telemetryContext, Cancel
216216
case LinuxDistribution.AzLinux:
217217
case LinuxDistribution.CentOS7:
218218
case LinuxDistribution.RHEL7:
219+
case LinuxDistribution.AwsLinux:
219220
break;
220221
default:
221222
throw new WorkloadException(

src/VirtualClient/VirtualClient.Actions/Redis/RedisExecutor.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -179,13 +179,15 @@ private async Task ValidatePlatformSupportAsync(CancellationToken cancellationTo
179179
case LinuxDistribution.CentOS8:
180180
case LinuxDistribution.RHEL8:
181181
case LinuxDistribution.AzLinux:
182+
case LinuxDistribution.AwsLinux:
182183
break;
183184
default:
184185
throw new WorkloadException(
185186
$"The Redis Memtier benchmark workload is not supported on the current Linux distro " +
186187
$"'{distroInfo.LinuxDistribution}'. Supported distros include: " +
187188
$"{Enum.GetName(typeof(LinuxDistribution), LinuxDistribution.Ubuntu)},{Enum.GetName(typeof(LinuxDistribution), LinuxDistribution.Debian)}" +
188-
$"{Enum.GetName(typeof(LinuxDistribution), LinuxDistribution.CentOS8)},{Enum.GetName(typeof(LinuxDistribution), LinuxDistribution.RHEL8)}",
189+
$"{Enum.GetName(typeof(LinuxDistribution), LinuxDistribution.CentOS8)},{Enum.GetName(typeof(LinuxDistribution), LinuxDistribution.RHEL8)}" +
190+
$"{Enum.GetName(typeof(LinuxDistribution), LinuxDistribution.AzLinux)},{Enum.GetName(typeof(LinuxDistribution), LinuxDistribution.AwsLinux)}",
189191
ErrorReason.LinuxDistributionNotSupported);
190192
}
191193
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
 Static hostname: arm64-ct79-vcuser1
2+
Pretty hostname: ARM64-CT79-vcuser1
3+
Transient hostname: ARM64-CT79-vcuser1
4+
Icon name: computer-desktop
5+
Chassis: desktop
6+
Machine ID: 26ae5f478d834c38838208981747c006
7+
Boot ID: 67bf1d1af77b496484ec5cfa0fcd27d5
8+
Operating System: Amazon Linux
9+
CPE OS Name: cpe:2.3:o:amazon:amazon_linux:2023
10+
Kernel: Amazon Linux 2023.6.20250218
11+
Architecture: arm64a
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
NAME="Amazon Linux"
2+
VERSION="2023"
3+
ID="amzn"
4+
ID_LIKE="fedora"
5+
VERSION_ID="2023"
6+
PLATFORM_ID="platform:al2023"
7+
PRETTY_NAME="Amazon Linux 2023.6.20250218"
8+
ANSI_COLOR="0;33"
9+
CPE_NAME="cpe:2.3:o:amazon:amazon_linux:2023"
10+
HOME_URL="https://aws.amazon.com/linux/amazon-linux-2023/"
11+
DOCUMENTATION_URL="https://docs.aws.amazon.com/linux/"
12+
SUPPORT_URL="https://aws.amazon.com/premiumsupport/"
13+
BUG_REPORT_URL="https://github.com/amazonlinux/amazon-linux-2023"
14+
VENDOR_NAME="AWS"
15+
VENDOR_URL="https://aws.amazon.com/"
16+
SUPPORT_END="2029-06-30"

src/VirtualClient/VirtualClient.Contracts.UnitTests/Parser/HostnamectlParserUnitTests.cs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,5 +134,15 @@ public void HostnamectlParserRecognizeRedhat93()
134134
Assert.AreEqual(LinuxDistribution.RHEL8, this.testParser.Parse().LinuxDistribution);
135135
Assert.AreEqual("Red Hat Enterprise Linux 9.3 (Plow)", this.testParser.Parse().OperationSystemFullName);
136136
}
137+
138+
[Test]
139+
public void HostnamectlParserRecognizeAwsLinux()
140+
{
141+
string outputPath = Path.Combine(this.ExamplePath, "AwsLinuxExample.txt");
142+
this.rawText = File.ReadAllText(outputPath);
143+
this.testParser = new HostnamectlParser(this.rawText);
144+
Assert.AreEqual(LinuxDistribution.AwsLinux, this.testParser.Parse().LinuxDistribution);
145+
Assert.AreEqual("Amazon Linux", this.testParser.Parse().OperationSystemFullName);
146+
}
137147
}
138148
}

src/VirtualClient/VirtualClient.Contracts.UnitTests/Parser/OsReleaseFileParserUnitTests.cs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,5 +75,15 @@ public void OsReleaseFileParserRecognizeAzLinux3()
7575
Assert.AreEqual(LinuxDistribution.AzLinux, this.testParser.Parse().LinuxDistribution);
7676
Assert.AreEqual("Microsoft Azure Linux 3.0", this.testParser.Parse().OperationSystemFullName);
7777
}
78+
79+
[Test]
80+
public void OsReleaseFileParserRecognizeAwsLinux()
81+
{
82+
string outputPath = Path.Combine(this.ExamplePath, "AwsLinuxExample.txt");
83+
this.rawText = File.ReadAllText(outputPath);
84+
this.testParser = new OsReleaseFileParser(this.rawText);
85+
Assert.AreEqual(LinuxDistribution.AwsLinux, this.testParser.Parse().LinuxDistribution);
86+
Assert.AreEqual("Amazon Linux 2023.6.20250218", this.testParser.Parse().OperationSystemFullName);
87+
}
7888
}
7989
}

src/VirtualClient/VirtualClient.Contracts/Enumerations.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -556,7 +556,12 @@ public enum LinuxDistribution
556556
/// <summary>
557557
/// MSFT internal CentOS based distro AzLinux (Previously Mariner)
558558
/// </summary>
559-
AzLinux
559+
AzLinux,
560+
561+
/// <summary>
562+
/// AwsLinux
563+
/// </summary>
564+
AwsLinux
560565
}
561566

562567
/// <summary>

0 commit comments

Comments
 (0)