Windows Hyper-V NPIV tests
Test details
Associated requirements |
Device.Storage.Controller.Fc.Npiv.BasicFunction |
Platforms |
Windows Server 2012 (x64) Windows Server 2012 R2 |
Expected run time |
~60 minutes |
Categories |
Basic Certification |
Type |
Automated |
Running the test
Before you run the test, complete the test setup as described in the test requirements: Hardware-based Raid Systems (Fibre Channel, SAS, SCSI, Serial ATA) Testing Prerequisites.
Manual test cases
This section includes information about how to setup and run manual tests. Please submit the results of manual testing using the following tabular format along with your packaged submission.
Manual test | Test result (pass/fail) |
---|---|
WWPN Conflict |
|
LUN Mapping and Provisioning |
|
Cluster Migration - Live |
|
Cluster Migration - Quick |
Hardware prerequisites for manual test cases
Two servers that are running Windows Server 2012 or v6.3 X64. Each server should have the Fibre Channel HBA or Fibre Channel over Ethernet adapter under test installed.
At least one port on each adapter connected to a switch with NPIV enabled. Both servers should be connected to the same fabric.
Windows Server 2012 certified storage target, connected to same fabric.
Common setup steps for manual test cases
Create one Virtual SAN per fibre channel fabric by using Hyper-V Manager or the Windows PowerShell -VMSan commandlet.
Assign all physical ports that are connected to that fabric to the same Virtual SAN.
Make sure that all servers have the same Virtual SANs that are created by using the same name.
Set up a Virtual Machine that is running Windows Server 2008 R2 or later version of the Windows Server operating system on each physical server.
Required manual test cases
WWPN Conflict
On two different servers, add a Virtual Fibre Channel adapter to each VM. Use the same values for the WWPN.
Start the VM on one server and confirm that no errors are received.
Start the VM on the second server (by using the same Virtual WWPN) and verify that VM startup fails. The failure of VM startup on the second server indicates a success.
LUN Mapping and Provisioning
Make sure that the VM has at least one Virtual Fibre Channel adapter that is assigned by using unique WWPNs.
Create a zone on the fabric that includes the following:
The VM’s WWPNs “A” and “B”
The target’s WWPNs
Create a LUN and masking set on the target containing:
- The VM’s WWPNs “A” and “B”
In the VM, perform a bus rescan and make sure that the newly assigned LUN is present in Disk Manager (or use the Windows PowerrrShell Get-Disk commandlet).
Initialize, partition, and format the LUN.
Make sure that files can be correctly written to and read from the LUN. Successful reading of files from the LUN and writing of files to the LUN indicates test pass success.
Cluster Migration – Live
Create a cluster by using the two servers that were prepared in the previous manual test cases.
Create a VM by using the Failover Clustering manager UI.
Add a Virtual Fibre Channel Adapter to the VM.
Make sure that Cluster Validation passes after the VM has been created. Correct any errors before proceeding.
Start the VM.
Provision a LUN to the VM and make sure that it is accessible (as in the Lun Mapping and Provisioning test case).
In the Failover Cluster Manager UI, on the Virtual Machine role, select Move and then select Live Migration -> Select Node. Select the other node in the cluster.
Confirm that Live Migration succeeds.
In the VM, confirm that files can be written to and read from the LUN. Successful reading of files from the LUN and writing of files to the LUN indicates test pass success.
Cluster Migration – Quick
Continue from the steps in the Cluster Migration – Live test case.
In the Failover Cluster Manager UI, on the Virtual Machine role, select Move and then select Quick Migration -> Select Node. Choose the other node in the cluster.
Confirm that Quick Migration succeeds.
In the VM, confirm that files can be written to and read from the LUN. Successful reading of files from the LUN and writing of files to the LUN indicates test pass success.
Automated tests
Hardware prerequisites for automated cases
Server running Windows Server 2012 or v6.3 X64.
Fibre Channel HBA or Fibre Channel over Ethernet adapter under test.
At least one port on adapter connected to a switch with NPIV enabled.
List of automated test cases in Windows HCK job “Windows Hyper-V NPIV Tests”
NPIV_API_Tests.NpivApiTests.HbaStatusTest. If the port's link is down, verify that creating a VirtualPort fails.
NPIV_API_Tests.NpivApiTests.CreatePortTest. Verify that a Virtual Port can be created by using valid parameters.
NPIV_API_Tests.NpivApiTests.CreateInvalidPortWWNTest. Verify that a Virtual Port cannot be created by using an invalid WWPN.
NPIV_API_Tests.NpivApiTests.CreatePhysicalWWPNTest. Verify that a Virtual Port cannot be created that conflicts with the physical port's WWPN.
NPIV_API_Tests.NpivApiTests.CreateWWPNInUseTest. Verify that the same WWPN cannot be created twice.
NPIV_API_Tests.NpivApiTests.CreateAndRemovePortExTest. Verify that a virtual port can be created and then removed by using valid parameters.
NPIV_API_Tests.NpivApiTests.RemoveBadPortTest. Verify that a non-existent virtual port cannot be removed.
NPIV_API_Tests.NpivApiTests.CreateRemovePortLoopTest. Verify that a valid virtual port can be repeatedly created and removed.
NPIV_API_Tests.NpivApiTests.CreateMaxPortTest. Verify that the max number of virtual ports (according to MSFC_FibrePortNPIVCapabilities) can be successfully created.
NPIV_API_Tests.NpivApiTests.RescanPortTest. Create a virtual port and confirm that rescans succeed. Try to rescan non-existent ports and check for failure.
NPIV_API_Tests.NpivApiTests.RescanStressTest. Tests overlapped rescan operations on a virtual port.
NPIV_API_Tests.NpivApiTests.ConcurrentSamePortCreationTest. Makes sure that the same virtual port cannot be simultaneously created from multiple WMI callers.
NPIV_API_Tests.NpivApiTests.ConcurrentPortCreationTest. Makes sure that multiple valid virtual ports can be simultaneously created from multiple WMI callers.
NPIV_API_Tests.NpivApiTests.ConcurrentPortRemovalTest. Makes sure that the same virtual port cannot be simultaneously removed from multiple WMI callers.
Troubleshooting
For troubleshooting information, see Troubleshooting Device.Storage Testing.