public void TestVMManagedBootDiagnostics() { using (MockContext context = MockContext.Start(this.GetType())) { EnsureClientsInitialized(context); ImageReference imageReference = GetPlatformVMImage(useWindowsImage: true); string resourceGroupName = TestUtilities.GenerateName(TestPrefix); string storageAccountForDisksName = TestUtilities.GenerateName(TestPrefix); string availabilitySetName = TestUtilities.GenerateName(TestPrefix); try { StorageAccount storageAccountForDisks = CreateStorageAccount(resourceGroupName, storageAccountForDisksName); VirtualMachine inputVM; CreateVM(resourceGroupName, availabilitySetName, storageAccountForDisks, imageReference, out inputVM, (vm) => { vm.DiagnosticsProfile = GetManagedDiagnosticsProfile(); }, hasManagedDisks: true); VirtualMachine getVMWithInstanceViewResponse = m_CrpClient.VirtualMachines.Get(resourceGroupName, inputVM.Name, InstanceViewTypes.InstanceView); ValidateVMInstanceView(inputVM, getVMWithInstanceViewResponse, hasManagedDisks: true); ValidateBootDiagnosticsInstanceView(getVMWithInstanceViewResponse.InstanceView.BootDiagnostics, hasError: false, enabledWithManagedBootDiagnostics: true); RetrieveBootDiagnosticsDataResult bootDiagnosticsData = m_CrpClient.VirtualMachines.RetrieveBootDiagnosticsData(resourceGroupName, inputVM.Name); ValidateBootDiagnosticsData(bootDiagnosticsData); } finally { m_ResourcesClient.ResourceGroups.Delete(resourceGroupName); } } }
public void TestVMBootDiagnostics() { using (MockContext context = MockContext.Start(this.GetType())) { EnsureClientsInitialized(context); ImageReference imageReference = GetPlatformVMImage(useWindowsImage: true); string resourceGroupName = TestUtilities.GenerateName(TestPrefix); string storageAccountForDisksName = TestUtilities.GenerateName(TestPrefix); string storageAccountForBootDiagnosticsName = TestUtilities.GenerateName(TestPrefix); string availabilitySetName = TestUtilities.GenerateName(TestPrefix); try { StorageAccount storageAccountForDisks = CreateStorageAccount(resourceGroupName, storageAccountForDisksName); StorageAccount storageAccountForBootDiagnostics = CreateStorageAccount(resourceGroupName, storageAccountForBootDiagnosticsName); VirtualMachine inputVM; CreateVM(resourceGroupName, availabilitySetName, storageAccountForDisks, imageReference, out inputVM, (vm) => { vm.DiagnosticsProfile = GetDiagnosticsProfile(storageAccountForBootDiagnosticsName); }); VirtualMachine getVMWithInstanceViewResponse = m_CrpClient.VirtualMachines.Get(resourceGroupName, inputVM.Name, InstanceViewTypes.InstanceView); ValidateVMInstanceView(inputVM, getVMWithInstanceViewResponse); ValidateBootDiagnosticsInstanceView(getVMWithInstanceViewResponse.InstanceView.BootDiagnostics, hasError: false); RetrieveBootDiagnosticsDataResult bootDiagnosticsData = m_CrpClient.VirtualMachines.RetrieveBootDiagnosticsData(resourceGroupName, inputVM.Name); ValidateBootDiagnosticsData(bootDiagnosticsData); // Make boot diagnostics encounter an error due to a missing boot diagnostics storage account m_CrpClient.VirtualMachines.Deallocate(resourceGroupName, inputVM.Name); m_SrpClient.StorageAccounts.DeleteWithHttpMessagesAsync(resourceGroupName, storageAccountForBootDiagnosticsName).GetAwaiter().GetResult(); m_CrpClient.VirtualMachines.Start(resourceGroupName, inputVM.Name); getVMWithInstanceViewResponse = m_CrpClient.VirtualMachines.Get(resourceGroupName, inputVM.Name, InstanceViewTypes.InstanceView); ValidateBootDiagnosticsInstanceView(getVMWithInstanceViewResponse.InstanceView.BootDiagnostics, hasError: true); } finally { m_ResourcesClient.ResourceGroups.Delete(resourceGroupName); } } }
public void TestVMScaleSetVMOperations_ManagedBootDiagnostics() { using (MockContext context = MockContext.Start(this.GetType())) { string originalTestLocation = Environment.GetEnvironmentVariable("AZURE_VM_TEST_LOCATION"); instanceId = "0"; bool passed = false; try { Environment.SetEnvironmentVariable("AZURE_VM_TEST_LOCATION", "eastus2euap"); InitializeCommon(context); var storageAccountOutput = CreateStorageAccount(rgName, storageAccountName); VirtualMachineScaleSet vmScaleSet = CreateVMScaleSet_NoAsyncTracking(rgName, vmssName, storageAccountOutput, imageRef, out inputVMScaleSet, createWithManagedDisks: true, faultDomainCount: 1, bootDiagnosticsProfile: GetManagedDiagnosticsProfile()); var getInstanceViewResponse = m_CrpClient.VirtualMachineScaleSetVMs.GetInstanceView(rgName, vmScaleSet.Name, instanceId); ValidateBootDiagnosticsInstanceView(getInstanceViewResponse.BootDiagnostics, hasError: false, enabledWithManagedBootDiagnostics: true); RetrieveBootDiagnosticsDataResult bootDiagnosticsData = m_CrpClient.VirtualMachineScaleSetVMs.RetrieveBootDiagnosticsData(rgName, vmScaleSet.Name, instanceId); ValidateBootDiagnosticsData(bootDiagnosticsData); passed = true; } finally { Environment.SetEnvironmentVariable("AZURE_VM_TEST_LOCATION", originalTestLocation); // Cleanup the created resources. But don't wait since it takes too long, and it's not the purpose // of the test to cover deletion. CSM does persistent retrying over all RG resources. m_ResourcesClient.ResourceGroups.DeleteIfExists(rgName); } Assert.True(passed); } }