Skip to content

Commit 7bf397c

Browse files
authored
Fix live test issues for App, AKS and Functions (#27762)
1 parent 525949e commit 7bf397c

File tree

3 files changed

+151
-45
lines changed

3 files changed

+151
-45
lines changed

src/Aks/LiveTests/Aks/TestLiveScenarios.ps1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ Invoke-LiveTestScenario -Name "Test_AKS_CRUD" -Description "Test AKS cluster CRU
4040

4141
Write-Host "##[section]Start creating AKS cluster : New-AzAksCluster"
4242

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

4545
Write-Host "##[section]Finished creating AKS cluster : New-AzAksCluster"
4646

Lines changed: 146 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,47 +1,153 @@
1-
Invoke-LiveTestScenario -Name "List ContainerApp" -Description "Test listing ContainerApp" -PowerShellVersion "5.1", "Latest" -ScenarioScript `
1+
Invoke-LiveTestScenario -Name "Operate ContainerApp" -Description "Test operating Container App" -PowerShellVersion "5.1", "Latest" -ScenarioScript `
22
{
33
param ($rg)
4+
45
$rgName = $rg.ResourceGroupName
5-
$appName = New-LiveTestResourceName
6-
$workspaceName = New-LiveTestResourceName
6+
$location = "westus"
7+
8+
$vnetName = New-LiveTestResourceName
9+
$snetName = New-LiveTestResourceName
10+
$nsgName = New-LiveTestResourceName
11+
$natName = New-LiveTestResourceName
12+
$pipName = New-LiveTestResourceName
13+
$delName = New-LiveTestResourceName
14+
$wsName = New-LiveTestResourceName
15+
16+
$pflName = New-AdlAnalyticsAccount
717
$envName = New-LiveTestResourceName
8-
$appLocation = "northcentralusstage"
9-
$location = "eastus"
10-
11-
$null = New-AzOperationalInsightsWorkspace -ResourceGroupName $rgName -Name $workspaceName -Sku PerGB2018 -Location $location -PublicNetworkAccessForIngestion "Enabled" -PublicNetworkAccessForQuery "Enabled"
12-
$CustomId = (Get-AzOperationalInsightsWorkspace -ResourceGroupName $rgName -Name $workspaceName).CustomerId
13-
$SharedKey = (Get-AzOperationalInsightsWorkspaceSharedKey -ResourceGroupName $rgName -Name $workspaceName).PrimarySharedKey
14-
$workloadProfile = New-AzContainerAppWorkloadProfileObject -Name "Consumption" -Type "Consumption"
15-
$null = New-AzContainerAppManagedEnv -EnvName $envName -ResourceGroupName $rgName -Location $appLocation -AppLogConfigurationDestination "log-analytics" -LogAnalyticConfigurationCustomerId $CustomId -LogAnalyticConfigurationSharedKey $SharedKey -VnetConfigurationInternal:$false -WorkloadProfile $workloadProfile
16-
$EnvId = (Get-AzContainerAppManagedEnv -ResourceGroupName $rgName -EnvName $envName).Id
17-
$secretObject = New-AzContainerAppSecretObject -Name "redis-config" -Value "redis-password"
18-
$probeHttpGetHttpHeader = New-AzContainerAppProbeHeaderObject -Name "Custom-Header" -Value "Awesome"
19-
$probe = New-AzContainerAppProbeObject -HttpGetPath "/health" -HttpGetPort 8080 -InitialDelaySecond 3 -PeriodSecond 3 -Type Liveness -HttpGetHttpHeader $probeHttpGetHttpHeader
20-
$temp = New-AzContainerAppTemplateObject -Name $appName -Image "mcr.microsoft.com/k8se/quickstart-jobs:latest" -Probe $probe -ResourceCpu 0.25 -ResourceMemory "0.5Gi"
21-
$configuration = New-AzContainerAppConfigurationObject -DaprEnabled:$True -DaprAppPort 3000 -DaprAppProtocol "http" -DaprHttpReadBufferSize 30 -DaprHttpMaxRequestSize 10 -DaprLogLevel "debug" -DaprEnableApiLogging:$True -MaxInactiveRevision 10 -ServiceType "redis" -Secret $secretObject
22-
23-
# Test creating AzContainerApp
24-
$actual = New-AzContainerApp -Name $appName -ResourceGroupName $rgName -Location $appLocation -Configuration $configuration -TemplateContainer $temp -EnvironmentId $EnvId
25-
Assert-AreEqual $appName $actual.Name
26-
Assert-AreEqual $actual.ProvisioningState "Succeeded"
27-
# Test listing ContainerApp
28-
$null = New-AzContainerApp -Name $appName -ResourceGroupName $rgName -Location $appLocation -Configuration $configuration -TemplateContainer $temp -EnvironmentId $EnvId
29-
$actual = Get-AzContainerApp -ResourceGroupName $rgName
30-
Assert-True { $actual.Count -ge 1 }
31-
# Test getting one ContainerApp
32-
$null = New-AzContainerApp -Name $appName -ResourceGroupName $rgName -Location $appLocation -Configuration $configuration -TemplateContainer $temp -EnvironmentId $EnvId
33-
$actual = Get-AzContainerApp -ResourceGroupName $rgName -Name $appName
18+
$tplName = New-LiveTestResourceName
19+
$daprName = New-LiveTestResourceName
20+
$appName = New-LiveTestResourceName
21+
$appSecretName = New-LiveTestRandomName -Option StartWithLetter
22+
$appSecretValue = New-LiveTestRandomName -Option StartWithLetter
23+
24+
$nsgRuleHighRiskPorts = New-AzNetworkSecurityRuleConfig -Name "DenyHighRiskPorts" -Direction Inbound -Priority 101 -Protocol Tcp -SourceAddressPrefix Internet -SourcePortRange * -DestinationAddressPrefix * -DestinationPortRange 22, 3389 -Access Deny
25+
$nsg = New-AzNetworkSecurityGroup -ResourceGroupName $rgName -Name $nsgName -Location $location -SecurityRules $nsgRuleHighRiskPorts
26+
$del = New-AzDelegation -Name $delName -ServiceName "Microsoft.App/environments"
27+
$ipTag = New-AzPublicIpTag -IpTagType FirstPartyUsage -Tag "/NonProd"
28+
$pip = New-AzPublicIpAddress -ResourceGroupName $rgName -Name $pipName -Location $location -AllocationMethod Static -Sku Standard -IpTag $ipTag
29+
$nat = New-AzNatGateway -ResourceGroupName $rgName -Name $natName -Location $location -IdleTimeoutInMinutes 5 -Sku Standard -PublicIpAddress $pip
30+
$snetCfg = New-AzVirtualNetworkSubnetConfig -Name $snetName -AddressPrefix 10.10.1.0/24 -DefaultOutboundAccess $false -NetworkSecurityGroup $nsg -InputObject $nat -Delegation $del
31+
New-AzVirtualNetwork -ResourceGroupName $rgName -Name $vnetName -Location $location -AddressPrefix 10.10.0.0/16 -Subnet $snetCfg
32+
33+
$snet = Get-AzVirtualNetwork -ResourceGroupName $rgName -Name $vnetName | Get-AzVirtualNetworkSubnetConfig -Name $snetName
34+
35+
New-AzOperationalInsightsWorkspace -ResourceGroupName $rgName -Name $wsName -Sku standalone -Location $location -PublicNetworkAccessForIngestion "Enabled" -PublicNetworkAccessForQuery "Enabled"
36+
$custId = (Get-AzOperationalInsightsWorkspace -ResourceGroupName $rgName -Name $wsName).CustomerId
37+
$sharedKey = (Get-AzOperationalInsightsWorkspaceSharedKey -ResourceGroupName $rgName -Name $wsName).PrimarySharedKey
38+
39+
$wlProfile = New-AzContainerAppWorkloadProfileObject -Name $pflName -Type D4 -MinimumCount 1 -MaximumCount 3
40+
New-AzContainerAppManagedEnv -ResourceGroupName $rgName -Name $envName -Location $location -WorkloadProfile $wlProfile -AppLogConfigurationDestination "log-analytics" -LogAnalyticConfigurationCustomerId $custId -LogAnalyticConfigurationSharedKey $sharedKey -VnetConfigurationInternal -VnetConfigurationInfrastructureSubnetId $snet.Id
41+
$envId = (Get-AzContainerAppManagedEnv -ResourceGroupName $rgName -Name $envName).Id
42+
43+
$probeHeader = New-AzContainerAppProbeHeaderObject -Name "Custom-Header" -Value "Awesome"
44+
$probe = New-AzContainerAppProbeObject -Type Liveness -HttpGetPath "/health" -HttpGetPort 8080 -HttpGetHttpHeader $probeHeader -InitialDelaySecond 3 -PeriodSecond 3
45+
$appTemplate = New-AzContainerAppTemplateObject -Name $tplName -Image "mcr.microsoft.com/k8se/quickstart-jobs:latest" -Probe $probe -ResourceCpu 2 -ResourceMemory "4Gi"
46+
47+
$appSecret = New-AzContainerAppSecretObject -Name $appSecretName -Value $appSecretValue
48+
$appConfig = New-AzContainerAppConfigurationObject -DaprAppId $daprName -DaprAppProtocol "http" -DaprAppPort 3000 -DaprHttpReadBufferSize 30 -DaprHttpMaxRequestSize 100 -DaprLogLevel "debug" -DaprEnableApiLogging $true -DaprEnabled $true -MaxInactiveRevision 50 -Secret $appSecret
49+
50+
$actual = New-AzContainerApp -ResourceGroupName $rgName -Name $appName -Location $location -EnvironmentId $envId -TemplateContainer $appTemplate -Configuration $appConfig
51+
52+
Assert-NotNull $actual
53+
Assert-AreEqual $rgName $actual.ResourceGroupName
3454
Assert-AreEqual $appName $actual.Name
35-
# Test Updating one specific ContainerApp
36-
$null = New-AzContainerApp -Name $appName -ResourceGroupName $rgName -Location $appLocation -Configuration $configuration -TemplateContainer $temp -EnvironmentId $EnvId
37-
$null = Update-AzContainerApp -Name $appName -ResourceGroupName $rgName -Configuration $configuration -Tag @{"123"="abc"}
38-
$actual = Get-AzContainerApp -ResourceGroupName $rgName -Name $appName
39-
Assert-AreEqual $actual.Tag.Count 1
40-
Assert-AreEqual $actual.Tag["123"] "abc"
41-
# Test Removing ContainerApp
42-
$null = New-AzContainerApp -Name $appName -ResourceGroupName $rgName -Location $appLocation -Configuration $configuration -TemplateContainer $temp -EnvironmentId $EnvId
43-
$null = Remove-AzContainerApp -ResourceGroupName $rgName -Name $appName
44-
$GetServiceList = Get-AzContainerApp -ResourceGroupName $rgName
45-
Assert-False { $GetServiceList.Name -contains $appName}
55+
Assert-AreEqual "Succeeded" $actual.ProvisioningState
56+
Assert-AreEqual $envId $actual.EnvironmentId
57+
Assert-AreEqual $appTemplate.Image $actual.TemplateContainer[0].Image
58+
Assert-AreEqual $appTemplate.ResourceCpu $actual.TemplateContainer[0].ResourceCpu
59+
Assert-AreEqual $appTemplate.ResourceMemory $actual.TemplateContainer[0].ResourceMemory
60+
Assert-NotNull $actual.TemplateContainer[0].Probe
61+
Assert-AreEqual $daprName $actual.Configuration.DaprAppId
62+
Assert-AreEqual $appConfig.DaprAppProtocol $actual.Configuration.DaprAppProtocol
63+
Assert-AreEqual 3000 $actual.Configuration.DaprAppPort
64+
Assert-AreEqual 30 $actual.Configuration.DaprHttpReadBufferSize
65+
Assert-AreEqual 100 $actual.Configuration.DaprHttpMaxRequestSize
66+
Assert-AreEqual 50 $actual.Configuration.MaxInactiveRevision
67+
Assert-AreEqual $appConfig.DaprLogLevel $actual.Configuration.DaprLogLevel
68+
Assert-AreEqual $true $actual.Configuration.DaprEnabled
69+
Assert-AreEqual $true $actual.Configuration.DaprEnableApiLogging
70+
Assert-AreEqual $false $actual.Configuration.IngressExternal
71+
Assert-AreEqual $appSecretName $actual.Configuration.Secret[0].Name
72+
Assert-Null $actual.Configuration.Secret[0].Value
73+
74+
$env = Get-AzContainerAppManagedEnv -ResourceGroupName $rgName -Name $envName
75+
76+
Assert-NotNull $env
77+
Assert-AreEqual $rgName $env.ResourceGroupName
78+
Assert-AreEqual $envName $env.Name
79+
Assert-AreEqual "Succeeded" $env.ProvisioningState
80+
Assert-AreEqual "log-analytics" $env.AppLogConfigurationDestination
81+
Assert-AreEqual $custId $env.LogAnalyticConfigurationCustomerId
82+
Assert-Null $env.LogAnalyticConfigurationSharedKey
83+
Assert-AreEqual $snet.Id $env.VnetConfigurationInfrastructureSubnetId
84+
85+
$workloadProfile = $env.WorkloadProfile | Where-Object { $_.Name -eq $pflName }
86+
87+
Assert-NotNull $workloadProfile
88+
Assert-AreEqual $pflName $workloadProfile.Name
89+
Assert-AreEqual $wlProfile.Type $workloadProfile.Type
90+
Assert-AreEqual $wlProfile.MinimumCount $workloadProfile.MinimumCount
91+
Assert-AreEqual $wlProfile.MaximumCount $workloadProfile.MaximumCount
92+
93+
$app = Get-AzContainerApp -ResourceGroupName $rgName -Name $appName
94+
95+
Assert-NotNull $app
96+
Assert-AreEqual $rgName $app.ResourceGroupName
97+
Assert-AreEqual $appName $app.Name
98+
Assert-AreEqual "Succeeded" $app.ProvisioningState
99+
Assert-AreEqual $envId $app.EnvironmentId
100+
Assert-AreEqual $appTemplate.Image $app.TemplateContainer[0].Image
101+
Assert-AreEqual $appTemplate.ResourceCpu $app.TemplateContainer[0].ResourceCpu
102+
Assert-AreEqual $appTemplate.ResourceMemory $app.TemplateContainer[0].ResourceMemory
103+
Assert-NotNull $app.TemplateContainer[0].Probe
104+
Assert-AreEqual $daprName $app.Configuration.DaprAppId
105+
Assert-AreEqual $appConfig.DaprAppProtocol $app.Configuration.DaprAppProtocol
106+
Assert-AreEqual 3000 $app.Configuration.DaprAppPort
107+
Assert-AreEqual 30 $app.Configuration.DaprHttpReadBufferSize
108+
Assert-AreEqual 100 $app.Configuration.DaprHttpMaxRequestSize
109+
Assert-AreEqual 50 $app.Configuration.MaxInactiveRevision
110+
Assert-AreEqual $appConfig.DaprLogLevel $app.Configuration.DaprLogLevel
111+
Assert-AreEqual $true $app.Configuration.DaprEnabled
112+
Assert-AreEqual $true $app.Configuration.DaprEnableApiLogging
113+
Assert-AreEqual $false $app.Configuration.IngressExternal
114+
Assert-AreEqual $appSecretName $app.Configuration.Secret[0].Name
115+
Assert-Null $app.Configuration.Secret[0].Value
116+
117+
$appConfig.DaprHttpReadBufferSize = 50
118+
$appConfig.DaprHttpMaxRequestSize = 50
119+
$appConfig.DaprEnableApiLogging = $false
120+
121+
Update-AzContainerApp -Name $appName -ResourceGroupName $rgName -Configuration $appConfig -Tag @{ "testtag" = "testval" }
122+
123+
$app = Get-AzContainerApp -ResourceGroupName $rgName -Name $appName
124+
125+
Assert-NotNull $app
126+
Assert-AreEqual $rgName $app.ResourceGroupName
127+
Assert-AreEqual $appName $app.Name
128+
Assert-AreEqual "Succeeded" $app.ProvisioningState
129+
Assert-AreEqual $envId $app.EnvironmentId
130+
Assert-AreEqual $appTemplate.Image $app.TemplateContainer[0].Image
131+
Assert-AreEqual $appTemplate.ResourceCpu $app.TemplateContainer[0].ResourceCpu
132+
Assert-AreEqual $appTemplate.ResourceMemory $app.TemplateContainer[0].ResourceMemory
133+
Assert-NotNull $app.TemplateContainer[0].Probe
134+
Assert-AreEqual $daprName $app.Configuration.DaprAppId
135+
Assert-AreEqual $appConfig.DaprAppProtocol $app.Configuration.DaprAppProtocol
136+
Assert-AreEqual 3000 $app.Configuration.DaprAppPort
137+
Assert-AreEqual 50 $app.Configuration.DaprHttpReadBufferSize
138+
Assert-AreEqual 50 $app.Configuration.DaprHttpMaxRequestSize
139+
Assert-AreEqual 50 $app.Configuration.MaxInactiveRevision
140+
Assert-AreEqual $appConfig.DaprLogLevel $app.Configuration.DaprLogLevel
141+
Assert-AreEqual $true $app.Configuration.DaprEnabled
142+
Assert-AreEqual $false $app.Configuration.DaprEnableApiLogging
143+
Assert-AreEqual $false $app.Configuration.IngressExternal
144+
Assert-AreEqual $appSecretName $app.Configuration.Secret[0].Name
145+
Assert-Null $app.Configuration.Secret[0].Value
146+
Assert-NotNull $app.Tag
147+
Assert-AreEqual 1 $app.Tag.Count
148+
Assert-AreEqual "testval" $app.Tag["testtag"]
46149

150+
Remove-AzContainerApp -ResourceGroupName $rgName -Name $appName
151+
$app = Get-AzContainerApp -ResourceGroupName $rgName -Name $appName -ErrorAction SilentlyContinue
152+
Assert-Null $app
47153
}

src/Functions/LiveTests/Functions.Autorest/TestLiveScenarios.ps1

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ Invoke-LiveTestScenario -Name "Create function app" -Description "Test creating
88
$location = "westus"
99

1010
New-AzStorageAccount -ResourceGroupName $rgName -Name $saName -Location $location -SkuName Standard_LRS
11-
New-AzFunctionApp -ResourceGroupName $rgName -Name $funcAppName -Location $location -FunctionsVersion 4 -StorageAccountName $saName -OSType Windows -Runtime PowerShell -RuntimeVersion 7.2
11+
New-AzFunctionApp -ResourceGroupName $rgName -Name $funcAppName -Location $location -FunctionsVersion 4 -StorageAccountName $saName -OSType Windows -Runtime PowerShell -RuntimeVersion 7.4
1212

1313
$actual = Get-AzFunctionApp -ResourceGroupName $rgName -Name $funcAppName
1414
Assert-NotNull $actual
@@ -29,7 +29,7 @@ Invoke-LiveTestScenario -Name "Update function app" -Description "Test updating
2929
$location = "eastus"
3030

3131
New-AzStorageAccount -ResourceGroupName $rgName -Name $saName -Location $location -SkuName Standard_LRS
32-
$funcApp = New-AzFunctionApp -ResourceGroupName $rgName -Name $funcAppName -Location $location -FunctionsVersion 4 -StorageAccountName $saName -OSType Windows -Runtime PowerShell -RuntimeVersion 7.2
32+
$funcApp = New-AzFunctionApp -ResourceGroupName $rgName -Name $funcAppName -Location $location -FunctionsVersion 4 -StorageAccountName $saName -OSType Windows -Runtime PowerShell -RuntimeVersion 7.4
3333
$funcApp | Update-AzFunctionApp -Tag @{ "key" = "value" } -Force
3434
Update-AzFunctionApp -ResourceGroupName $rgName -Name $funcAppName -IdentityType SystemAssigned -Force
3535

@@ -52,7 +52,7 @@ Invoke-LiveTestScenario -Name "Remove function app" -Description "Test removing
5252
$location = "centralus"
5353

5454
New-AzStorageAccount -ResourceGroupName $rgName -Name $saName -Location $location -SkuName Standard_LRS
55-
New-AzFunctionApp -ResourceGroupName $rgName -Name $funcAppName -Location $location -FunctionsVersion 4 -StorageAccountName $saName -OSType Windows -Runtime PowerShell -RuntimeVersion 7.2
55+
New-AzFunctionApp -ResourceGroupName $rgName -Name $funcAppName -Location $location -FunctionsVersion 4 -StorageAccountName $saName -OSType Windows -Runtime PowerShell -RuntimeVersion 7.4
5656
Remove-AzFunctionApp -ResourceGroupName $rgName -name $funcAppName -Force
5757

5858
$actual = Get-AzFunctionApp -ResourceGroupName $rgName -Name $funcAppName -ErrorAction SilentlyContinue
@@ -69,7 +69,7 @@ Invoke-LiveTestScenario -Name "Operate function app" -Description "Test operatin
6969
$location = "eastus"
7070

7171
New-AzStorageAccount -ResourceGroupName $rgName -Name $saName -Location $location -SkuName Standard_LRS
72-
New-AzFunctionApp -ResourceGroupName $rgName -Name $funcAppName -Location $location -FunctionsVersion 4 -StorageAccountName $saName -OSType Windows -Runtime PowerShell -RuntimeVersion 7.2
72+
New-AzFunctionApp -ResourceGroupName $rgName -Name $funcAppName -Location $location -FunctionsVersion 4 -StorageAccountName $saName -OSType Windows -Runtime PowerShell -RuntimeVersion 7.4
7373

7474
Stop-AzFunctionApp -ResourceGroupName $rgName -Name $funcAppName -Force
7575
$app = Get-AzFunctionApp -ResourceGroupName $rgName -Name $funcAppName

0 commit comments

Comments
 (0)