Search the VMware Knowledge Base (KB)
View by Article ID

Detect and update duplicate names of Distributed Virtual Switches and Distributed Virtual Portgroups before upgrading vCenter Server (2147547)

  • 1 Ratings
Language Editions

Details

vSphere 6.5 allows only unique names across all Distributed Virtual Switches and Distributed Virtual Portgroups in the same network folder. Earlier versions of vSphere allowed a Distributed Virtual Switch and a Distributed Virtual Portgroup to have the same name. If you attempt to upgrade from a version that allows duplicate names, the upgrade fails.

When upgrading a vSphere environment that does not have a unique name, you experience these symptoms:
  • Upgrading the vCenter Server fails with the error:

    VMware VirtualCenter failed firstboot. An error occurred while invoking external command : 'Command: ['/usr/sbin/vpxd', '-L'] Stderr:

  • In the vpxd.log file, you see entries similar to:

    YYYY-MM-DDT<TIME> error vpxd[7F5AEEC9D800] [Originator@6876 sub=InvtGroup] Duplicate entry found for child: dvSwitchLoadtest in folder: network
    YYYY-MM-DDT<TIME> error vpxd[7F5AEEC9D800] [Originator@6876 sub=Main] Init failed. Exception: N3Vim5Fault13DuplicateName9ExceptionE(vim.fault.DuplicateName)
    YYYY-MM-DDT<TIME> ERROR starting vpxd rc: 2, stdout: , stderr: Start service request failed. Error: Service crashed while starting.
    YYYY-MM-DDT<TIME> VirtualCenter firstboot failed.



    Notes:

    • The preceding log excerpts are only examples. Date, time, and environmental variables may vary depending on your environment. 

    •  The dvSwitchLoadtest and network folder names vary depending on the environments configuration.

    • The vpxd.log file is located at:

      • Windows vCenter Server: %ALLUSERSPROFILE%\VMWare\vCenterServer\logs folder.

      • vCenter Server Appliance: /var/log/vmware/ folder.

Solution

To resolve this issue, rename any Distributed Virtual Switches or Distributed Virtual Portgroups that have the same names before you upgrade.

Detect duplicate names of Distributed Virtual Portgroups and Distributed Virtual Switches

  1. Connect to the vCenter Server database. For more information, see Connecting to vPostgres Databases.
  2. List entries in the Distributed Virtual Portgroup table by running this command:

    select id,dvportgroup_name from VPX_DVPORTGROUP;

    For example:

    select id,dvportgroup_name from VPX_DVPORTGROUP;
    id | dvportgroup_name
    ----+------------------------
    8 | DSwitch-DVUplinks-7
    18 | DSwitch 1-DVUplinks-17
    19 | DPortGroup 2
    11 | DSwitch
    9 | DSwitch 1
    (5 rows)


  3. List entries in the Distributed Virtual Switch table table by running this command:

    select id,name from VPX_DVS;

    For example:

    select id,name from VPX_DVS;
    id | name
    ----+-----------
    7 | DSwitch
    17 | DSwitch 1
    (2 rows)

  4. List entries in the entities table table by running this command:

    select id,name,parent_id from VPX_ENTITY;

    Note: The parent_id for the conflicting Distributed Virtual Switch and Distributed Virtual Portgroup names. The same parent_id indicates the same network folder. Change only the duplicate names in the same network folder.

    For example:

    select id,name,parent_id from VPX_ENTITY;

    id | name | parent_id
    ----+------------------------+-----------
    1 | Datacenters |
    2 | Datacenter | 1
    3 | vm | 2
    4 | host | 2
    5 | datastore | 2
    6 | network | 2
    7 | DSwitch | 6
    8 | DSwitch-DVUplinks-7 | 6
    12 | Datacenter 1 | 1
    13 | vm | 12
    14 | host | 12
    15 | datastore | 12
    16 | network | 12
    17 | DSwitch 1 | 16
    18 | DSwitch 1-DVUplinks-17 | 16
    19 | DPortGroup 2 | 16
    11 | DSwitch | 6
    9 | DSwitch 1 | 6
    (18 rows)

  5. Detect duplicate names of Distributed Virtual Portgroups and Distributed Virtual Switches by running the following command:


    select id,dvportgroup_name from VPX_DVPORTGROUP where dvportgroup_name in (select name from VPX_DVS group by name) AND dvportgroup_name in (select name from VPX_ENTITY group by name,parent_id having count(*) > 1);

    Example output:

    id | dvportgroup_name
    ----+------------------
    11 | DSwitch
    (1 row)

Rename Distributed Virtual Portgroups or Distributed Virtual Switches

  • Update the Distributed Virtual Portgroup table by running these commands:

    update VPX_DVPORTGROUP set dvportgroup_name='DPortGroup 1' where id=11;

    update VPX_ENTITY set name='DPortGroup 1' where id=11;

    Note: After running each command, you will see the output as UPDATE 1.

  • Update the Distributed Virtual Switchtable by running these commands:

    update VPX_DVS set name='DSwitch 2' where id=7;

    update VPX_ENTITY set name='DSwitch 2' where id=7;

    Note: After running each command, you will see the output as UPDATE 1.

Verify that there are no duplicate names in the same network folder

After you rename the Distributed Virtual Portgroups or Distributed Virtual Switch, verify that there are no duplicate names in the same network folder by running this command:

select id,dvportgroup_name from VPX_DVPORTGROUP where dvportgroup_name in (select name from VPX_DVS group by name) AND dvportgroup_name in (select name from VPX_ENTITY group by name,parent_id having count(*) > 1);

The output should be:

id | dvportgroup_name
----+------------------
(0 rows)

Request a Product Feature

To request a new product feature or to provide feedback on a VMware product, please visit the Request a Product Feature page.

Feedback

  • 1 Ratings

Did this article help you?
This article resolved my issue.
This article did not resolve my issue.
This article helped but additional information was required to resolve my issue.

What can we do to improve this information? (4000 or fewer characters)




Please enter the Captcha code before clicking Submit.
  • 1 Ratings
Actions
KB: