Exemplo n.º 1
0
        public async Task TestVMDiskSizeScenario()
        {
            EnsureClientsInitialized(DefaultLocation);

            ImageReference imageRef = await GetPlatformVMImage(useWindowsImage : true);

            var image = await VirtualMachineImagesOperations.GetAsync(
                this.m_location, imageRef.Publisher, imageRef.Offer, imageRef.Sku, imageRef.Version);

            Assert.True(image != null);

            // Create resource group
            var            rgName             = Recording.GenerateAssetName(TestPrefix);
            string         storageAccountName = Recording.GenerateAssetName(TestPrefix);
            string         asName             = Recording.GenerateAssetName("as");
            VirtualMachine inputVM;
            var            storageAccountOutput = await CreateStorageAccount(rgName, storageAccountName);

            var returnTwoVM = await CreateVM(rgName, asName, storageAccountOutput, imageRef, (vm) =>
            {
                vm.StorageProfile.OsDisk.DiskSizeGB = 150;
            });

            var vm1 = returnTwoVM.Item1;

            inputVM = returnTwoVM.Item2;
            var getVMResponse = await VirtualMachinesOperations.GetAsync(rgName, inputVM.Name);

            ValidateVM(inputVM, getVMResponse, Helpers.GetVMReferenceId(m_subId, rgName, inputVM.Name));
        }
Exemplo n.º 2
0
        public async Task TestVMImageGet()
        {
            string[] availableWindowsServerImageVersions = (await VirtualMachineImagesOperations.ListAsync(
                                                                DefaultLocation,
                                                                "MicrosoftWindowsServer",
                                                                "WindowsServer",
                                                                "2012-R2-Datacenter")).Value.Select(t => t.Name).ToArray();

            var vmimage = await VirtualMachineImagesOperations.GetAsync(
                DefaultLocation,
                "MicrosoftWindowsServer",
                "WindowsServer",
                "2012-R2-Datacenter",
                availableWindowsServerImageVersions[0]);

            Assert.AreEqual(availableWindowsServerImageVersions[0], vmimage.Value.Name);
            //Assert.AreEqual("southeastasia", vmimage.Value.Location);
            Assert.AreEqual(DefaultLocation, vmimage.Value.Location);

            // FIXME: This doesn't work with a real Windows Server images, which is what's in the query parameters.
            // Bug 4196378

            /*
             * Assert.True(vmimage.VirtualMachineImage.PurchasePlan.Name == "name");
             * Assert.True(vmimage.VirtualMachineImage.PurchasePlan.Publisher == "publisher");
             * Assert.True(vmimage.VirtualMachineImage.PurchasePlan.Product == "product");
             */
            Assert.AreEqual(OperatingSystemTypes.Windows, vmimage.Value.OsDiskImage.OperatingSystem);
            //Assert.True(vmimage.VirtualMachineImage.DataDiskImages.Count(ddi => ddi.Lun == 123456789) != 0);
        }
