I had an issue with the WebSite Gallery in my Windows Azure Pack installation. When I opened the Website Gallery I had this issue:
So to check why the service didn’t work I looked into the debug log of MgmtSvc-WebAppGallery. I saw this event:
To be sure that the web service Web App Gallery worked, I opened the database to verify if items was added to Marketplaceitems table.
Moreover, in the MgmtSvc-WebAppGallery debug log, I saw these events:
At this point, I knew that WebAppGallery web service fetched items from Internet to the marketplace database. So it was not a connectivity problem (proxy etc.). To explain you the mistake, I have to describe my Windows Azure Pack installation:
Below my endpoint dns addresses:
DNS entry |
Domain |
Role |
Admin |
Home.net |
Management portal for admins |
auth |
Home.net |
AD FS |
aapi |
Home.net |
Admin API |
tapi |
Home.net |
Tenant API |
www |
Dmzhome.net |
Management portal for tenants |
auth |
Dmzhome.net |
Tenant authentication site |
api |
Dmzhome.net |
Public Tenant API |
So to connect to the WebAppGallery service installed on my privilege servers, the tenant portal uses aapi.home.net:30018 endpoint. I have reconfigured my resource provider with the below script:
Import-Module MgmtSvcAdmin ## Environment settings # SQL Server AlwaysOn DNS Listener containing the Windows Azure Pack databases $server="SQLAAG02.home.net" # Admin Authentication Site $WinAuthSiteLB = "auth.home.net" $WinAuthSitePort = "443" # Admin API $AdminApiLB ="aapi.home.net" $AdminApiPort = "443" $adminApiUri = "https://${AdminApiLB}:$AdminApiPort" $windowsAuthSite = "https://${WinAuthSiteLB}:$WinAuthSitePort" # credentials for performing actions $password = ConvertTo-SecureString "password" -AsPlainText -Force $credential = New-Object System.Management.Automation.PSCredential ("home\rserre",$password) $token = Get-MgmtSvcToken -Type Windows -AuthenticationSite $windowsAuthSite -ClientRealm "https://azureservices/AdminSite" -User $credential -DisableCertificateValidation # Get a list of resource providers with the current configured endpoint values $rp = Get-MgmtSvcResourceProvider -IncludeSystemResourceProviders -AdminUri $adminApiUri -Token $token -DisableCertificateValidation $rp | Select Name, @{e={$_.AdminEndPoint.ForwardingAddress}}, @{e={$_.TenantEndpoint.ForwardingAddress}} # new fqdn for resource provider marketplace $resourceProviderName = "marketplace" $adminEndpoint = "https://${AdminApiLB}:30018/" $tenantEndpoint = "https://${AdminApiLB}:30018/" $usageEndpoint = $null $healthCheckEndpoint = $null $notificationEndpoint = $null $rp = Get-MgmtSvcResourceProvider -Name $resourceProviderName -IncludeSystemResourceProviders -AdminUri $adminApiUri -Token $token -DisableCertificateValidation if ($rp.AdminEndpoint -and $adminEndpoint) { # update endpoint $rp.AdminEndpoint.ForwardingAddress = New-Object System.Uri($adminEndpoint) } if ($rp.TenantEndpoint -and $tenantEndpoint) { # update endpoint $rp.TenantEndpoint.ForwardingAddress = New-Object System.Uri($tenantEndpoint) } if ($rp.UsageEndpoint -and $usageEndpoint) { # update endpoint $rp.TenantEndpoint.ForwardingAddress = New-Object System.Uri($usageEndpoint) } if ($rp.HealthCheckEndpoint -and $healthCheckEndpoint) { # update endpoint $rp.TenantEndpoint.ForwardingAddress = New-Object System.Uri($healthCheckEndpoint) } if ($rp.NotificationEndpoint -and $notificationEndpoint) { # update endpoint $rp.TenantEndpoint.ForwardingAddress = New-Object System.Uri($notificationEndpoint) } Set-MgmtSvcResourceProvider -ResourceProvider $rp -AdminUri $adminApiUri -Token $token -DisableCertificateValidation –Force
Below the resource provider endpoints after the reconfiguration run with this script:
And it is ….. wrong. The WAP team configured me that the tenant endpoint forwarding address for the marketplace must be https://<URL>:<PORT>/subscriptions.
So I run again the above script with these settings:
# new fqdn for resource provider marketplace $resourceProviderName = "marketplace" $adminEndpoint = "https://${AdminApiLB}:30018/" $tenantEndpoint = "https://${AdminApiLB}:30018/subscriptions" $usageEndpoint = $null $healthCheckEndpoint = $null $notificationEndpoint = $null
Below the result after that the script was run:
End Taaadaaaa my Website Gallery works:
So don’t forget to add the /subscriptions URI in the tenant endpoint forwarding address when you reconfigure your resource providersJ.