Upgrading vSphere Distributed Switch after upgrading vCenter to 6.7 shows the message “An upgrade for the vSphere Distributed switch in datacenter is in progress”
search cancel

Upgrading vSphere Distributed Switch after upgrading vCenter to 6.7 shows the message “An upgrade for the vSphere Distributed switch in datacenter is in progress”

book

Article ID: 318804

calendar_today

Updated On:

Products

VMware vCenter Server

Issue/Introduction

After upgrading to vCenter 6.7 and then attempting a vSphere Distributed Switch upgrade from vDS 6.5 to vDS 6.6 or later version via the web client, results in the following message:

An upgrade for the vSphere Distributed switch in datacenter is in progress

Environment

  • VMware vCenter Server 6.7.x
  • VMware vCenter Server 7.x

Cause

The VDS property is not synchronized with the current status in the vpxd memory and database.

Resolution

The message "An upgrade for the vSphere Distributed switch in datacenter is in progress" may still appear even after the upgrade is complete. This happens if no host member is available in the vSphere Distributed Switch configuration, or if a host member has failed to upgrade several times.

This is resolved in vCenter 6.7 U2 - VMware vSphere 6.7 Release Notes. Download Broadcom products and software through KB Download Broadcom products, patches and software.

Workaround 1

  1. Take a snapshot of vCenter
  2. SSH to vCenter via root
  3. Connect to the vCenter's database (VCDB)

    /opt/vmware/vpostgres/current/bin/psql -d VCDB -U postgres

  4. Update the record

    update vpx_dvs upgrade_status set upgrade_status=0;

  5. Exit the VCDB

    \q

  6. Restart the VPXD service 

    vmon-cli -r vpxd

Workaround 2

Add a new portgroup on the VDS and then delete the newly added portgroup. This will make the web client to show the synced status.

Workaround 3

In some cases, there are host(s) that have not updated during the upgrade and their vDS versions from the 'etherswitch' (vDS 6.5) to the 'cswitch' (vDS 6.7 or later).

This can be confirmed by:

  1. Checking the hosts that are showing out of sync or,
  2. through SSH to one of the hosts and entering the command:

    net-dvs -l | less

    where at the top the vDS type is displayed e.g. 'etherswitch' or 'cswitch'. This can help identify which ESXi hosts the upgrade was not pushed to. 

To resolve this discrepancy, remove the identified 'etherswitch' ESXi host(s) from the vDS through the 'Remove Host(s)' wizard in the vDS 'Networking' tab on vCenter, followed by re-adding it back. It may be required to remove all associations from the vDS first before the ESXi host removal. In other words, moving VMs, vmkernel(s) and uplinks from the vDS to a standard switch.

Reference the following KBs on guidance on how to migrate VMs and VMKernel adapters from Distributed Switches (vDS) to Standard Switches (vSS).