Exemplo n.º 3
0
        public async Task TestVMImageAutomaticOSUpgradeProperties()
        {
            // Validate if images supporting automatic OS upgrades return
            // AutomaticOSUpgradeProperties.AutomaticOSUpgradeSupported = true in GET VMImageVesion call
            string imagePublisher = "MicrosoftWindowsServer";
            string imageOffer     = "WindowsServer";
            string imageSku       = "2016-Datacenter";

            string[] availableWindowsServerImageVersions = (await VirtualMachineImagesOperations.ListAsync(
                                                                DefaultLocation, imagePublisher, imageOffer, imageSku)).Value.Select(t => t.Name).ToArray();

            string firstVersion = availableWindowsServerImageVersions.First();
            string lastVersion  = null;

            if (availableWindowsServerImageVersions.Length >= 2)
            {
                lastVersion = availableWindowsServerImageVersions.Last();
            }

            var vmimage = await VirtualMachineImagesOperations.GetAsync(
                DefaultLocation, imagePublisher, imageOffer, imageSku, firstVersion);

            Assert.True(vmimage.Value.AutomaticOSUpgradeProperties.AutomaticOSUpgradeSupported);

            if (!string.IsNullOrEmpty(lastVersion))
            {
                vmimage = await VirtualMachineImagesOperations.GetAsync(
                    DefaultLocation, imagePublisher, imageOffer, imageSku, lastVersion);

                Assert.True(vmimage.Value.AutomaticOSUpgradeProperties.AutomaticOSUpgradeSupported);
            }

            // Validate if image not whitelisted to support automatic OS upgrades, return
            // AutomaticOSUpgradeProperties.AutomaticOSUpgradeSupported = false in GET VMImageVesion call
            imagePublisher = "Canonical";
            imageOffer     = "UbuntuServer";
            imageSku       = (await VirtualMachineImagesOperations.ListSkusAsync(DefaultLocation, imagePublisher, imageOffer)).Value.FirstOrDefault().Name;
            string[] availableUbuntuImageVersions = (await VirtualMachineImagesOperations.ListAsync(
                                                         DefaultLocation, imagePublisher, imageOffer, imageSku)).Value.Select(t => t.Name).ToArray();

            firstVersion = availableUbuntuImageVersions.First();
            lastVersion  = null;
            if (availableUbuntuImageVersions.Length >= 2)
            {
                lastVersion = availableUbuntuImageVersions.Last();
            }

            vmimage = await VirtualMachineImagesOperations.GetAsync(
                DefaultLocation, imagePublisher, imageOffer, imageSku, firstVersion);

            Assert.False(vmimage.Value.AutomaticOSUpgradeProperties.AutomaticOSUpgradeSupported);

            if (!string.IsNullOrEmpty(lastVersion))
            {
                vmimage = await VirtualMachineImagesOperations.GetAsync(
                    DefaultLocation, imagePublisher, imageOffer, imageSku, lastVersion);

                Assert.False(vmimage.Value.AutomaticOSUpgradeProperties.AutomaticOSUpgradeSupported);
            }
        }
        public async Task <VirtualMachineImage> GetMarketplaceImage()
        {
            ImageReference imageRef = await FindVMImage(vmmPublisherName, vmmOfferName, vmmSku);

            // Query the image directly in order to get all the properties, including PurchasePlan
            return(await VirtualMachineImagesOperations.GetAsync(m_location, vmmPublisherName, vmmOfferName, vmmSku, imageRef.Version));
        }
Exemplo n.º 5
0
        public async Task TestVMImageListPublishers()
        {
            var publishers = await VirtualMachineImagesOperations.ListPublishersAsync(
                DefaultLocation);

            Assert.True(publishers.Value.Count > 0);
            Assert.True(publishers.Value.Count(pub => pub.Name == "MicrosoftWindowsServer") != 0);
        }
Exemplo n.º 6
0
        public async Task TestVMImageListOffers()
        {
            var offers = await VirtualMachineImagesOperations.ListOffersAsync(
                DefaultLocation,
                "MicrosoftWindowsServer");

            Assert.True(offers.Value.Count > 0);
            Assert.True(offers.Value.Count(offer => offer.Name == "WindowsServer") != 0);
        }
Exemplo n.º 7
0
        public async Task TestVMImageListSkus()
        {
            var skus = await VirtualMachineImagesOperations.ListSkusAsync(
                DefaultLocation,
                "MicrosoftWindowsServer",
                "WindowsServer");

            Assert.True(skus.Value.Count > 0);
            Assert.True(skus.Value.Count(sku => sku.Name == "2012-R2-Datacenter") != 0);
        }
Exemplo n.º 8
0
        public async Task TestVMImageListNoFilter()
        {
            var vmimages = await VirtualMachineImagesOperations.ListAsync(
                DefaultLocation,
                "MicrosoftWindowsServer",
                "WindowsServer",
                "2012-R2-Datacenter");

            Assert.True(vmimages.Value.Count > 0);
            //Assert.True(vmimages.Count(vmi => vmi.Name == AvailableWindowsServerImageVersions[0]) != 0);
            //Assert.True(vmimages.Count(vmi => vmi.Name == AvailableWindowsServerImageVersions[1]) != 0);
        }
