Skip to content

Commit 638cca1

Browse files
author
Hovsep
committed
Merge pull request Azure#137 from DeepakRajendranMsft/NrpBugFixes
Nrp bug fixes
2 parents 22baf8a + 456d100 commit 638cca1

File tree

10 files changed

+3280
-21
lines changed

10 files changed

+3280
-21
lines changed

src/ResourceManager/Network/Commands.Network.Test/Commands.Network.Test.csproj

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,9 @@
200200
<None Include="SessionRecords\Commands.Network.Test.ScenarioTests.LoadBalancerTests\TestLoadBalancerNicAssociation.json">
201201
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
202202
</None>
203+
<None Include="SessionRecords\Commands.Network.Test.ScenarioTests.LoadBalancerTests\TestLoadBalancerNicAssociationDuringCreate.json">
204+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
205+
</None>
203206
<None Include="SessionRecords\Commands.Network.Test.ScenarioTests.NetworkInterfaceTests\TestNetworkInterfaceCRUDStaticAllocation.json">
204207
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
205208
</None>

src/ResourceManager/Network/Commands.Network.Test/ScenarioTests/LoadBalancerTests.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,5 +95,12 @@ public void TestLoadBalancerNicAssociation()
9595
{
9696
NetworkResourcesController.NewInstance.RunPsTest("Test-LoadBalancer-NicAssociation");
9797
}
98+
99+
[Fact]
100+
[Trait(Category.AcceptanceType, Category.CheckIn)]
101+
public void TestLoadBalancerNicAssociationDuringCreate()
102+
{
103+
NetworkResourcesController.NewInstance.RunPsTest("Test-LoadBalancer-NicAssociationDuringCreate");
104+
}
98105
}
99106
}

