Two IP addresses are assigned to individual PVS target devices streaming network adapters.
The behavior can occur on every boot, or intermittently.
To resolve this issue, depending on the source of the behavior, the following options can be implemented
Any environmental DHCP solution which can supply 2 different ip addresses to a single pvs target device, at pxe dhcp request stage and windows dhcp request stage, can result in PVS targets having 2 ip address assigned to a single network adapter.
There is no method to ensure only one dhcp server will respond to dhcp request from individual target devices.
This will allow target devices to recieve different ip address at pxe dhcp request stage, and the windows dhcp request stage, and result in 2 ip addresses.
Configuring dhcp server ipv4 scope advanced options to include a delay does not prevent double ip addresses, and is not a suitable configuration, split scope remains unsupportted for PVS environments.
InfoBlox assigns IP addresses based on DHCP discover/requests and includes the Client Identifier (UID) in the DHCP packet.
PVS does not support IP change, at any stage for a target device over individual boot cycles.
PVS uses the technology that exists for machines to PXE boot (It is probably outside of PXE boot specification to populate the Client Identifier field).
An additional feature was implemented in NIOS 6.6. The feature "ignore uid" allows DHCP to provide a lease irrespective of the client's UID. As the PXE boot does not have a UID and the DHCP lease, once the OS is running and has a lease the machine gets two separate IPs unless the "ignore uid" feature is enabled. This is not possible to implement on 6.4.9 and 6.4.10 and requires an upgrade to at least 6.6, preferably 6.6.10. It is also required to review the admin guide on limitations of this feature with regards to DHCP fail over if this is being used because ignore UID can only be set on a member or grid level.
Capture network traces for source or destination ports 67 and 68.
Use Wireshark filter to see traffic with client identifier populated:
bootp.option.type == 61