Exemplo n.º 9
0
 /// <summary>
 /// Initializes client properties.
 /// </summary>
 private void Initialize()
 {
     AvailabilitySets = new AvailabilitySetsOperations(this);
     VirtualMachineExtensionImages = new VirtualMachineExtensionImagesOperations(this);
     VirtualMachineExtensions      = new VirtualMachineExtensionsOperations(this);
     VirtualMachineImages          = new VirtualMachineImagesOperations(this);
     Usage = new UsageOperations(this);
     VirtualMachineSizes = new VirtualMachineSizesOperations(this);
     Images                    = new ImagesOperations(this);
     VirtualMachines           = new VirtualMachinesOperations(this);
     VirtualMachineScaleSets   = new VirtualMachineScaleSetsOperations(this);
     VirtualMachineScaleSetVMs = new VirtualMachineScaleSetVMsOperations(this);
     Disks          = new DisksOperations(this);
     Snapshots      = new SnapshotsOperations(this);
     BaseUri        = new System.Uri("https://management.azure.com");
     ApiVersion     = "2016-04-30-preview";
     AcceptLanguage = "en-US";
     LongRunningOperationRetryTimeout = 30;
     GenerateClientRequestId          = true;
     SerializationSettings            = new JsonSerializerSettings
     {
         Formatting            = Newtonsoft.Json.Formatting.Indented,
         DateFormatHandling    = Newtonsoft.Json.DateFormatHandling.IsoDateFormat,
         DateTimeZoneHandling  = Newtonsoft.Json.DateTimeZoneHandling.Utc,
         NullValueHandling     = Newtonsoft.Json.NullValueHandling.Ignore,
         ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Serialize,
         ContractResolver      = new ReadOnlyJsonContractResolver(),
         Converters            = new List <JsonConverter>
         {
             new Iso8601TimeSpanConverter()
         }
     };
     SerializationSettings.Converters.Add(new TransformationJsonConverter());
     DeserializationSettings = new JsonSerializerSettings
     {
         DateFormatHandling    = Newtonsoft.Json.DateFormatHandling.IsoDateFormat,
         DateTimeZoneHandling  = Newtonsoft.Json.DateTimeZoneHandling.Utc,
         NullValueHandling     = Newtonsoft.Json.NullValueHandling.Ignore,
         ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Serialize,
         ContractResolver      = new ReadOnlyJsonContractResolver(),
         Converters            = new List <JsonConverter>
         {
             new Iso8601TimeSpanConverter()
         }
     };
     CustomInitialize();
     DeserializationSettings.Converters.Add(new TransformationJsonConverter());
     DeserializationSettings.Converters.Add(new CloudErrorJsonConverter());
 }
Exemplo n.º 10
0
        public async Task TestVMImageListFilters()
        {
            // Filter: top - Negative Test
            var vmimages = await VirtualMachineImagesOperations.ListAsync(
                DefaultLocation,
                "MicrosoftWindowsServer",
                "WindowsServer",
                "2012-R2-Datacenter",
                top : 0);

            Assert.True(vmimages.Value.Count == 0);

            // Filter: top - Positive Test
            vmimages = await VirtualMachineImagesOperations.ListAsync(
                DefaultLocation,
                "MicrosoftWindowsServer",
                "WindowsServer",
                "2012-R2-Datacenter",
                top : 1);

            Assert.True(vmimages.Value.Count == 1);

            // Filter: top - Positive Test
            vmimages = await VirtualMachineImagesOperations.ListAsync(
                DefaultLocation,
                "MicrosoftWindowsServer",
                "WindowsServer",
                "2012-R2-Datacenter",
                top : 2);

            Assert.True(vmimages.Value.Count == 2);

            // Filter: orderby - Positive Test
            vmimages = await VirtualMachineImagesOperations.ListAsync(
                DefaultLocation,
                "MicrosoftWindowsServer",
                "WindowsServer",
                "2012-R2-Datacenter",
                orderby : "name desc");

            // Filter: orderby - Positive Test
            vmimages = await VirtualMachineImagesOperations.ListAsync(
                DefaultLocation,
                "MicrosoftWindowsServer",
                "WindowsServer",
                "2012-R2-Datacenter",
                top : 2,
                orderby : "name asc");

            Assert.True(vmimages.Value.Count == 2);

            // Filter: top orderby - Positive Test
            vmimages = await VirtualMachineImagesOperations.ListAsync(
                DefaultLocation,
                "MicrosoftWindowsServer",
                "WindowsServer",
                "2012-R2-Datacenter",
                top : 1,
                orderby : "name desc");

            Assert.True(vmimages.Value.Count == 1);

            // Filter: top orderby - Positive Test
            vmimages = await VirtualMachineImagesOperations.ListAsync(
                DefaultLocation,
                "MicrosoftWindowsServer",
                "WindowsServer",
                "2012-R2-Datacenter",
                top : 1,
                orderby : "name asc");

            Assert.True(vmimages.Value.Count == 1);
        }