@@ -166,16 +166,16 @@ function Test-CreateClusterWithPrivateLink{
166
166
167
167
<#
168
168
. SYNOPSIS
169
- Test Create Azure HDInsight Cluster which Enalbes Encryption At Host
169
+ Test Create Azure HDInsight Cluster which enalbes Encryption At Host
170
170
#>
171
171
172
- function Test-TestCreateClusterWithEncryptionAtHost {
172
+ function Test-CreateClusterWithEncryptionAtHost {
173
173
174
174
# Create some resources that will be used throughout test
175
175
try
176
176
{
177
177
# prepare parameter for creating parameter
178
- $params = Prepare- ClusterCreateParameterForWASB - Location " South Central US"
178
+ $params = Prepare- ClusterCreateParameterForWASB - location " South Central US"
179
179
$encryptionAtHost = $true
180
180
$workerNodeSize = " Standard_DS14_v2"
181
181
$headNodeSize = " Standard_DS14_v2"
@@ -199,3 +199,81 @@ function Test-TestCreateClusterWithEncryptionAtHost{
199
199
Remove-AzResourceGroup - ResourceGroupName $cluster.ResourceGroup
200
200
}
201
201
}
202
+
203
+ <#
204
+ . SYNOPSIS
205
+ Test Create Azure HDInsight Cluster with Load-based autoscale
206
+ #>
207
+
208
+ function Test-CreateClusterWithLoadBasedAutoscale {
209
+
210
+ # Create some resources that will be used throughout test
211
+ try
212
+ {
213
+ # prepare parameter for creating parameter
214
+ $params = Prepare- ClusterCreateParameterForWASB - location " East US"
215
+
216
+ # create autoscale cofiguration
217
+ $autoscaleConfiguration = New-AzHDInsightClusterAutoscaleConfiguration - MinWorkerNodeCount 4 - MaxWorkerNodeCount 5
218
+
219
+ # create cluster with load-based autoscale
220
+ $cluster = New-AzHDInsightCluster - Location $params.location - ResourceGroupName $params.resourceGroupName `
221
+ - ClusterName $params.clusterName - ClusterSizeInNodes $params.clusterSizeInNodes - ClusterType $params.clusterType `
222
+ - DefaultStorageAccountName $params.storageAccountName - DefaultStorageAccountKey $params.storageAccountKey `
223
+ - HttpCredential $params.httpCredential - SshCredential $params.sshCredential `
224
+ - MinSupportedTlsVersion $params.minSupportedTlsVersion - Version 4.0 `
225
+ - AutoscaleConfiguration $autoscaleConfiguration
226
+
227
+ Assert-NotNull $cluster
228
+ Assert-AreEqual $cluster.ComputeProfile.Roles [1 ].AutoscaleConfiguration.Capacity.MinInstanceCount 4
229
+ Assert-AreEqual $cluster.ComputeProfile.Roles [1 ].AutoscaleConfiguration.Capacity.MaxInstanceCount 5
230
+ }
231
+ finally
232
+ {
233
+ # Delete cluster and resource group
234
+ Remove-AzHDInsightCluster - ClusterName $cluster.Name
235
+ Remove-AzResourceGroup - ResourceGroupName $cluster.ResourceGroup
236
+ }
237
+ }
238
+
239
+ <#
240
+ . SYNOPSIS
241
+ Test Create Azure HDInsight Cluster with Schedule-based autoscale
242
+ #>
243
+
244
+ function Test-CreateClusterWithScheduleBasedAutoscale {
245
+
246
+ # Create some resources that will be used throughout test
247
+ try
248
+ {
249
+ # prepare parameter for creating parameter
250
+ $params = Prepare- ClusterCreateParameterForWASB - location " East US"
251
+
252
+ # create autoscale schedule condition
253
+ $condition1 = New-AzHDInsightClusterAutoscaleScheduleCondition - Time " 09:00" - WorkerNodeCount 4 - Day Monday, Tuesday
254
+ $condition2 = New-AzHDInsightClusterAutoscaleScheduleCondition - Time " 08:00" - WorkerNodeCount 5 - Day Friday
255
+
256
+ # create autoscale configuration
257
+ $autoscaleConfiguration = New-AzHDInsightClusterAutoscaleConfiguration - TimeZone ([System.TimeZoneInfo ]::Local).Id `
258
+ - Condition $condition1 , $condition2
259
+
260
+ # create cluster with schedule-based autoscale
261
+ $cluster = New-AzHDInsightCluster - Location $params.location - ResourceGroupName $params.resourceGroupName `
262
+ - ClusterName $params.clusterName - ClusterSizeInNodes $params.clusterSizeInNodes - ClusterType $params.clusterType `
263
+ - DefaultStorageAccountName $params.storageAccountName - DefaultStorageAccountKey $params.storageAccountKey `
264
+ - HttpCredential $params.httpCredential - SshCredential $params.sshCredential `
265
+ - MinSupportedTlsVersion $params.minSupportedTlsVersion - Version 4.0 `
266
+ - AutoscaleConfiguration $autoscaleConfiguration
267
+
268
+ Assert-NotNull $cluster
269
+ Assert-NotNull $cluster.ComputeProfile.Roles [1 ].AutoscaleConfiguration.Recurrence
270
+ Assert-AreEqual $cluster.ComputeProfile.Roles [1 ].AutoscaleConfiguration.Recurrence.Condition[0 ].WorkerNodeCount $condition1.WorkerNodeCount
271
+ Assert-AreEqual $cluster.ComputeProfile.Roles [1 ].AutoscaleConfiguration.Recurrence.Condition[1 ].WorkerNodeCount $condition2.WorkerNodeCount
272
+ }
273
+ finally
274
+ {
275
+ # Delete cluster and resource group
276
+ Remove-AzHDInsightCluster - ClusterName $cluster.Name
277
+ Remove-AzResourceGroup - ResourceGroupName $cluster.ResourceGroup
278
+ }
279
+ }
0 commit comments