When attempting to add an ESXi 5.x and 6.0 host to a DVS, the host is missing or the list is empty
search cancel

When attempting to add an ESXi 5.x and 6.0 host to a DVS, the host is missing or the list is empty

book

Article ID: 343974

calendar_today

Updated On:

Products

VMware vCenter Server VMware vSphere ESXi

Issue/Introduction

Symptoms:
  • When you attempt to add an ESXi 5.0, 5.1 and 6.0 host to a VMware vSphere Distributed Switch (VDS) or Nexus 1000 Distributed switch, the Add Host screen is blank.
  • You see a screen similar to:


  • Hosts may appear in the list when adding to a newly created VDS, but not an older VDS.
  • This occurs if VMware vCenter Server was upgraded from an earlier version.


Environment

VMware vCenter Server 5.1.x
VMware vSphere ESXi 5.1
VMware vSphere ESXi 6.0
VMware vCenter Server 5.0.x
VMware vCenter Server 6.0.x
VMware vSphere ESXi 5.0

Cause

This issue occurs because there are rows missing in the VPX_DVS_COMPATIBLE table.

Resolution

This issue is resolved in vCenter Server 5.1 Update 1 and vCenter Server 5.5, available at VMware Downloads.
Note: The fix in vCenter Server 5.1 Update 1 resolves the issue when you upgrade from vCenter Server 4.0, 4.1, and 5.0 to vCenter Server 5.1 Update 1. This fix does not resolve the issue if you have already upgraded from vCenter Server 4.0, 4.1, or 5.0 to vCenter Server 5.1 GA or 5.1 patches and then upgraded to vCenter Server 5.1 Update 1. In this situation, use this workaround:

To work around this issue if you have already upgraded to a vCenter Server 5.1 build prior to Update 1:

Notes:
  • This procedure includes syntax for SQL Server. If you are using Oracle, modify the PL/SQL syntax accordingly.
  • Ensure that the user account that is used to connect to the vCenter Server database has administrative privileges.
  • When you upgrade from vCenter Server 4.0, 4.1, or 5.0 to vCenter Server 5.1, adding ESXi 5.1 hosts to existing versions 4.0, 4.1, and 5.0, vSphere Distributed Switch (vDS) might fail. However, if you create a new version 4.0, 4.1, 5.0, or 5.1 vDS switch after upgrading to vCenter Server 5.1, you will be able to add ESXi 5.1 hosts.
  1. Run this SQL statement to determine the contents of the database:

    SELECT * FROM VPX_DVS_COMPATIBLE WHERE ID IN
    (SELECT ID FROM VPX_ENTITY WHERE NAME = 'dvSwitch');


    Where dvSwitch is the Distributed Virtual Switch (DVS) name. Change according to your environment. If you have more than one DVS, you must run the scripts for each switch.

    You see output which indicates that the DVS compatibility includes ESXi/ESX 4.0 and 4.1, but not ESXi 5.0 or 5.1.

    For example:


  2. Run this query to add the missing rows:

    USE VIM_VCDB; /* name of vCenter Server database, change according to your environment */
    GO
    DECLARE @dvs_name varchar(32);
    DECLARE @dvs_id int;
    SET @dvs_name = 'dvSwitch'; /* case sensitive DVS name, change according to your environment */
    SET @dvs_id = (SELECT ID FROM VPX_ENTITY WHERE NAME = @dvs_name);
    INSERT INTO VPX_DVS_COMPATIBLE VALUES
    (@dvs_id,'esx','5.0+'),
    (@dvs_id,'embeddedEsx','5.0+'),
    (@dvs_id,'esx','5.1+'),
    (@dvs_id,'embeddedEsx','5.1+');


    Note: When you have multiple Distributed Virtual Switches, consider running this query:

    USE VIM_VCDB; /* name of VC database,change according to your environment */
    GO
    DECLARE @dvs_id int;
    SET @dvs_id = DVS_ID; /* Ensure that you change the DVS_ID to the ID value found in table VPX_DVS */
    INSERT INTO VPX_DVS_COMPATIBLE VALUES
    (@dvs_id,'esx','5.0+'),
    (@dvs_id,'embeddedEsx','5.0+'),
    (@dvs_id,'esx','5.1+'),
    (@dvs_id,'embeddedEsx','5.1+');


    This query updates the specified DVS. The original script is not able to execute against multiple Distributed Virtual Switches.

    For ESXi 6.0, run the following query:

    USE GB_vCenter; /* name of vCenter Server database, change according to your environment */
    GO
    DECLARE @dvs_name varchar(32);
    DECLARE @dvs_id int;
    SET @dvs_name = 'dvSwitch'; /* case sensitive DVS name, change according to your environment */
    SET @dvs_id = 128;
    INSERT INTO VPX_DVS_COMPATIBLE VALUES
    (@dvs_id,'esx','6.0+'),
    (@dvs_id,'embeddedEsx','6.0+');

  3. Re-run the query in step 1 and confirm that the rows are added.

    You see output similar to:


  4. Restart the VMware vCenter Server service and add the host to the DVS.


Additional Information


尝试向 DVS 添加 ESXi 5.x 和 6.0 主机时,主机缺失或列表为空