Troubleshooting - Azure/AzureTestDrive GitHub Wiki

Debugging:

  • Debugging the client side code from the browser โ€“ To debug the client side code from the browser, add isDebugging=true to the query string: https://testdrive.azure.com/?isDebugging=true. This will give you the un-minified client-side scripts where you can put breakpoints-in and debug. If you donโ€™t do this, you can still see the un-minified code, by using the map files, but all the variables will be shown as null. This is a defect in the maps (there is nothing we can do about it โ€“as this has to be fixed by the browser vendors).

  • Getting additional in-screen debugging information โ€“ Pressing Ctrl-ALT+d will give you additional debugging info about a lab

  • Getting additional JSON debugging information โ€“ Pressing Ctrl-ALT+e will give show additional information like the version of the page the user is running, and to know the auth provider details for the user which could be used when entering the admin user details in the publishing portal. In the publisher portal the admin info is providerId;tenantId;primaryEmail

Common Errors:

1) Unique Naming

{"error":{"code":"InvalidDomainNameLabel","message":"The domain name label 7ym3km5rjse5i is invalid. It must conform to the following regular expression: ^[a-z][a-z0-9-]{1,61}[a-z0-9]$.","details":[]}}

All the artifacts being used in the ARM template need unique names. Please follow this instruction to fix the problem โ€“ https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-template-functions#uniquestring

The following example shows how to create a unique name for a storage account based on your resource group. Inside the resource group, the name is not unique if constructed the same way.

"resources": [{ "name": "[concat('storage', uniqueString(resourceGroup().id))]", "type": "Microsoft.Storage/storageAccounts",

2) Quota Limits on Azure Subscription

{"error":{"code":"QuotaExceeded","message":"Operation results in exceeding quota limits of Core. Maximum allowed: 10, Current in use: 0, Additional requested: 16."}}

Azure Subscriptions have quotas, please adjust your core usage. See here for more help - https://docs.microsoft.com/en-us/azure/azure-subscription-service-limits

3) Invalid Client Secret

Authentication error: AADSTS70002: Error validating credentials. AADSTS50012: Invalid client secret is provided.

A secret is the Authentication key from the Service Principal, what needs to happen is to simply regenerate your authentication key as it has gone invalid. Follow these docs for more help - https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-create-service-principal-portal

4) SessionId not valid

'The template variable 'sessionId' is not valid: Template language expression property 'tags' doesn't exist, available properties are 'id, name, location, properties'. 

Appropriate coding structure for sessionId looks as follows: { "parameters": { ... "sessionId": { "type": "string", "metadata": { "type": "sessionid" }, "defaultValue": "1e62a73c-49a2-4dfd-80b4-9c3981ebc861" }, ... }, ... }

For a parameter using sessionId you need to specify both parameter type and parameter metadata-type .

Parameter type is used by ARM, and parameter metadata-type tells Test Drive what is the intended usage of this parameter. Test Drive supports for meta-types (baseuri, sessionid, username and password), and automatically populates these parameters. If meta-type is sessionid Test Drive will populates this parameter with a unique session id during deployments, which is a GUID value.

If you want, you can specify defaultValue for any parameter, as it can be useful for template debugging. Test Drive ignores defaultValue if meta-type is specified.

โš ๏ธ **GitHub.com Fallback** โš ๏ธ