Skip to content

Commit 28a3608

Browse files
[Aks] Make ACL tests true 1:1 mirrors; user-facing ChangeLog
- Test-OSSku-AzureContainerLinux: full mirror of Test-OSSku — restored the Windows2022 second node pool and all asserts. Only deltas: Mariner -> AzureContainerLinux, standard_a2_v2 -> Standard_D2s_v5 (AzureContainerLinux requires a Trusted Launch capable VM size). - Test_AKS_AzureContainerLinux: full mirror of Test_AKS_CRUD — restored the autoscaling/update step, Windows2022 second pool, labels/tags update step. Only deltas: AzureLinux -> AzureContainerLinux, Standard_D2_v3 -> Standard_D2s_v5 on the ACL system pool. - ChangeLog: drop dev/process bullets (build verification, test scaffolding); keep user-facing functionality + spec it ships against.
1 parent 767cd37 commit 28a3608

3 files changed

Lines changed: 112 additions & 21 deletions

File tree

src/Aks/Aks.Test/ScenarioTests/KubernetesTests.ps1

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -452,7 +452,7 @@ function Test-OSSku-AzureContainerLinux
452452
$resourceGroupName = Get-RandomResourceGroupName
453453
$kubeClusterName = Get-RandomClusterName
454454
$location = 'eastus'
455-
$nodeVmSize = "standard_a2_v2"
455+
$nodeVmSize = "Standard_D2s_v5"
456456

457457
try
458458
{
@@ -464,10 +464,20 @@ function Test-OSSku-AzureContainerLinux
464464
Assert-AreEqual 'Linux' $cluster.AgentPoolProfiles.OsType
465465
Assert-AreEqual 'AzureContainerLinux' $cluster.AgentPoolProfiles.OsSKU
466466

467-
New-AzAksNodePool -ResourceGroupName $resourceGroupName -ClusterName $kubeClusterName -Name "aclpool" -OsSKU "AzureContainerLinux" -Count 1 -VmSetType VirtualMachineScaleSets
467+
New-AzAksNodePool -ResourceGroupName $resourceGroupName -ClusterName $kubeClusterName -Name "pool2" -OsType "Windows" -OsSKU "Windows2022" -Count 1 -VmSetType VirtualMachineScaleSets
468468
$pools = Get-AzAksNodePool -ResourceGroupName $resourceGroupName -ClusterName $kubeClusterName
469469
Assert-AreEqual 2 $pools.Count
470-
Assert-AreEqualArray "AzureContainerLinux" ($pools | where {$_.Name -eq "aclpool"}).OsSKU
470+
Assert-AreEqualArray "Linux" ($pools | where {$_.Name -eq "default"}).OsType
471+
Assert-AreEqualArray "AzureContainerLinux" ($pools | where {$_.Name -eq "default"}).OsSKU
472+
Assert-AreEqualArray "Windows" ($pools | where {$_.Name -eq "pool2"}).OsType
473+
Assert-AreEqualArray "Windows2022" ($pools | where {$_.Name -eq "pool2"}).OsSKU
474+
475+
$cluster = Get-AzAksCluster -ResourceGroupName $resourceGroupName -Name $kubeClusterName
476+
Assert-AreEqual 2 $cluster.AgentPoolProfiles.Count
477+
Assert-AreEqualArray "Linux" ($cluster.AgentPoolProfiles | where {$_.Name -eq "default"}).OsType
478+
Assert-AreEqualArray "AzureContainerLinux" ($cluster.AgentPoolProfiles | where {$_.Name -eq "default"}).OsSKU
479+
Assert-AreEqualArray "Windows" ($cluster.AgentPoolProfiles | where {$_.Name -eq "pool2"}).OsType
480+
Assert-AreEqualArray "Windows2022" ($cluster.AgentPoolProfiles | where {$_.Name -eq "pool2"}).OsSKU
471481

472482
$cluster | Remove-AzAksCluster -Force
473483
}

