Skip to content

Commit b1085ef

Browse files
authored
Merge pull request Azure#8401 from MSSedusch/master
AEM Extension: add support for UltraSSD and P60,P70 and P80 disks
2 parents ee6e538 + 427108c commit b1085ef

19 files changed

+35606
-35505
lines changed

src/Compute/Compute.Test/ScenarioTests/AEMExtensionTests.ps1

Lines changed: 173 additions & 122 deletions
Large diffs are not rendered by default.

src/Compute/Compute.Test/SessionRecords/Microsoft.Azure.Commands.Compute.Test.ScenarioTests.AEMExtensionTests/TestAEMExtensionAdvancedLinux.json

Lines changed: 2457 additions & 2440 deletions
Large diffs are not rendered by default.

src/Compute/Compute.Test/SessionRecords/Microsoft.Azure.Commands.Compute.Test.ScenarioTests.AEMExtensionTests/TestAEMExtensionAdvancedLinuxMD.json

Lines changed: 3102 additions & 2749 deletions
Large diffs are not rendered by default.

src/Compute/Compute.Test/SessionRecords/Microsoft.Azure.Commands.Compute.Test.ScenarioTests.AEMExtensionTests/TestAEMExtensionAdvancedLinuxMD_DSeries.json

Lines changed: 2421 additions & 3011 deletions
Large diffs are not rendered by default.

src/Compute/Compute.Test/SessionRecords/Microsoft.Azure.Commands.Compute.Test.ScenarioTests.AEMExtensionTests/TestAEMExtensionAdvancedLinuxMD_ESeries.json

Lines changed: 4861 additions & 2951 deletions
Large diffs are not rendered by default.

src/Compute/Compute.Test/SessionRecords/Microsoft.Azure.Commands.Compute.Test.ScenarioTests.AEMExtensionTests/TestAEMExtensionAdvancedLinuxWAD.json

Lines changed: 2679 additions & 3057 deletions
Large diffs are not rendered by default.

src/Compute/Compute.Test/SessionRecords/Microsoft.Azure.Commands.Compute.Test.ScenarioTests.AEMExtensionTests/TestAEMExtensionAdvancedWindows.json

Lines changed: 3963 additions & 2621 deletions
Large diffs are not rendered by default.

src/Compute/Compute.Test/SessionRecords/Microsoft.Azure.Commands.Compute.Test.ScenarioTests.AEMExtensionTests/TestAEMExtensionAdvancedWindowsMD.json

Lines changed: 2648 additions & 3790 deletions
Large diffs are not rendered by default.

src/Compute/Compute.Test/SessionRecords/Microsoft.Azure.Commands.Compute.Test.ScenarioTests.AEMExtensionTests/TestAEMExtensionAdvancedWindowsWAD.json

Lines changed: 3038 additions & 3981 deletions
Large diffs are not rendered by default.

src/Compute/Compute.Test/SessionRecords/Microsoft.Azure.Commands.Compute.Test.ScenarioTests.AEMExtensionTests/TestAEMExtensionBasicLinux.json

Lines changed: 1891 additions & 2292 deletions
Large diffs are not rendered by default.

src/Compute/Compute.Test/SessionRecords/Microsoft.Azure.Commands.Compute.Test.ScenarioTests.AEMExtensionTests/TestAEMExtensionBasicLinuxWAD.json

Lines changed: 2757 additions & 2247 deletions
Large diffs are not rendered by default.

src/Compute/Compute.Test/SessionRecords/Microsoft.Azure.Commands.Compute.Test.ScenarioTests.AEMExtensionTests/TestAEMExtensionBasicWindows.json

Lines changed: 2565 additions & 3781 deletions
Large diffs are not rendered by default.

src/Compute/Compute.Test/SessionRecords/Microsoft.Azure.Commands.Compute.Test.ScenarioTests.AEMExtensionTests/TestAEMExtensionBasicWindowsWAD.json

Lines changed: 2962 additions & 2461 deletions
Large diffs are not rendered by default.

