"'Command: ['/usr/sbin/vpxd', '-L'] Stderr:" error upgrading to vCenter Server to 6.5
search cancel

"'Command: ['/usr/sbin/vpxd', '-L'] Stderr:" error upgrading to vCenter Server to 6.5

book

Article ID: 341723

calendar_today

Updated On:

Products

VMware vCenter Server

Issue/Introduction

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)
    </time></time>
    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.</time></time>



    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.



Environment

VMware vCenter Server 6.5.x
VMware vCenter Server Appliance 6.5.x

Resolution

To resolve this issue:
  1. Detect duplicate names of Distributed Virtual Portgroups and Distributed Virtual Switches.
  2. Rename Distributed Virtual Switches or Distributed Virtual Portgroups that have the same names before you upgrade.
  3. Verify that there are no duplicate names in the same network folder.

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

  1. 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.
     
  2. 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)