src/Aks/Aks/ChangeLog.md

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,8 @@
2020
## Upcoming Release
2121
* Added ChangeSafety Support
2222
* Added support for `AzureContainerLinux` OS SKU in `New-AzAksCluster` (`-NodeOsSKU`) and `New-AzAksNodePool` (`-OsSKU`)
23-
- Verified the hand-written cmdlets compile cleanly against the regenerated SDK
24-
- Added a `LiveOnly` scenario test (`Test-OSSku-AzureContainerLinux`) and help examples for both cmdlets
25-
- Added a `Test_AKS_AzureContainerLinux` live test scenario mirroring `Test_AKS_CRUD`
26-
* Regenerated `Aks.Management.Sdk` against `Microsoft.ContainerService/aks/stable/2026-03-01`
23+
- Azure Container Linux is a container-optimized, immutable Linux OS for AKS node images. See https://aka.ms/azurecontainerlinux
24+
* Bumped API version to 2026-03-01
2725

2826
## Version 7.1.2
2927
* Set `useAADAuth` to `true` by default in the omsagent addon profile when enabling the Monitoring addon via `Enable-AzAksAddOn` and `New-AzAksCluster`

src/Aks/LiveTests/Aks/TestLiveScenarios.ps1

Lines changed: 97 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,7 @@ Invoke-LiveTestScenario -Name "Test_AKS_CRUD" -Description "Test AKS cluster CRU
178178
Assert-Null $cluster
179179
}
180180

