Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -119,8 +119,13 @@ public void TestVMScaleSetWithDnsSettings()
Assert.NotNull(vmss.VirtualMachineProfile.NetworkProfile.NetworkInterfaceConfigurations[0].DnsSettings);
Assert.NotNull(vmss.VirtualMachineProfile.NetworkProfile.NetworkInterfaceConfigurations[0].DnsSettings.DnsServers);
Assert.Equal(2, vmss.VirtualMachineProfile.NetworkProfile.NetworkInterfaceConfigurations[0].DnsSettings.DnsServers.Count);
#if NET46
Assert.True(vmss.VirtualMachineProfile.NetworkProfile.NetworkInterfaceConfigurations[0].DnsSettings.DnsServers.Any(ip => string.Equals("10.0.0.5", ip)));
Assert.True(vmss.VirtualMachineProfile.NetworkProfile.NetworkInterfaceConfigurations[0].DnsSettings.DnsServers.Any(ip => string.Equals("10.0.0.6", ip)));
#else
Assert.Contains(vmss.VirtualMachineProfile.NetworkProfile.NetworkInterfaceConfigurations[0].DnsSettings.DnsServers, ip => string.Equals("10.0.0.5", ip));
Assert.Contains(vmss.VirtualMachineProfile.NetworkProfile.NetworkInterfaceConfigurations[0].DnsSettings.DnsServers, ip => string.Equals("10.0.0.6", ip));
#endif
passed = true;
}
finally
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,29 @@ public void TestVMScaleSetScenarioOperations_ManagedDisks_PirImage()
}

/// <summary>
/// To record this test case, you need to run it again zone supported regions like eastus2.
/// To record this test case, you need to run it again zone supported regions like eastus2euap.
/// </summary>
[Fact]
[Trait("Name", "TestVMScaleSetScenarioOperations_ManagedDisks_PirImage_SingleZone")]
public void TestVMScaleSetScenarioOperations_ManagedDisks_PirImage_SingleZone()
{
string originalTestLocation = Environment.GetEnvironmentVariable("AZURE_VM_TEST_LOCATION");
try
{
Environment.SetEnvironmentVariable("AZURE_VM_TEST_LOCATION", "eastus2euap");
using (MockContext context = MockContext.Start(this.GetType().FullName))
{
TestScaleSetOperationsInternal(context, hasManagedDisks: true, useVmssExtension: false, zones: new List<string> { "1" });
}
}
finally
{
Environment.SetEnvironmentVariable("AZURE_VM_TEST_LOCATION", originalTestLocation);
}
}

/// <summary>
/// To record this test case, you need to run it again zone supported regions like eastus2euap.
/// </summary>
[Fact]
[Trait("Name", "TestVMScaleSetScenarioOperations_ManagedDisks_PirImage_Zones")]
Expand All @@ -70,11 +92,10 @@ public void TestVMScaleSetScenarioOperations_ManagedDisks_PirImage_Zones()
string originalTestLocation = Environment.GetEnvironmentVariable("AZURE_VM_TEST_LOCATION");
try
{
Environment.SetEnvironmentVariable("AZURE_VM_TEST_LOCATION", "eastus2");
Environment.SetEnvironmentVariable("AZURE_VM_TEST_LOCATION", "eastus2euap");
using (MockContext context = MockContext.Start(this.GetType().FullName))
{

TestScaleSetOperationsInternal(context, hasManagedDisks: true, useVmssExtension: false, zones: new List<string> { "1" });
TestScaleSetOperationsInternal(context, hasManagedDisks: true, useVmssExtension: false, zones: new List<string> { "1", "3" });
}
}
finally
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -498,6 +498,41 @@ VirtualMachineScaleSetDataDisk matchingDataDisk
{
Assert.True((vmScaleSetOut.VirtualMachineProfile.NetworkProfile == null) || (vmScaleSetOut.VirtualMachineProfile.NetworkProfile.NetworkInterfaceConfigurations.Count == 0));
}

if(vmScaleSet.Zones != null)
{
Assert.True(vmScaleSet.Zones.SequenceEqual(vmScaleSetOut.Zones), "Zones don't match");
if(vmScaleSet.ZoneBalance.HasValue)
{
Assert.Equal(vmScaleSet.ZoneBalance, vmScaleSetOut.ZoneBalance);
}
else
{
if (vmScaleSet.Zones.Count > 1)
{
Assert.True(vmScaleSetOut.ZoneBalance.HasValue);
}
else
{
Assert.False(vmScaleSetOut.ZoneBalance.HasValue);
}
}

if (vmScaleSet.PlatformFaultDomainCount.HasValue)
{
Assert.Equal(vmScaleSet.PlatformFaultDomainCount, vmScaleSetOut.PlatformFaultDomainCount);
}
else
{
Assert.True(vmScaleSetOut.PlatformFaultDomainCount.HasValue);
}
}
else
{
Assert.Null(vmScaleSetOut.Zones);
Assert.Null(vmScaleSetOut.ZoneBalance);
Assert.Null(vmScaleSetOut.PlatformFaultDomainCount);
}
}

