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);
                }
            }
        }
示例#3
0
        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);
            }
        }