@@ -42,7 +42,7 @@ param (
4242 [parameter (HelpMessage = " Linux OS sku" )]
4343 [Parameter (ParameterSetName = " default" , Mandatory = $false )]
4444 [Parameter (ParameterSetName = " tenant" , Mandatory = $false )]
45- [string ] $linuxOSSku = " Canonical " ,
45+ [string ] $LinuxOSSku = " 14.04.3-LTS " ,
4646 [parameter (HelpMessage = " Fully qualified domain name of the azure stack environment. Ex: contoso.com" )]
4747 [Parameter (ParameterSetName = " default" , Mandatory = $false )]
4848 [Parameter (ParameterSetName = " tenant" , Mandatory = $false )]
@@ -108,39 +108,9 @@ $kvSecretName = $keyvaultName.ToLowerInvariant() + "secret"
108108$VMAdminUserName = " CanaryAdmin"
109109$VMAdminUserPass = " CanaryAdmin@123"
110110$canaryUtilPath = Join-Path - Path $env: TEMP - ChildPath " CanaryUtilities$ ( (Get-Date ).ToString(" -yyMMdd-hhmmss" )) "
111- $linuxImagePublisher = " $ ( $linuxOSSku ) CanaryPublisher"
112- $linuxImageOffer = " $ ( $linuxOSSku ) CanaryServer"
113-
114- if (-not $EnvironmentDomainFQDN )
115- {
116- $endptres = Invoke-RestMethod " ${AdminArmEndpoint} /metadata/endpoints?api-version=1.0" - ErrorAction Stop
117- $EnvironmentDomainFQDN = $endptres.portalEndpoint
118- $EnvironmentDomainFQDN = $EnvironmentDomainFQDN.Replace ($EnvironmentDomainFQDN.Split (" ." )[0 ], " " ).TrimEnd(" /" ).TrimStart(" ." )
119- }
120-
121- Invoke-Usecase - Name ' UploadLinuxImageToPIR' - Description " Uploads Linux image to the PIR" - UsecaseBlock `
122- {
123- $CanaryCustomImageFolder = Join-Path - Path $env: TMP - childPath " CanaryCustomImage$ ( (Get-Date ).ToString(" -yyMMdd-hhmmss" )) "
124- if (Test-Path - Path $CanaryCustomImageFolder )
125- {
126- Remove-Item - Path $CanaryCustomImageFolder - Force - Recurse
127- }
128- New-Item - Path $CanaryCustomImageFolder - ItemType Directory
129- $CustomVHDPath = CopyImage - ImagePath $LinuxImagePath - OutputFolder $CanaryCustomImageFolder
130- Add-VMImage - publisher $linuxImagePublisher - offer $linuxImageOffer - sku $linuxOSSku - version " 1.0.0" - osDiskLocalPath $CustomVHDPath - osType Linux - tenantID $AADTenantID - azureStackCredentials $ServiceAdminCredentials - CreateGalleryItem $false - ArmEndpoint $AdminArmEndpoint
131- Remove-Item $CanaryCustomImagePath - Recurse
132- }
133-
134- if ($WindowsISOPath )
135- {
136- Invoke-Usecase - Name ' UploadWindows2016ImageToPIR' - Description " Uploads a windows server 2016 image to the PIR" - UsecaseBlock `
137- {
138- if (-not (Get-AzureRmVMImage - Location $ResourceLocation - PublisherName " MicrosoftWindowsServer" - Offer " WindowsServer" - Sku " 2016-Datacenter-Core" - ErrorAction SilentlyContinue))
139- {
140- New-Server2016VMImage - ISOPath $WindowsISOPath - TenantId $AADTenantID - ArmEndpoint $AdminArmEndpoint - Version Core - AzureStackCredentials $ServiceAdminCredentials - CreateGalleryItem $false
141- }
142- }
143- }
111+ $linuxImagePublisher = " Canonical"
112+ $linuxImageOffer = " UbuntuServer"
113+ $linuxImageVersion = " 1.0.0"
144114
145115$runCount = 1
146116while ($runCount -le $NumberOfIterations )
@@ -161,6 +131,13 @@ while ($runCount -le $NumberOfIterations)
161131 $SvcAdminEnvironmentName = $EnvironmentName + " -SVCAdmin"
162132 $TntAdminEnvironmentName = $EnvironmentName + " -Tenant"
163133
134+ if (-not $EnvironmentDomainFQDN )
135+ {
136+ $endptres = Invoke-RestMethod " ${AdminArmEndpoint} /metadata/endpoints?api-version=1.0" - ErrorAction Stop
137+ $EnvironmentDomainFQDN = $endptres.portalEndpoint
138+ $EnvironmentDomainFQDN = $EnvironmentDomainFQDN.Replace ($EnvironmentDomainFQDN.Split (" ." )[0 ], " " ).TrimEnd(" /" ).TrimStart(" ." )
139+ }
140+
164141 Invoke-Usecase - Name ' CreateAdminAzureStackEnv' - Description " Create Azure Stack environment $SvcAdminEnvironmentName " - UsecaseBlock `
165142 {
166143 $asEndpoints = GetAzureStackEndpoints - EnvironmentDomainFQDN $EnvironmentDomainFQDN - ArmEndpoint $AdminArmEndpoint
@@ -178,7 +155,7 @@ while ($runCount -le $NumberOfIterations)
178155
179156 Invoke-Usecase - Name ' LoginToAzureStackEnvAsSvcAdmin' - Description " Login to $SvcAdminEnvironmentName as service administrator" - UsecaseBlock `
180157 {
181- Add-AzureRmAccount - EnvironmentName $SvcAdminEnvironmentName - Credential $ServiceAdminCredentials - TenantId $AADTenantID - ErrorAction Stop
158+ Add-AzureRmAccount - EnvironmentName $SvcAdminEnvironmentName - Credential $ServiceAdminCredentials - TenantId $TenantID - ErrorAction Stop
182159 }
183160
184161 Invoke-Usecase - Name ' SelectDefaultProviderSubscription' - Description " Select the Default Provider Subscription" - UsecaseBlock `
@@ -188,8 +165,35 @@ while ($runCount -le $NumberOfIterations)
188165 {
189166 $defaultSubscription | Select-AzureRmSubscription
190167 }
191- }
192-
168+ }
169+
170+ if ($WindowsISOPath )
171+ {
172+ Invoke-Usecase - Name ' UploadWindows2016ImageToPIR' - Description " Uploads a windows server 2016 image to the PIR" - UsecaseBlock `
173+ {
174+ if (-not (Get-AzureRmVMImage - Location $ResourceLocation - PublisherName " MicrosoftWindowsServer" - Offer " WindowsServer" - Sku " 2016-Datacenter-Core" - ErrorAction SilentlyContinue))
175+ {
176+ New-Server2016VMImage - ISOPath $WindowsISOPath - TenantId $TenantID - ArmEndpoint $AdminArmEndpoint - Version Core - AzureStackCredentials $ServiceAdminCredentials - CreateGalleryItem $false
177+ }
178+ }
179+ }
180+
181+ Invoke-Usecase - Name ' UploadLinuxImageToPIR' - Description " Uploads Linux image to the PIR" - UsecaseBlock `
182+ {
183+ if (-not (Get-AzureRmVMImage - Location $ResourceLocation - PublisherName $linuxImagePublisher - Offer $linuxImageOffer - Sku $LinuxOSSku - ErrorAction SilentlyContinue))
184+ {
185+ $CanaryCustomImageFolder = Join-Path - Path $env: TMP - childPath " CanaryCustomImage$ ( (Get-Date ).ToString(" -yyMMdd-hhmmss" )) "
186+ if (Test-Path - Path $CanaryCustomImageFolder )
187+ {
188+ Remove-Item - Path $CanaryCustomImageFolder - Force - Recurse
189+ }
190+ New-Item - Path $CanaryCustomImageFolder - ItemType Directory
191+ $CustomVHDPath = CopyImage - ImagePath $LinuxImagePath - OutputFolder $CanaryCustomImageFolder
192+ Add-VMImage - publisher $linuxImagePublisher - offer $linuxImageOffer - sku $LinuxOSSku - version $linuxImageVersion - osDiskLocalPath $CustomVHDPath - osType Linux - tenantID $TenantID - azureStackCredentials $ServiceAdminCredentials - CreateGalleryItem $false - ArmEndpoint $AdminArmEndpoint
193+ Remove-Item $CanaryCustomImageFolder - Recurse
194+ }
195+ }
196+
193197 if ($TenantAdminCredentials )
194198 {
195199 $subscriptionRGName = " ascansubscrrg" + [Random ]::new().Next(1 , 999 )
@@ -228,9 +232,9 @@ while ($runCount -le $NumberOfIterations)
228232
229233 Invoke-Usecase - Name ' CreateTenantPlan' - Description " Create a tenant plan" - UsecaseBlock `
230234 {
231- $asToken = NewAzureStackToken - AADTenantId $AADTenantId - EnvironmentDomainFQDN $EnvironmentDomainFQDN - Credentials $ServiceAdminCredentials - ArmEndPoint $AdminArmEndpoint
235+ $asToken = NewAzureStackToken - AADTenantId $TenantID - EnvironmentDomainFQDN $EnvironmentDomainFQDN - Credentials $ServiceAdminCredentials - ArmEndPoint $AdminArmEndpoint
232236 $defaultSubscription = Get-AzureRmSubscription - SubscriptionName " Default Provider Subscription" - ErrorAction Stop
233- $asCanaryQuotas = NewAzureStackDefaultQuotas - ResourceLocation $ResourceLocation - SubscriptionId $defaultSubscription.SubscriptionId - AADTenantID $AADTenantID - EnvironmentDomainFQDN $EnvironmentDomainFQDN - Credentials $ServiceAdminCredentials - ArmEndPoint $AdminArmEndPoint
237+ $asCanaryQuotas = NewAzureStackDefaultQuotas - ResourceLocation $ResourceLocation - SubscriptionId $defaultSubscription.SubscriptionId - AADTenantID $TenantID - EnvironmentDomainFQDN $EnvironmentDomainFQDN - Credentials $ServiceAdminCredentials - ArmEndPoint $AdminArmEndPoint
234238 New-AzureRMPlan - Name $tenantPlanName - DisplayName $tenantPlanName - ArmLocation $ResourceLocation - ResourceGroup $subscriptionRGName - QuotaIds $asCanaryQuotas - ErrorAction Stop
235239
236240 }
@@ -255,7 +259,7 @@ while ($runCount -le $NumberOfIterations)
255259
256260 Invoke-Usecase - Name ' LoginToAzureStackEnvAsTenantAdmin' - Description " Login to $TntAdminEnvironmentName as tenant administrator" - UsecaseBlock `
257261 {
258- Add-AzureRmAccount - EnvironmentName $TntAdminEnvironmentName - Credential $TenantAdminCredentials - TenantId $AADTenantID - ErrorAction Stop
262+ Add-AzureRmAccount - EnvironmentName $TntAdminEnvironmentName - Credential $TenantAdminCredentials - TenantId $TenantID - ErrorAction Stop
259263 }
260264
261265 Invoke-Usecase - Name ' CreateTenantSubscription' - Description " Create a subcsription for the tenant and select it as the current subscription" - UsecaseBlock `
@@ -437,7 +441,7 @@ while ($runCount -le $NumberOfIterations)
437441 " secretUrlWithVersion" = $kvSecretId ;
438442 " LinuxImagePublisher" = $linuxImagePublisher ;
439443 " LinuxImageOffer" = $linuxImageOffer ;
440- " LinuxImageSku" = $linuxOSSku }
444+ " LinuxImageSku" = $LinuxOSSku }
441445 $templateError = Test-AzureRmResourceGroupDeployment - ResourceGroupName $CanaryVMRG - TemplateFile .\azuredeploy.json - TemplateParameterObject $parameters
442446 if (-not $templateError )
443447 {
@@ -725,7 +729,7 @@ while ($runCount -le $NumberOfIterations)
725729
726730 Invoke-Usecase - Name ' LoginToAzureStackEnvAsSvcAdminForCleanup' - Description " Login to $SvcAdminEnvironmentName as service administrator to remove the subscription resource group" - UsecaseBlock `
727731 {
728- Add-AzureRmAccount - EnvironmentName $SvcAdminEnvironmentName - Credential $ServiceAdminCredentials - TenantId $AADTenantID - ErrorAction Stop
732+ Add-AzureRmAccount - EnvironmentName $SvcAdminEnvironmentName - Credential $ServiceAdminCredentials - TenantId $TenantID - ErrorAction Stop
729733 }
730734
731735 Invoke-Usecase - Name ' DeleteSubscriptionResourceGroup' - Description " Delete the resource group that contains subscription resources" - UsecaseBlock `
0 commit comments