protected void CompareVmssNicConfig(VirtualMachineScaleSetNetworkConfiguration nicconfig,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,10 +59,15 @@ public VirtualMachineScaleSet()
/// <param name="singlePlacementGroup">When true this limits the scale
/// set to a single placement group, of max size 100 virtual
/// machines.</param>
/// <param name="zoneBalance">Whether to force stictly even Virtual
/// Machine distribution cross x-zones in case there is zone
/// outage.</param>
/// <param name="platformFaultDomainCount">Fault Domain count for each
/// placement group.</param>
/// <param name="identity">The identity of the virtual machine scale
/// set, if configured.</param>
/// <param name="zones">The virtual machine scale set zones.</param>
public VirtualMachineScaleSet(string location, string id = default(string), string name = default(string), string type = default(string), IDictionary<string, string> tags = default(IDictionary<string, string>), Sku sku = default(Sku), Plan plan = default(Plan), UpgradePolicy upgradePolicy = default(UpgradePolicy), VirtualMachineScaleSetVMProfile virtualMachineProfile = default(VirtualMachineScaleSetVMProfile), string provisioningState = default(string), bool? overprovision = default(bool?), string uniqueId = default(string), bool? singlePlacementGroup = default(bool?), VirtualMachineScaleSetIdentity identity = default(VirtualMachineScaleSetIdentity), IList<string> zones = default(IList<string>))
public VirtualMachineScaleSet(string location, string id = default(string), string name = default(string), string type = default(string), IDictionary<string, string> tags = default(IDictionary<string, string>), Sku sku = default(Sku), Plan plan = default(Plan), UpgradePolicy upgradePolicy = default(UpgradePolicy), VirtualMachineScaleSetVMProfile virtualMachineProfile = default(VirtualMachineScaleSetVMProfile), string provisioningState = default(string), bool? overprovision = default(bool?), string uniqueId = default(string), bool? singlePlacementGroup = default(bool?), bool? zoneBalance = default(bool?), int? platformFaultDomainCount = default(int?), VirtualMachineScaleSetIdentity identity = default(VirtualMachineScaleSetIdentity), IList<string> zones = default(IList<string>))
: base(location, id, name, type, tags)
{
Sku = sku;
Expand All @@ -73,6 +78,8 @@ public VirtualMachineScaleSet()
Overprovision = overprovision;
UniqueId = uniqueId;
SinglePlacementGroup = singlePlacementGroup;
ZoneBalance = zoneBalance;
PlatformFaultDomainCount = platformFaultDomainCount;
Identity = identity;
Zones = zones;
CustomInit();
Expand Down Expand Up @@ -140,6 +147,19 @@ public VirtualMachineScaleSet()
[JsonProperty(PropertyName = "properties.singlePlacementGroup")]
public bool? SinglePlacementGroup { get; set; }

/// <summary>
/// Gets or sets whether to force stictly even Virtual Machine
/// distribution cross x-zones in case there is zone outage.
/// </summary>
[JsonProperty(PropertyName = "properties.zoneBalance")]
public bool? ZoneBalance { get; set; }

/// <summary>
/// Gets or sets fault Domain count for each placement group.
/// </summary>
[JsonProperty(PropertyName = "properties.platformFaultDomainCount")]
public int? PlatformFaultDomainCount { get; set; }

/// <summary>
/// Gets or sets the identity of the virtual machine scale set, if
/// configured.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@
<PropertyGroup>
<PackageId>Microsoft.Azure.Management.Compute</PackageId>
<Description>Provides developers with libraries for the updated compute platform under Azure Resource manager to deploy virtual machine, virtual machine extensions and availability set management capabilities. Launch, restart, scale, capture and manage VMs, VM Extensions and more. Note: This client library is for Virtual Machines under Azure Resource Manager.</Description>
<Version>17.5.0</Version>
<Version>17.6.0</Version>
<AssemblyName>Microsoft.Azure.Management.Compute</AssemblyName>
<PackageTags>management;virtual machine;compute;</PackageTags>
<PackageReleaseNotes>
<![CDATA[
This is a public release of the Azure Compute SDK. Included with this release is adding LogAnalytics API.
This is a public release of the Azure Compute SDK. Included with this release is adding zone balance and platform fault domain count for vm scale set.
]]>
</PackageReleaseNotes>
</PropertyGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
[assembly: AssemblyDescription("Provides management functionality for Microsoft Azure Compute Resources.")]

[assembly: AssemblyVersion("17.0.0.0")]
[assembly: AssemblyFileVersion("17.5.0.0")]
[assembly: AssemblyFileVersion("17.6.0.0")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Microsoft")]
[assembly: AssemblyProduct("Microsoft Azure .NET SDK")]
Expand Down
4 changes: 2 additions & 2 deletions src/SDKs/_metadata/compute_resource-manager.txt
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
2018-02-02 22:18:03 UTC
2018-02-12 23:09:56 UTC

1) azure-rest-api-specs repository information
GitHub user: Azure
Branch: master
Commit: 1dcfeb3948129d1fdbe1a32a1ffa6ac37700cdae
Commit: 0b2943e210d8ea37ca5e97b2fa80f0b597d9e651

2) AutoRest information
Requested version: latest
Expand Down