src/Compute/Compute/ChangeLog.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
- Additional information about change #1
2020
-->
2121
## Upcoming Release
22+
* AEM extension: Add support for UltraSSD and P60,P70 and P80 disks
2223
* Update help description for Set-AzVMBootDiagnostics
2324

2425
## Version 1.2.0

src/Compute/Compute/Extension/AEM/AEMExtensionConstants.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ public static class AEMExtensionConstants
4141
public const string DISK_TYPE_STANDARD = "Standard";
4242
public const string DISK_TYPE_PREMIUM = "Premium";
4343
public const string DISK_TYPE_PREMIUM_MD = "Premium";
44+
public const string DISK_TYPE_ULTRA_MD = "Premium";
4445
public const string WadTableName = "WADPerformanceCountersTable";
4546
public const string AzureEndpoint = "core.windows.net";
4647
public const int ContentAgeInMinutes = 5;

src/Compute/Compute/Extension/AEM/AEMHelper.cs

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -474,12 +474,30 @@ internal AzureSLA GetDiskSLA(int? diskSize, VirtualHardDisk vhd)
474474
sla.IOPS = 7500;
475475
sla.TP = 250;
476476
}
477-
else if (diskSize > 0 && diskSize <= 4095)
477+
else if (diskSize > 0 && diskSize <= (4 * 1024))
478478
{
479479
// P50
480480
sla.IOPS = 7500;
481481
sla.TP = 250;
482482
}
483+
else if (diskSize > 0 && diskSize <= (8 * 1024))
484+
{
485+
// P60
486+
sla.IOPS = 12500;
487+
sla.TP = 480;
488+
}
489+
else if (diskSize > 0 && diskSize <= (16 * 1024))
490+
{
491+
// P70
492+
sla.IOPS = 15000;
493+
sla.TP = 750;
494+
}
495+
else if (diskSize > 0 && diskSize <= (32 * 1024))
496+
{
497+
// P80
498+
sla.IOPS = 20000;
499+
sla.TP = 750;
500+
}
483501
else
484502
{
485503
WriteError("Unkown disk size for Premium Storage - {0}", diskSize);

src/Compute/Compute/Extension/AEM/SetAzureRmVMAEMExtension.cs

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,7 @@ public override void ExecuteCmdlet()
210210
this._Helper.GetResourceNameFromId(osdisk.ManagedDisk.Id));
211211
if (osDiskMD.Sku.Name == StorageAccountTypes.PremiumLRS)
212212
{
213-
WriteVerbose("OS Disk Storage Account is a premium account - adding SLAs for OS disk");
213+
WriteVerbose("OS Disk is a Premium Managed Disk - adding SLAs for OS disk");
214214
var sla = this._Helper.GetDiskSLA(osDiskMD.DiskSizeGB, null);
215215
var caching = osdisk.Caching;
216216
sapmonPublicConfig.Add(new KeyValuePair() { Key = "osdisk.name", Value = this._Helper.GetResourceNameFromId(osdisk.ManagedDisk.Id) });
@@ -247,6 +247,19 @@ public override void ExecuteCmdlet()
247247
sapmonPublicConfig.Add(new KeyValuePair() { Key = "disk.sla.iops." + diskNumber, Value = sla.IOPS });
248248
this._Helper.WriteVerbose("Done - Data Disk {0} is a Premium Managed Disk - adding SLAs for disk", diskNumber.ToString());
249249
}
250+
else if (diskMD.Sku.Name == StorageAccountTypes.UltraSSDLRS)
251+
{
252+
this._Helper.WriteVerbose("Data Disk {0} is an UltraSSD Disk - adding SLAs for disk", diskNumber.ToString());
253+
var sla = this._Helper.GetDiskSLA(diskMD.DiskSizeGB, null);
254+
var cachingMD = disk.Caching;
255+
sapmonPublicConfig.Add(new KeyValuePair() { Key = "disk.lun." + diskNumber, Value = disk.Lun });
256+
sapmonPublicConfig.Add(new KeyValuePair() { Key = "disk.name." + diskNumber, Value = this._Helper.GetResourceNameFromId(disk.ManagedDisk.Id) });
257+
sapmonPublicConfig.Add(new KeyValuePair() { Key = "disk.caching." + diskNumber, Value = cachingMD });
258+
sapmonPublicConfig.Add(new KeyValuePair() { Key = "disk.type." + diskNumber, Value = AEMExtensionConstants.DISK_TYPE_ULTRA_MD });
259+
sapmonPublicConfig.Add(new KeyValuePair() { Key = "disk.sla.throughput." + diskNumber, Value = diskMD.DiskMBpsReadWrite });
260+
sapmonPublicConfig.Add(new KeyValuePair() { Key = "disk.sla.iops." + diskNumber, Value = diskMD.DiskIOPSReadWrite });
261+
this._Helper.WriteVerbose("Done - Data Disk {0} is an UltraSSD Disk - adding SLAs for disk", diskNumber.ToString());
262+
}
250263
else
251264
{
252265
this._Helper.WriteWarning("[WARN] Standard Managed Disks are not supported. Extension will be installed but no disk metrics will be available.");

src/Compute/Compute/Extension/AEM/TestAzureRmVMAEMExtension.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -398,6 +398,12 @@ public override void ExecuteCmdlet()
398398
this._Helper.CheckMonitoringProperty("Azure Enhanced Monitoring Extension for SAP public configuration check: VM Data Disk " + diskNumber + " SLA IOPS", "disk.sla.throughput." + diskNumber, sapmonPublicConfig, sla.TP, aemConfigResult);
399399
this._Helper.CheckMonitoringProperty("Azure Enhanced Monitoring Extension for SAP public configuration check: VM Data Disk " + diskNumber + " SLA Throughput", "disk.sla.iops." + diskNumber, sapmonPublicConfig, sla.IOPS, aemConfigResult);
400400
}
401+
else if (diskMD.Sku.Name == StorageAccountTypes.UltraSSDLRS)
402+
{
403+
this._Helper.CheckMonitoringProperty("Azure Enhanced Monitoring Extension for SAP public configuration check: VM Data Disk " + diskNumber + " Type", "disk.type." + diskNumber, sapmonPublicConfig, AEMExtensionConstants.DISK_TYPE_PREMIUM_MD, aemConfigResult);
404+
this._Helper.CheckMonitoringProperty("Azure Enhanced Monitoring Extension for SAP public configuration check: VM Data Disk " + diskNumber + " SLA IOPS", "disk.sla.throughput." + diskNumber, sapmonPublicConfig, diskMD.DiskMBpsReadWrite, aemConfigResult);
405+
this._Helper.CheckMonitoringProperty("Azure Enhanced Monitoring Extension for SAP public configuration check: VM Data Disk " + diskNumber + " SLA Throughput", "disk.sla.iops." + diskNumber, sapmonPublicConfig, diskMD.DiskIOPSReadWrite, aemConfigResult);
406+
}
401407
else
402408
{
403409
this._Helper.WriteWarning("[WARN] Standard Managed Disks are not supported.");

tools/CredScanSuppressions.json

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1065,6 +1065,54 @@
10651065
{
10661066
"file": "\\src\\IotHub\\IotHub.Test\\ScenarioTests\\IotHubRoutingTests.ps1",
10671067
"_justification": "Mocked test resource. The resources are being deleted after the test run in Record mode."
1068+
},
1069+
{
1070+
"file": "src\\Compute\\Compute.Test\\SessionRecords\\Microsoft.Azure.Commands.Compute.Test.ScenarioTests.AEMExtensionTests\\TestAEMExtensionAdvancedLinux.json",
1071+
"_justification": "Mocked test resource. The resources are being deleted after the test run in Record mode."
1072+
},
1073+
{
1074+
"file": "src\\Compute\\Compute.Test\\SessionRecords\\Microsoft.Azure.Commands.Compute.Test.ScenarioTests.AEMExtensionTests\\TestAEMExtensionAdvancedLinuxMD_DSeries.json",
1075+
"_justification": "Mocked test resource. The resources are being deleted after the test run in Record mode."
1076+
},
1077+
{
1078+
"file": "src\\Compute\\Compute.Test\\SessionRecords\\Microsoft.Azure.Commands.Compute.Test.ScenarioTests.AEMExtensionTests\\TestAEMExtensionAdvancedLinuxMD.json",
1079+
"_justification": "Mocked test resource. The resources are being deleted after the test run in Record mode."
1080+
},
1081+
{
1082+
"file": "src\\Compute\\Compute.Test\\SessionRecords\\Microsoft.Azure.Commands.Compute.Test.ScenarioTests.AEMExtensionTests\\TestAEMExtensionAdvancedLinuxWAD.json",
1083+
"_justification": "Mocked test resource. The resources are being deleted after the test run in Record mode."
1084+
},
1085+
{
1086+
"file": "src\\Compute\\Compute.Test\\SessionRecords\\Microsoft.Azure.Commands.Compute.Test.ScenarioTests.AEMExtensionTests\\TestAEMExtensionAdvancedWindows.json",
1087+
"_justification": "Mocked test resource. The resources are being deleted after the test run in Record mode."
1088+
},
1089+
{
1090+
"file": "src\\Compute\\Compute.Test\\SessionRecords\\Microsoft.Azure.Commands.Compute.Test.ScenarioTests.AEMExtensionTests\\TestAEMExtensionAdvancedWindowsMD.json",
1091+
"_justification": "Mocked test resource. The resources are being deleted after the test run in Record mode."
1092+
},
1093+
{
1094+
"file": "src\\Compute\\Compute.Test\\SessionRecords\\Microsoft.Azure.Commands.Compute.Test.ScenarioTests.AEMExtensionTests\\TestAEMExtensionAdvancedWindowsWAD.json",
1095+
"_justification": "Mocked test resource. The resources are being deleted after the test run in Record mode."
1096+
},
1097+
{
1098+
"file": "src\\Compute\\Compute.Test\\SessionRecords\\Microsoft.Azure.Commands.Compute.Test.ScenarioTests.AEMExtensionTests\\TestAEMExtensionBasicLinux.json",
1099+
"_justification": "Mocked test resource. The resources are being deleted after the test run in Record mode."
1100+
},
1101+
{
1102+
"file": "src\\Compute\\Compute.Test\\SessionRecords\\Microsoft.Azure.Commands.Compute.Test.ScenarioTests.AEMExtensionTests\\TestAEMExtensionBasicLinuxWAD.json",
1103+
"_justification": "Mocked test resource. The resources are being deleted after the test run in Record mode."
1104+
},
1105+
{
1106+
"file": "src\\Compute\\Compute.Test\\SessionRecords\\Microsoft.Azure.Commands.Compute.Test.ScenarioTests.AEMExtensionTests\\TestAEMExtensionBasicWindows.json",
1107+
"_justification": "Mocked test resource. The resources are being deleted after the test run in Record mode."
1108+
},
1109+
{
1110+
"file": "src\\Compute\\Compute.Test\\SessionRecords\\Microsoft.Azure.Commands.Compute.Test.ScenarioTests.AEMExtensionTests\\TestAEMExtensionBasicWindowsWAD.json",
1111+
"_justification": "Mocked test resource. The resources are being deleted after the test run in Record mode."
1112+
},
1113+
{
1114+
"file": "src\\Compute\\Compute.Test\\SessionRecords\\Microsoft.Azure.Commands.Compute.Test.ScenarioTests.AEMExtensionTests\\TestAEMExtensionAdvancedLinuxMD_ESeries.json",
1115+
"_justification": "Mocked test resource. The resources are being deleted after the test run in Record mode."
10681116
}
10691117
]
10701118
}

0 commit comments

Comments
 (0)