With the installation of Azure Stack TP1, Microsoft enables a feature in Azure Stack to check the health of the Azure Stack components. They have called it “Test in Production (TiPTests)”. It’s a PowerShell script that runs on the CLIENTVM and is running tests by deploying resources and testing them on your system. It uses ARM to deploy the resource and test your Storage, Network and Compute resource providers. For example, when you check on the Hyper-V host you might find VMs that are not familiar to you:
Those VMs are in the resource group TipRG_* and when the tests are finished the resources are deleted by the TiPTest script.
The screenshot above shows that this is a test deployment of 2 VMs behind a load balancer and have inbound NAT configured.
So how are these TiP test is executed?
When we log in the CLIENTVM and open task scheduler we see the “AzureStackValidationTask” task scheduled every day at 12:00am . This task starts a PowerShell command: Invoke-AzureStackTiPTest.
So now we solved the mystery of the suddenly appearing VMs in Azure Stack. But what can we as Service Admins do with this TiP Tests and their results?
I opened a PowerShell window and searched for the TiP Cmdlets:
So we can see that we also have a Get-AzureStackTipTestsResult. When I run the command, an Edge page opened up with the results of the TiPTests:
You can click on the time to get a detailed report of the TiPTest:
I have no clue why stuff failed but I can tell from my experience Azure Stack is working fine. Maybe I screwed things up because of the new PowerShell module I installed for enabling PaaS services.
When I run this Command
I got a list of all the test results in PowerShell with the result and description that is performed on the system as well the location for the log file of that specific task:
You can also manually invoke the TiPTest by running this command: Invoke-AzureStackTipTests. You can then even specify what resource you want to test.
To summarize the TiPTest feature: It’s now build in TP1 and I have no clue if this will stay in Azure Stack when it will be GA. In my opinion it is a good mechanism to test the health in each region once we have a full Azure Stack deployment.