Skip to content

Commit

Permalink
Merge pull request #903 from azsk/users/zhilmil/2001
Browse files Browse the repository at this point in the history
Rolling back Vnet changes
  • Loading branch information
VishalHaibatpure1 authored Jan 16, 2020
2 parents 0db027a + 4bc9b04 commit f3227de
Showing 1 changed file with 45 additions and 105 deletions.
150 changes: 45 additions & 105 deletions src/AzSK/Framework/Core/SVT/SVTIaasBase.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -38,154 +38,94 @@ class SVTIaasBase: AzSVTBase

hidden [PSObject[]] GetvNetNics($VNetSubnets)
{
if([FeatureFlightingManager]::GetFeatureStatus("EnableVnetFixForSub",$($this.SubscriptionContext.SubscriptionId)))
if (-not $this.vNetNics)
{
if (-not $this.vNetNics)
{
$nics = Get-AzNetworkInterface #-ResourceGroupName $rgname
$ipc = $VNetSubnets| Select-Object -Property 'IpConfigurations' -ExpandProperty 'IpConfigurations'


if($null -ne $ipc -and ($ipc.IpConfigurations | Measure-Object).Count -gt 0)
$this.vNetNicsWIssues = @();
$VNetSubnets | ForEach-Object{
Set-Variable -Name currentsubnet -Scope Local -Value $_
if($null -ne $currentsubnet.IpConfigurations )
{
$NICIpConfigs = $ipc.IpConfigurations.Id | Where-Object{$_ -in $nics.IpConfigurations.Id}
$NICresources = ($nics | Select-Object @{Name= 'ResourceId'; Expression = {$_.Id}}, @{Name="IpConfigurationId"; Expression={ $_.IpConfigurations | Select-Object Id }} |Select-Object -Property * -ExcludeProperty IpConfigurations -ExpandProperty IpConfigurationId | Where-Object{$_.Id -in $NICIpConfigs})
if(($NICresources | Measure-Object).Count -gt 0)
{
$resourceIds = $NICresources.ResourceId
$this.VNetNics += $nics | Where-Object{$_.Id -in $resourceIds}
}
}
}

return $this.vNetNics;

}
else
{
if (-not $this.vNetNics)
{
$this.vNetNicsWIssues = @();
$VNetSubnets | ForEach-Object{
Set-Variable -Name currentsubnet -Scope Local -Value $_
if($null -ne $currentsubnet.IpConfigurations )
{
$currentsubnet.IpConfigurations | ForEach-Object{
Set-Variable -Name currentipconfig -Scope Local -Value $_
if($currentipconfig.Id.Contains("Microsoft.Network/networkInterfaces"))
{
$currentipconfig = $currentipconfig.Id.ToLower()
$nicresourceid = $currentipconfig.Substring(0,$currentipconfig.LastIndexOf("ipconfigurations")-1)
try
{
#<TODO: Perf Issue - Get-AzResource is called in foreach which will Provider list and perform issue. Resource Ids can be passed from base location>
$nic = Get-AzResource -ResourceId $nicresourceid
$this.vNetNics += $nic
}
catch
{
$this.vNetNicsWIssues += $nicresourceid;
}
}
$currentsubnet.IpConfigurations | ForEach-Object{
Set-Variable -Name currentipconfig -Scope Local -Value $_
if($currentipconfig.Id.Contains("Microsoft.Network/networkInterfaces"))
{
$currentipconfig = $currentipconfig.Id.ToLower()
$nicresourceid = $currentipconfig.Substring(0,$currentipconfig.LastIndexOf("ipconfigurations")-1)
try
{
#<TODO: Perf Issue - Get-AzResource is called in foreach which will Provider list and perform issue. Resource Ids can be passed from base location>
$nic = Get-AzResource -ResourceId $nicresourceid
$this.vNetNics += $nic
}
catch
{
$this.vNetNicsWIssues += $nicresourceid;
}
}
}
}
}
}
}
return $this.vNetNics;
}

hidden [PSObject[]] GetvnetNicsProperties($vNetNics)
{


if(-not $this.vNetNicsOutput)
{
if($null -ne $vNetNics )
{
$this.vNetPIPIssues = @();
$tempVNetNICS = [array]($vNetNics)
$tempVNetNICS | ForEach-Object{
Set-Variable -Name nic -Scope Local -Value $_
Set-Variable -Name nicproperties -Scope Local -Value $_.Properties
try
{
Set-Variable -Name nic -Scope Local -Value $_
$out = ""| Select-Object NICName, VMName, VMId, PrimaryStatus, NetworkSecurityGroupName,NetworkSecurityGroupId, PublicIpAddress, PrivateIpAddress, EnableIPForwarding, IpConfigurations
$out = ""| Select-Object NICName, VMName, VMId, PrimaryStatus, NetworkSecurityGroupName,NetworkSecurityGroupId, PublicIpAddress, PrivateIpAddress, EnableIPForwarding, IpConfigurations
$out.NICName = $nic.Name
$out.IpConfigurations = $nic.IpConfigurations
$out.EnableIPForwarding = $nic.EnableIPForwarding
$out.IpConfigurations = $nicproperties.IpConfigurations
$out.EnableIPForwarding = $nicproperties.EnableIPForwarding
$PublicIpAddresses = @()
$PrivateIpAddresses = @()
if([FeatureFlightingManager]::GetFeatureStatus("EnableVnetFixForSub",$($this.SubscriptionContext.SubscriptionId)))
{

$NICPublicIpAddresses = @();
$NICPublicIpAddresses += $nic.ipconfigurations | Where-Object {$null -ne $_.PublicIpAddress}
$PrivateIpAddresses += $nic.ipconfigurations.PrivateIpAddress
if(($NICPublicIpAddresses |Measure-Object).Count -gt 0)
$nicproperties.IpConfigurations | ForEach-Object{
Set-Variable -Name ipconfiguration -Scope Local -Value $_
try
{
$NICPublicIpAddresses | ForEach-Object{
try
{

$IPResource = Get-AzResource -ResourceId $_.PublicIpAddress.Id
if(($ipconfiguration | Get-Member -Name "Properties") -and ($ipconfiguration.Properties | Get-Member -Name "PublicIpAddress") -and $ipconfiguration.Properties.PublicIpAddress)
{
$IPResource = Get-AzResource -ResourceId $ipconfiguration.Properties.PublicIpAddress.Id
$pubResourceName = Get-AzPublicIpAddress -Name $IPResource.Name -ResourceGroupName $IPResource.ResourceGroupName
$PublicIpAddresses += $pubResourceName.IpAddress
}
catch
{

$this.vNetPIPIssues += $nic.IpConfigurations
}


}
}


}
else
{
$nic.IpConfigurations | ForEach-Object{
Set-Variable -Name ipconfiguration -Scope Local -Value $_
try
{
if(($ipconfiguration | Get-Member -Name "Properties") -and ($ipconfiguration.Properties | Get-Member -Name "PublicIpAddress") -and $ipconfiguration.Properties.PublicIpAddress)
{
$IPResource = Get-AzResource -ResourceId $ipconfiguration.Properties.PublicIpAddress.Id
$pubResourceName = Get-AzPublicIpAddress -Name $IPResource.Name -ResourceGroupName $IPResource.ResourceGroupName
$PublicIpAddresses += $pubResourceName.IpAddress
}
$PrivateIpAddresses += $ipconfiguration.Properties.PrivateIpAddress
}
catch
{
$this.vNetPIPIssues += $ipconfiguration
}
$PrivateIpAddresses += $ipconfiguration.Properties.PrivateIpAddress
}
catch
{
$this.vNetPIPIssues += $ipconfiguration
}
}
$out.PublicIpAddress = ([System.String]::Join(";",$PublicIpAddresses))
$out.PrivateIpAddress = ([System.String]::Join(";",$PrivateIpAddresses))


if(($nic | Get-Member -Name "VirtualMachine") -and $nic.VirtualMachine )
if(($nicproperties | Get-Member -Name "VirtualMachine") -and $nicproperties.VirtualMachine )
{
$vmresource = Get-AzResource -ResourceId $nic.VirtualMachine.Id
$vmresource = Get-AzResource -ResourceId $nicproperties.VirtualMachine.Id
$out.VMName = $vmresource.Name
}
else {
$out.VMName = ""
}
if($null -ne ($nic | Get-Member primary))
if($null -ne ($nicproperties | Get-Member primary))
{
$out.PrimaryStatus = $nic.primary
$out.PrimaryStatus = $nicproperties.primary
}

if(($nic | Get-Member -Name "NetworkSecurityGroup") -and $nic.NetworkSecurityGroup)
if(($nicproperties | Get-Member -Name "NetworkSecurityGroup") -and $nicproperties.NetworkSecurityGroup)
{
$nsgresource = Get-AzResource -ResourceId $nic.NetworkSecurityGroup.Id
$nsgresource = Get-AzResource -ResourceId $nicproperties.NetworkSecurityGroup.Id
$out.NetworkSecurityGroupName = $nsgresource.Name
}

$this.vNetNicsOutput += $out
}
catch
Expand All @@ -198,4 +138,4 @@ class SVTIaasBase: AzSVTBase
}
return $this.vNetNicsOutput;
}
}
}

0 comments on commit f3227de

Please sign in to comment.