public async Task TestVMScaleSetBatchOperations_PerformMaintenance() { string rgName = Recording.GenerateAssetName(TestPrefix) + 1; string vmssName = Recording.GenerateAssetName("vmss"); string storageAccountName = Recording.GenerateAssetName(TestPrefix); VirtualMachineScaleSet inputVMScaleSet; VirtualMachineScaleSet vmScaleSet = null; bool passed = false; try { EnsureClientsInitialized(LocationEastUs2UpperCase); ImageReference imageRef = await GetPlatformVMImage(useWindowsImage : true); StorageAccount storageAccountOutput = await CreateStorageAccount(rgName, storageAccountName); var getTwoVirtualMachineScaleSet = await CreateVMScaleSet_NoAsyncTracking(rgName, vmssName, storageAccountOutput, imageRef, createWithManagedDisks : true, vmScaleSetCustomizer : virtualMachineScaleSet => virtualMachineScaleSet.UpgradePolicy = new UpgradePolicy { Mode = UpgradeMode.Manual }); vmScaleSet = getTwoVirtualMachineScaleSet.Item1; inputVMScaleSet = getTwoVirtualMachineScaleSet.Item2; List <string> virtualMachineScaleSetInstanceIDs = new List <string> { "0", "1" }; var virtualMachineScaleSetInstanceID = new VirtualMachineScaleSetVMInstanceIDs(new List <string>() { "0", "1" }); await WaitForCompletionAsync(await VirtualMachineScaleSetsOperations.StartPerformMaintenanceAsync(rgName, vmScaleSet.Name, virtualMachineScaleSetInstanceID)); passed = true; } catch (Exception cex) { passed = true; string expectedMessage = $"Operation 'performMaintenance' is not allowed on VM '{vmScaleSet.Name}_0' " + "since the Subscription of this VM is not eligible."; Assert.IsTrue(cex.Message.Contains(expectedMessage)); } Assert.True(passed); }
public async Task TestVMScaleSetBatchOperations_Redeploy() { string rgName = Recording.GenerateAssetName(TestPrefix) + 1; string vmssName = Recording.GenerateAssetName("vmss"); string storageAccountName = Recording.GenerateAssetName(TestPrefix); VirtualMachineScaleSet inputVMScaleSet; bool passed = false; EnsureClientsInitialized(LocationEastUs2UpperCase); ImageReference imageRef = await GetPlatformVMImage(useWindowsImage : true); StorageAccount storageAccountOutput = await CreateStorageAccount(rgName, storageAccountName); var getTwoVirtualMachineScaleSet = await CreateVMScaleSet_NoAsyncTracking(rgName, vmssName, storageAccountOutput, imageRef, createWithManagedDisks : true, vmScaleSetCustomizer : virtualMachineScaleSet => virtualMachineScaleSet.UpgradePolicy = new UpgradePolicy { Mode = UpgradeMode.Manual }); VirtualMachineScaleSet vmScaleSet = getTwoVirtualMachineScaleSet.Item1; inputVMScaleSet = getTwoVirtualMachineScaleSet.Item2; List <string> virtualMachineScaleSetInstanceIDs = new List <string> { "0", "1" }; var virtualMachineScaleSetInstanceID = new VirtualMachineScaleSetVMInstanceIDs(new List <string>() { "0", "1" }); await WaitForCompletionAsync(await VirtualMachineScaleSetsOperations.StartRedeployAsync(rgName, vmScaleSet.Name, virtualMachineScaleSetInstanceID)); passed = true; Assert.True(passed); }
public async Task TestVMScaleSetBatchOperations() { EnsureClientsInitialized(DefaultLocation); ImageReference imageRef = await GetPlatformVMImage(useWindowsImage : true); // Create resource group string rgName = Recording.GenerateAssetName(TestPrefix) + 1; var vmssName = Recording.GenerateAssetName("vmss"); string storageAccountName = Recording.GenerateAssetName(TestPrefix); VirtualMachineScaleSet inputVMScaleSet; bool passed = false; var storageAccountOutput = await CreateStorageAccount(rgName, storageAccountName); var getTwoVirtualMachineScaleSet = await CreateVMScaleSet_NoAsyncTracking( rgName : rgName, vmssName : vmssName, storageAccount : storageAccountOutput, imageRef : imageRef, createWithManagedDisks : true, vmScaleSetCustomizer : (virtualMachineScaleSet) => virtualMachineScaleSet.UpgradePolicy = new UpgradePolicy { Mode = UpgradeMode.Manual } ); VirtualMachineScaleSet vmScaleSet = getTwoVirtualMachineScaleSet.Item1; inputVMScaleSet = getTwoVirtualMachineScaleSet.Item2; var virtualMachineScaleSetInstanceIDs = new VirtualMachineScaleSetVMInstanceIDs(new List <string>() { "0", "1" }); var virtualMachineScaleSetInstanceID = new List <string>() { "0", "1" }; var virtualMachineScaleSetRequ = new VirtualMachineScaleSetVMInstanceRequiredIDs(new List <string>() { "0", "1" }); await WaitForCompletionAsync(await VirtualMachineScaleSetsOperations.StartStartAsync(rgName, vmScaleSet.Name, virtualMachineScaleSetInstanceIDs)); virtualMachineScaleSetInstanceIDs = new VirtualMachineScaleSetVMInstanceIDs(new List <string>() { "0" }); VirtualMachineScaleSetReimageParameters virtualMachineScaleSetReimageParameters = new VirtualMachineScaleSetReimageParameters { InstanceIds = virtualMachineScaleSetInstanceID }; await WaitForCompletionAsync(await VirtualMachineScaleSetsOperations.StartReimageAsync(rgName, vmScaleSet.Name, virtualMachineScaleSetReimageParameters)); await WaitForCompletionAsync(await VirtualMachineScaleSetsOperations.StartReimageAllAsync(rgName, vmScaleSet.Name, virtualMachineScaleSetInstanceIDs)); await WaitForCompletionAsync(await VirtualMachineScaleSetsOperations.StartPowerOffAsync(rgName, vmScaleSet.Name, null, virtualMachineScaleSetInstanceIDs)); await WaitForCompletionAsync(await VirtualMachineScaleSetsOperations.StartUpdateInstancesAsync(rgName, vmScaleSet.Name, virtualMachineScaleSetRequ)); virtualMachineScaleSetInstanceID = new List <string>() { "1" }; await WaitForCompletionAsync(await VirtualMachineScaleSetsOperations.StartRestartAsync(rgName, vmScaleSet.Name, virtualMachineScaleSetInstanceIDs)); await WaitForCompletionAsync(await VirtualMachineScaleSetsOperations.StartDeallocateAsync(rgName, vmScaleSet.Name, virtualMachineScaleSetInstanceIDs)); await WaitForCompletionAsync(await VirtualMachineScaleSetsOperations.StartDeleteInstancesAsync(rgName, vmScaleSet.Name, virtualMachineScaleSetRequ)); passed = true; Assert.True(passed); }