src/ResourceManager/Network/Commands.Network.Test/ScenarioTests/LoadBalancerTests.ps1

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1028,4 +1028,92 @@ function Test-LoadBalancer-NicAssociation
10281028
# Cleanup
10291029
Clean-ResourceGroup $rgname
10301030
}
1031+
}
1032+
1033+
<#
1034+
.SYNOPSIS
1035+
Tests creating a NIC with Loadbalancer references
1036+
#>
1037+
function Test-LoadBalancer-NicAssociationDuringCreate
1038+
{
1039+
# Setup
1040+
$rgname = Get-ResourceGroupName
1041+
$vnetName = Get-ResourceName
1042+
$subnetName = Get-ResourceName
1043+
$publicIpName = Get-ResourceName
1044+
$lbName = Get-ResourceName
1045+
$frontendName = Get-ResourceName
1046+
$backendAddressPoolName = Get-ResourceName
1047+
$probeName = Get-ResourceName
1048+
$inboundNatRuleName1 = Get-ResourceName
1049+
$inboundNatRuleName2 = Get-ResourceName
1050+
$lbruleName = Get-ResourceName
1051+
$nicname1 = Get-ResourceName
1052+
$nicname2 = Get-ResourceName
1053+
$nicname3 = Get-ResourceName
1054+
$rglocation = Get-ProviderLocation ResourceManagement
1055+
$resourceTypeParent = "Microsoft.Network/loadBalancers"
1056+
$location = Get-ProviderLocation $resourceTypeParent
1057+
1058+
try
1059+
{
1060+
# Create the resource group
1061+
$resourceGroup = New-AzureResourceGroup -Name $rgname -Location $rglocation -Tags @{Name = "testtag"; Value = "testval"}
1062+
1063+
# Create the Virtual Network
1064+
$subnet = New-AzureVirtualNetworkSubnetConfig -Name $subnetName -AddressPrefix 10.0.1.0/24
1065+
$vnet = New-AzurevirtualNetwork -Name $vnetName -ResourceGroupName $rgname -Location $location -AddressPrefix 10.0.0.0/16 -Subnet $subnet
1066+
1067+
# Create the publicip
1068+
$publicip = New-AzurePublicIpAddress -ResourceGroupName $rgname -name $publicIpName -location $location -AllocationMethod Dynamic
1069+
1070+
# Create LoadBalancer
1071+
$frontend = New-AzureLoadBalancerFrontendIpConfig -Name $frontendName -PublicIpAddress $publicip
1072+
$backendAddressPool = New-AzureLoadBalancerBackendAddressPoolConfig -Name $backendAddressPoolName
1073+
$probe = New-AzureLoadBalancerProbeConfig -Name $probeName -RequestPath healthcheck.aspx -Protocol http -Port 80 -IntervalInSeconds 15 -ProbeCount 2
1074+
$inboundNatRule1 = New-AzureLoadBalancerInboundNatRuleConfig -Name $inboundNatRuleName1 -FrontendIPConfiguration $frontend -Protocol Tcp -FrontendPort 3389 -BackendPort 3389 -IdleTimeoutInMinutes 15 -EnableFloatingIP
1075+
$inboundNatRule2 = New-AzureLoadBalancerInboundNatRuleConfig -Name $inboundNatRuleName2 -FrontendIPConfiguration $frontend -Protocol Tcp -FrontendPort 3391 -BackendPort 3392
1076+
$lbrule = New-AzureLoadBalancerRuleConfig -Name $lbruleName -FrontendIPConfiguration $frontend -BackendAddressPool $backendAddressPool -Probe $probe -Protocol Tcp -FrontendPort 80 -BackendPort 80 -IdleTimeoutInMinutes 15 -EnableFloatingIP -LoadDistribution SourceIP
1077+
$lb = New-AzureLoadBalancer -Name $lbName -ResourceGroupName $rgname -Location $location -FrontendIpConfiguration $frontend -BackendAddressPool $backendAddressPool -Probe $probe -InboundNatRule $inboundNatRule1,$inboundNatRule2 -LoadBalancingRule $lbrule
1078+
1079+
# Verification of Load Balancer
1080+
Assert-AreEqual $rgname $lb.ResourceGroupName
1081+
Assert-AreEqual $lbName $lb.Name
1082+
Assert-AreEqual $location $lb.Location
1083+
Assert-AreEqual "Succeeded" $lb.ProvisioningState
1084+
Assert-AreEqual 1 @($lb.FrontendIPConfigurations).Count
1085+
1086+
Assert-Null $lb.InboundNatRules[0].BackendIPConfiguration
1087+
Assert-Null $lb.InboundNatRules[1].BackendIPConfiguration
1088+
Assert-AreEqual 0 @($lb.BackendAddressPools[0].BackendIpConfigurations).Count
1089+
1090+
# Create 3 network interfaces and accociate to loadbalancer
1091+
$nic1 = New-AzureNetworkInterface -Name $nicname1 -ResourceGroupName $rgname -Location $location -Subnet $vnet.Subnets[0] -LoadBalancerBackendAddressPool $lb.BackendAddressPools[0] -LoadBalancerInboundNatRule $lb.InboundNatRules[0]
1092+
$nic2 = New-AzureNetworkInterface -Name $nicname2 -ResourceGroupName $rgname -Location $location -SubnetId $vnet.Subnets[0].Id -LoadBalancerBackendAddressPoolId $lb.BackendAddressPools[0].Id
1093+
$nic3 = New-AzureNetworkInterface -Name $nicname3 -ResourceGroupName $rgname -Location $location -SubnetId $vnet.Subnets[0].Id -LoadBalancerInboundNatRuleId $lb.InboundNatRules[1].Id
1094+
1095+
# set the nics
1096+
$nic1 = $nic1 | Set-AzureNetworkInterface
1097+
$nic2 = $nic2 | Set-AzureNetworkInterface
1098+
$nic3 = $nic3 | Set-AzureNetworkInterface
1099+
1100+
# Verify the Load balancer references
1101+
$lb = Get-AzureLoadBalancer -Name $lbName -ResourceGroupName $rgname
1102+
1103+
Assert-AreEqual $nic1.IpConfigurations[0].Id $lb.InboundNatRules[0].BackendIPConfiguration.Id
1104+
Assert-AreEqual $nic3.IpConfigurations[0].Id $lb.InboundNatRules[1].BackendIPConfiguration.Id
1105+
Assert-AreEqual 2 @($lb.BackendAddressPools[0].BackendIpConfigurations).Count
1106+
1107+
# Delete
1108+
$deleteLb = Remove-AzureLoadBalancer -Name $lbName -ResourceGroupName $rgname -PassThru -Force
1109+
Assert-AreEqual true $deleteLb
1110+
1111+
$list = Get-AzureLoadBalancer -ResourceGroupName $rgname
1112+
Assert-AreEqual 0 @($list).Count
1113+
}
1114+
finally
1115+
{
1116+
# Cleanup
1117+
Clean-ResourceGroup $rgname
1118+
}
10311119
}

src/ResourceManager/Network/Commands.Network.Test/SessionRecords/Commands.Network.Test.ScenarioTests.LoadBalancerTests/TestLoadBalancerNicAssociationDuringCreate.json

Lines changed: 3141 additions & 0 deletions
Large diffs are not rendered by default.

src/ResourceManager/Network/Commands.Network/LoadBalancer/NewAzureLoadBalancerCommand.cs

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -102,11 +102,15 @@ public override void ExecuteCmdlet()
102102
Microsoft.Azure.Commands.Network.Properties.Resources.OverwritingResourceMessage,
103103
Name,
104104
() => CreateLoadBalancer());
105-
}
106105

107-
var loadBalancer = this.CreateLoadBalancer();
106+
WriteObject(this.GetLoadBalancer(this.ResourceGroupName, this.Name));
107+
}
108+
else
109+
{
110+
var loadBalancer = this.CreateLoadBalancer();
108111

109-
WriteObject(loadBalancer);
112+
WriteObject(loadBalancer);
113+
}
110114
}
111115

112116
private PSLoadBalancer CreateLoadBalancer()

src/ResourceManager/Network/Commands.Network/Microsoft.Azure.Commands.Network.format.ps1xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -445,8 +445,8 @@
445445
<PropertyName>TagsTable</PropertyName>
446446
</ListItem>
447447
<ListItem>
448-
<Label>PSFrontendIPConfigurations</Label>
449-
<PropertyName>PSFrontendIPConfigurationsText</PropertyName>
448+
<Label>FrontendIPConfigurations</Label>
449+
<PropertyName>FrontendIPConfigurationsText</PropertyName>
450450
</ListItem>
451451
<ListItem>
452452
<Label>BackendAddressPools</Label>

