@@ -133,6 +133,101 @@ function Test-SingleNetworkInterface
133
133
}
134
134
}
135
135
136
+ <#
137
+ . SYNOPSIS
138
+ Test Virtual Machines with a NetworkInterface with DnsSettings
139
+ #>
140
+ function Test-SingleNetworkInterfaceDnsSettings
141
+ {
142
+ # Setup
143
+ $rgname = Get-ComputeTestResourceGroupName
144
+
145
+ try
146
+ {
147
+ # Common
148
+ $loc = ' West US' ;
149
+ New-AzureResourceGroup - Name $rgname - Location $loc ;
150
+
151
+ # VM Profile & Hardware
152
+ $vmsize = ' Standard_A2' ;
153
+ $vmname = ' vm' + $rgname ;
154
+ $p = New-AzureVMConfig - VMName $vmname - VMSize $vmsize ;
155
+ Assert-AreEqual $p.HardwareProfile.VirtualMachineSize $vmsize ;
156
+
157
+ # NRP
158
+ $subnet = New-AzureVirtualNetworkSubnetConfig - Name (' subnet' + $rgname ) - AddressPrefix " 10.0.0.0/24" ;
159
+ $vnet = New-AzureVirtualNetwork - Force - Name (' vnet' + $rgname ) - ResourceGroupName $rgname - Location $loc - AddressPrefix " 10.0.0.0/16" - DnsServer " 10.1.1.1" - Subnet $subnet ;
160
+ $vnet = Get-AzureVirtualNetwork - Name (' vnet' + $rgname ) - ResourceGroupName $rgname ;
161
+ $subnetId = $vnet.Subnets [0 ].Id;
162
+ $pubip = New-AzurePublicIpAddress - Force - Name (' pubip' + $rgname ) - ResourceGroupName $rgname - Location $loc - AllocationMethod Dynamic - DomainNameLabel (' pubip' + $rgname );
163
+ $pubip = Get-AzurePublicIpAddress - Name (' pubip' + $rgname ) - ResourceGroupName $rgname ;
164
+ $pubipId = $pubip.Id ;
165
+ $nic = New-AzureNetworkInterface - Force - Name (' nic' + $rgname ) - ResourceGroupName $rgname - Location $loc - SubnetId $subnetId - PublicIpAddressId $pubip.Id - DnsServer " 10.0.1.5" ;
166
+ $nic = Get-AzureNetworkInterface - Name (' nic' + $rgname ) - ResourceGroupName $rgname ;
167
+ $nicId = $nic.Id ;
168
+
169
+ $p = Add-AzureVMNetworkInterface - VM $p - Id $nicId ;
170
+ Assert-AreEqual $p.NetworkProfile.NetworkInterfaces.Count 1 ;
171
+ Assert-AreEqual $p.NetworkProfile.NetworkInterfaces [0 ].ReferenceUri $nicId ;
172
+ Assert-Null $p.NetworkProfile.NetworkInterfaces [0 ].Primary;
173
+
174
+ # Storage Account (SA)
175
+ $stoname = ' sto' + $rgname ;
176
+ $stotype = ' Standard_GRS' ;
177
+ New-AzureStorageAccount - ResourceGroupName $rgname - Name $stoname - Location $loc - Type $stotype ;
178
+ Retry- IfException { $global :stoaccount = Get-AzureStorageAccount - ResourceGroupName $rgname - Name $stoname ; }
179
+
180
+ $osDiskName = ' osDisk' ;
181
+ $osDiskCaching = ' ReadWrite' ;
182
+ $osDiskVhdUri = " https://$stoname .blob.core.windows.net/test/os.vhd" ;
183
+ $dataDiskVhdUri1 = " https://$stoname .blob.core.windows.net/test/data1.vhd" ;
184
+ $dataDiskVhdUri2 = " https://$stoname .blob.core.windows.net/test/data2.vhd" ;
185
+ $dataDiskVhdUri3 = " https://$stoname .blob.core.windows.net/test/data3.vhd" ;
186
+
187
+ $p = Set-AzureVMOSDisk - VM $p - Name $osDiskName - VhdUri $osDiskVhdUri - Caching $osDiskCaching ;
188
+
189
+ $p = Add-AzureVMDataDisk - VM $p - Name ' testDataDisk1' - Caching ' ReadOnly' - DiskSizeInGB 10 - Lun 0 - VhdUri $dataDiskVhdUri1 ;
190
+ $p = Add-AzureVMDataDisk - VM $p - Name ' testDataDisk2' - Caching ' ReadOnly' - DiskSizeInGB 11 - Lun 1 - VhdUri $dataDiskVhdUri2 ;
191
+ $p = Add-AzureVMDataDisk - VM $p - Name ' testDataDisk3' - Caching ' ReadOnly' - DiskSizeInGB 12 - Lun 2 - VhdUri $dataDiskVhdUri3 ;
192
+ $p = Remove-AzureVMDataDisk - VM $p - Name ' testDataDisk3' ;
193
+
194
+ # OS & Image
195
+ $user = " Foo12" ;
196
+ $password = ' BaR@123' + $rgname ;
197
+ $securePassword = ConvertTo-SecureString $password - AsPlainText - Force;
198
+ $cred = New-Object System.Management.Automation.PSCredential ($user , $securePassword );
199
+ $computerName = ' test' ;
200
+ $vhdContainer = " https://$stoname .blob.core.windows.net/test" ;
201
+ $img = ' a699494373c04fc0bc8f2bb1389d6106__Windows-Server-2012-Datacenter-201503.01-en.us-127GB.vhd' ;
202
+
203
+ $p.StorageProfile.OSDisk = $null ;
204
+ $p = Set-AzureVMOperatingSystem - VM $p - Windows - ComputerName $computerName - Credential $cred ;
205
+ $p = Set-AzureVMSourceImage - VM $p - Name $img - DestinationVhdsContainer $vhdContainer ;
206
+
207
+ # Virtual Machine
208
+ # TODO: Still need to do retry for New-AzureVM for SA, even it's returned in Get-.
209
+ New-AzureVM - ResourceGroupName $rgname - Location $loc - Name $vmname - VM $p ;
210
+
211
+ # Get VM
212
+ $vm1 = Get-AzureVM - Name $vmname - ResourceGroupName $rgname ;
213
+
214
+ # Get NetworkInterface
215
+ $getnic = Get-AzureNetworkInterface - Name (' nic' + $rgname ) - ResourceGroupName $rgname ;
216
+ Assert-AreEqual $vm1.NetworkProfile.NetworkInterfaces [0 ].ReferenceUri $getnic.Id ;
217
+ Assert-AreEqual $getnic.Primary true;
218
+ Assert-NotNull $getnic.MacAddress ;
219
+ Assert-NotNull $getnic.DnsSettings.AppliedDnsServers ;
220
+
221
+ # Remove
222
+ Remove-AzureVM - Name $vmname - ResourceGroupName $rgname - Force;
223
+ }
224
+ finally
225
+ {
226
+ # Cleanup
227
+ Clean - ResourceGroup $rgname
228
+ }
229
+ }
230
+
136
231
<#
137
232
. SYNOPSIS
138
233
Test Virtual Machines with multiple NetworkInterface
0 commit comments