181-
Invoke-LiveTestScenario -Name "Test_AKS_AzureContainerLinux" -Description "Test AKS cluster and node pool create with AzureContainerLinux OS SKU" -Platform Linux -PowerShellVersion Latest -ScenarioScript `
181+
Invoke-LiveTestScenario -Name "Test_AKS_AzureContainerLinux" -Description "Test AKS cluster CRUD and node pool CRU with AzureContainerLinux system pool" -Platform Linux -PowerShellVersion Latest -ScenarioScript `
182182
{
183183
param ($rg)
184184

@@ -187,13 +187,14 @@ Invoke-LiveTestScenario -Name "Test_AKS_AzureContainerLinux" -Description "Test
187187

188188
$kubeName = New-LiveTestResourceName
189189
$sysNodeName = New-LiveTestRandomName -Option StartWithLetter -MaxLength 5
190-
$aclNodeName = New-LiveTestRandomName -Option StartWithLetter -MaxLength 5
190+
$usrNodeName = New-LiveTestRandomName -Option StartWithLetter -MaxLength 5
191191

192192
$vnetName = New-LiveTestResourceName
193193
$snetName = New-LiveTestResourceName
194194
$nsgName = New-LiveTestResourceName
195195
$pipName = New-LiveTestResourceName
196196

197+
# step 1: create an aks cluster with a node pool
197198
'y' | ssh-keygen -t rsa -f id_rsa -q -N '"123456"'
198199
$sshKeyValue = Get-Content id_rsa.pub -Raw
199200

@@ -217,54 +218,136 @@ Invoke-LiveTestScenario -Name "Test_AKS_AzureContainerLinux" -Description "Test
217218

218219
$kubeVersion = (Get-AzAksVersion -Location $location).OrchestratorVersion | Sort-Object -Descending | Select-Object -Skip 2 -First 1
219220

220-
Write-Host "##[section]Start creating AKS cluster with AzureContainerLinux : New-AzAksCluster"
221+
Write-Host "##[section]Start creating AKS cluster : New-AzAksCluster"
221222

222-
New-AzAksCluster -ResourceGroupName $rgName -Name $kubeName -Location $location -SshKeyValue $sshKeyValue -ServicePrincipalIdAndSecret $servicePrincipalCredential -KubernetesVersion $kubeVersion -NodeName $sysNodeName -NodePoolMode System -NodeOsSKU AzureContainerLinux -NodeVmSize Standard_D2s_v5 -NodeCount 2 -NetworkPlugin azure -NodeVnetSubnetID $snet.Id -LoadBalancerOutboundIp $pip.Id
223+
New-AzAksCluster -ResourceGroupName $rgName -Name $kubeName -Location $location -SshKeyValue $sshKeyValue -ServicePrincipalIdAndSecret $servicePrincipalCredential -KubernetesVersion $kubeVersion -NodeName $sysNodeName -NodePoolMode System -NodeOsSKU AzureContainerLinux -NodeVmSize Standard_D2s_v5 -AutoUpgradeChannel node-image -NodeCount 2 -EnableNodeAutoScaling -NodeMinCount 1 -NodeMaxCount 3 -NetworkPlugin azure -NodeVnetSubnetID $snet.Id -LoadBalancerOutboundIp $pip.Id
223224

224-
Write-Host "##[section]Finished creating AKS cluster with AzureContainerLinux : New-AzAksCluster"
225+
Write-Host "##[section]Finished creating AKS cluster : New-AzAksCluster"
225226

226227
$cluster = Get-AzAksCluster -ResourceGroupName $rgName -Name $kubeName
227228

228229
Assert-NotNull $cluster
230+
Assert-NotNull $cluster.NodeResourceGroup
229231
Assert-AreEqual $rgName $cluster.ResourceGroupName
230232
Assert-AreEqual $kubeName $cluster.Name
233+
Assert-AreEqual $kubeVersion $cluster.KubernetesVersion
231234
Assert-AreEqual "Succeeded" $cluster.ProvisioningState
235+
Assert-AreEqual "node-image" $cluster.AutoUpgradeProfile.UpgradeChannel
232236

233237
$agentPool = $cluster.AgentPoolProfiles
234238

235239
Assert-NotNull $agentPool
236240
Assert-AreEqual 1 @($agentPool).Length
237241
Assert-AreEqual $sysNodeName $agentPool.Name
242+
Assert-AreEqual $kubeVersion $agentPool.OrchestratorVersion
238243
Assert-AreEqual "Linux" $agentPool.OsType
239244
Assert-AreEqual "AzureContainerLinux" $agentPool.OsSKU
240245
Assert-AreEqual "System" $agentPool.Mode
246+
Assert-AreEqual "VirtualMachineScaleSets" $agentPool.Type
247+
Assert-AreEqual $snet.Id $agentPool.VnetSubnetID
241248
Assert-AreEqual "Succeeded" $agentPool.ProvisioningState
249+
Assert-AreEqual "True" $agentPool.EnableAutoScaling
242250

243251
$nodePool = Get-AzAksNodePool -ResourceGroupName $rgName -ClusterName $kubeName
244252

245253
Assert-NotNull $nodePool
246254
Assert-AreEqual 1 @($nodePool).Length
255+
Assert-AreEqual $sysNodeName $nodePool.Name
256+
Assert-AreEqual $kubeVersion $nodePool.OrchestratorVersion
247257
Assert-AreEqual "Linux" $nodePool.OsType
248258
Assert-AreEqual "AzureContainerLinux" $nodePool.OsSKU
259+
Assert-AreEqual "System" $nodePool.Mode
260+
Assert-AreEqual "VirtualMachineScaleSets" $nodePool.AgentPoolType
261+
Assert-AreEqual $snet.Id $nodePool.VnetSubnetID
262+
Assert-AreEqual "Succeeded" $nodePool.ProvisioningState
263+
Assert-AreEqual "True" $nodePool.EnableAutoScaling
264+
265+
# step 2: update the aks cluster
266+
Write-Host "##[section]Start to update AKS cluster : Set-AzAksCluster"
267+
268+
$cluster = $cluster | Set-AzAksCluster -NodeName $sysNodeName -NodeCount 4 -EnableNodeAutoScaling:$false
269+
270+
Write-Host "##[section]Finished updating AKS cluster : Set-AzAksCluster"
271+
272+
Assert-NotNull $cluster
273+
Assert-AreEqual "False" $cluster.AgentPoolProfiles.EnableAutoScaling
274+
Assert-AreEqual 4 $($cluster.AgentPoolProfiles).Count
275+
276+
# step 3: create the second node pool
277+
Write-Host "##[section]Start to create AKS node pool : New-AzAksNodePool"
278+
279+
New-AzAksNodePool -ResourceGroupName $rgName -ClusterName $kubeName -Name $usrNodeName -Mode User -OsType Windows -OsSKU Windows2022 -VmSize Standard_D2s_v3 -VmSetType VirtualMachineScaleSets -Count 2
280+
281+
Write-Host "##[section]Finished creating AKS node pool : New-AzAksNodePool"
282+
283+
$nodePools = Get-AzAksNodePool -ResourceGroupName $rgName -ClusterName $kubeName
284+
$sysPool = $nodePools | Where-Object Name -eq $sysNodeName
285+
$usrPool = $nodePools | Where-Object Name -eq $usrNodeName
286+
287+
Assert-NotNull $nodePools
288+
Assert-AreEqual 2 @($nodePools).Length
289+
290+
Assert-NotNull $sysPool
291+
Assert-AreEqual $sysNodeName $sysPool.Name
292+
Assert-AreEqual "System" $sysPool.Mode
293+
Assert-AreEqual "Linux" $sysPool.OsType
294+
Assert-AreEqual "AzureContainerLinux" $sysPool.OsSKU
295+
296+
Assert-NotNull $usrPool
297+
Assert-AreEqual $usrNodeName $usrPool.Name
298+
Assert-AreEqual "User" $usrPool.Mode
299+
Assert-AreEqual "Windows" $usrPool.OsType
300+
Assert-AreEqual "Windows2022" $usrPool.OsSKU
301+
302+
# step4: update the second node pool
303+
$labels = @{"someId" = 127; "tier" = "frontend"; "environment" = "qa" }
304+
$tags = @{"dept" = "MM"; "costcenter" = 7777; "Admin" = "Cindy" }
305+
306+
Write-Host "##[section]Start to update Aks node pool : Update-AzAksNodePool"
307+
308+
Update-AzAksNodePool -ResourceGroupName $rgName -ClusterName $kubeName -Name $usrNodeName -NodeLabel $labels -Tag $tags
249309

250-
Write-Host "##[section]Start to create AKS node pool with AzureContainerLinux : New-AzAksNodePool"
310+
Write-Host "##[section]Finished updating Aks node pool : Update-AzAksNodePool"
251311

252-
New-AzAksNodePool -ResourceGroupName $rgName -ClusterName $kubeName -Name $aclNodeName -Mode User -OsType Linux -OsSKU AzureContainerLinux -VmSize Standard_D2s_v5 -VmSetType VirtualMachineScaleSets -Count 1
312+
$cluster = Get-AzAksCluster -ResourceGroupName $rgName -Name $kubeName
313+
$sysPool = $cluster.AgentPoolProfiles | Where-Object Name -eq $sysNodeName
314+
$usrPool = $cluster.AgentPoolProfiles | Where-Object Name -eq $usrNodeName
253315

254-
Write-Host "##[section]Finished creating AKS node pool with AzureContainerLinux : New-AzAksNodePool"
316+
Assert-NotNull $cluster
317+
Assert-AreEqual 2 @($cluster.AgentPoolProfiles).Length
318+
319+
Assert-NotNull $sysPool
320+
Assert-Null $sysPool.NodeLabels
321+
Assert-Null $sysPool.Tags
322+
323+
Assert-NotNull $usrPool
324+
Assert-AreEqual 127 $usrPool.NodeLabels.someId
325+
Assert-AreEqual "frontend" $usrPool.NodeLabels.tier
326+
Assert-AreEqual "qa" $usrPool.NodeLabels.environment
327+
Assert-AreEqual "MM" $usrPool.Tags.dept
328+
Assert-AreEqual 7777 $usrPool.Tags.costcenter
329+
Assert-AreEqual "Cindy" $usrPool.Tags.Admin
255330

256331
$nodePools = Get-AzAksNodePool -ResourceGroupName $rgName -ClusterName $kubeName
257-
$aclPool = $nodePools | Where-Object Name -eq $aclNodeName
332+
$sysPool = $nodePools | Where-Object Name -eq $sysNodeName
333+
$usrPool = $nodePools | Where-Object Name -eq $usrNodeName
258334

259335
Assert-NotNull $nodePools
260336
Assert-AreEqual 2 @($nodePools).Length
261337

262-
Assert-NotNull $aclPool
263-
Assert-AreEqual $aclNodeName $aclPool.Name
264-
Assert-AreEqual "User" $aclPool.Mode
265-
Assert-AreEqual "Linux" $aclPool.OsType
266-
Assert-AreEqual "AzureContainerLinux" $aclPool.OsSKU
338+
Assert-NotNull $sysPool
339+
Assert-AreEqual $sysPool.NodeLabels
340+
Assert-AreEqual $sysPool.Tags
267341

342+
Assert-NotNull $usrPool
343+
Assert-AreEqual 127 $usrPool.NodeLabels.someId
344+
Assert-AreEqual "frontend" $usrPool.NodeLabels.tier
345+
Assert-AreEqual "qa" $usrPool.NodeLabels.environment
346+
Assert-AreEqual "MM" $usrPool.Tags.dept
347+
Assert-AreEqual 7777 $usrPool.Tags.costcenter
348+
Assert-AreEqual "Cindy" $usrPool.Tags.Admin
349+
350+
# step 5: remove the AKS cluster
268351
Write-Host "##[section]Start to remove Aks cluster : Remove-AzAksCluster"
269352

270353
$cluster | Remove-AzAksCluster -Force

0 commit comments

Comments
 (0)