src/ResourceManager/Network/Commands.Network/NetworkInterface/NewAzureNetworkInterfaceCommand.cs

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -165,11 +165,15 @@ public override void ExecuteCmdlet()
165165
Microsoft.Azure.Commands.Network.Properties.Resources.OverwritingResourceMessage,
166166
Name,
167167
() => CreateNetworkInterface());
168+
169+
WriteObject(this.GetNetworkInterface(this.ResourceGroupName, this.Name));
168170
}
171+
else
172+
{
173+
var networkInterface = CreateNetworkInterface();
169174

170-
var networkInterface = CreateNetworkInterface();
171-
172-
WriteObject(networkInterface);
175+
WriteObject(networkInterface);
176+
}
173177
}
174178

175179
private PSNetworkInterface CreateNetworkInterface()
@@ -240,19 +244,19 @@ private PSNetworkInterface CreateNetworkInterface()
240244

241245
if (this.LoadBalancerBackendAddressPoolId != null)
242246
{
243-
networkInterface.IpConfigurations[0].LoadBalancerBackendAddressPools = new List<PSResourceId>();
247+
nicIpConfiguration.LoadBalancerBackendAddressPools = new List<PSResourceId>();
244248
foreach (var bepoolId in this.LoadBalancerBackendAddressPoolId)
245249
{
246-
networkInterface.IpConfigurations[0].LoadBalancerBackendAddressPools.Add(new PSResourceId { Id = bepoolId });
250+
nicIpConfiguration.LoadBalancerBackendAddressPools.Add(new PSResourceId { Id = bepoolId });
247251
}
248252
}
249253

250254
if (this.LoadBalancerInboundNatRuleId != null)
251255
{
252-
networkInterface.IpConfigurations[0].LoadBalancerInboundNatRules = new List<PSResourceId>();
256+
nicIpConfiguration.LoadBalancerInboundNatRules = new List<PSResourceId>();
253257
foreach (var natruleId in this.LoadBalancerInboundNatRuleId)
254258
{
255-
networkInterface.IpConfigurations[0].LoadBalancerInboundNatRules.Add(new PSResourceId { Id = natruleId });
259+
nicIpConfiguration.LoadBalancerInboundNatRules.Add(new PSResourceId { Id = natruleId });
256260
}
257261
}
258262

src/ResourceManager/Network/Commands.Network/NetworkSecurityGroup/NewAzureNetworkSecurityGroupCommand.cs

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -77,11 +77,15 @@ public override void ExecuteCmdlet()
7777
Microsoft.Azure.Commands.Network.Properties.Resources.OverwritingResourceMessage,
7878
Name,
7979
() => this.CreateNetworkSecurityGroup());
80-
}
8180

82-
var virtualNetwork = this.CreateNetworkSecurityGroup();
81+
WriteObject(this.GetNetworkSecurityGroup(this.ResourceGroupName, this.Name));
82+
}
83+
else
84+
{
85+
var virtualNetwork = this.CreateNetworkSecurityGroup();
8386

84-
WriteObject(virtualNetwork);
87+
WriteObject(virtualNetwork);
88+
}
8589
}
8690

8791
private PSNetworkSecurityGroup CreateNetworkSecurityGroup()

src/ResourceManager/Network/Commands.Network/PublicIpAddress/NewAzurePublicIpAddressCommand.cs

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -101,11 +101,15 @@ public override void ExecuteCmdlet()
101101
Microsoft.Azure.Commands.Network.Properties.Resources.OverwritingResourceMessage,
102102
Name,
103103
() => CreatePublicIpAddress());
104-
}
105104

106-
var publicIp = CreatePublicIpAddress();
105+
WriteObject(this.GetPublicIpAddress(this.ResourceGroupName, this.Name));
106+
}
107+
else
108+
{
109+
var publicIp = CreatePublicIpAddress();
107110

108-
WriteObject(publicIp);
111+
WriteObject(publicIp);
112+
}
109113
}
110114

111115
private PSPublicIpAddress CreatePublicIpAddress()

src/ResourceManager/Network/Commands.Network/VirtualNetwork/NewAzureVirtualNetworkCommand.cs

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -90,11 +90,15 @@ public override void ExecuteCmdlet()
9090
Microsoft.Azure.Commands.Network.Properties.Resources.OverwritingResourceMessage,
9191
Name,
9292
() => CreateVirtualNetwork());
93-
}
9493

95-
var virtualNetwork = CreateVirtualNetwork();
94+
WriteObject(this.GetVirtualNetwork(this.ResourceGroupName, this.Name));
95+
}
96+
else
97+
{
98+
var virtualNetwork = CreateVirtualNetwork();
9699

97-
WriteObject(virtualNetwork);
100+
WriteObject(virtualNetwork);
101+
}
98102
}
99103

100104
private PSVirtualNetwork CreateVirtualNetwork()

0 commit comments

Comments
 (0)