Cluster desired state Non-Compliance due to vSwitch0 bridge/nics configstore mismatch
search cancel

Cluster desired state Non-Compliance due to vSwitch0 bridge/nics configstore mismatch

book

Article ID: 429323

calendar_today

Updated On:

Products

VMware vCenter Server

Issue/Introduction

Cluster Desired State Configuration reports non-compliance for the profile path:
reportprofile/esx/network_vss/switches/0/bridge/nics Cluster value [].

Although remediation tasks complete successfully without any reported errors, the cluster continues to remain in a non-compliant state.

  • Upon checking the Cluster state configuration file and comparing it with the working cluster. See the following mismatch
==========================================
On Problematic node it is:
==========================================
{
  "name": "vSwitch0",
  "bridge": {
    "link_discovery_protocol": {
      "protocol": "CDP",
      "operation": "LISTEN"
    },
    "nics": []
  },
==========================================
On Working node it is:
==========================================
{
  "name": "vSwitch0",
  "bridge": {
    "link_discovery_protocol": {
      "protocol": "CDP",
      "operation": "LISTEN"
    }
  },
==========================================
  • The vswitch0 in configstore of ESX host Problematic and Working node is different.

Environment

vSphere 8.x

Cause

The issue is caused by version-specific behavior related to the "nics" property in the ESXi configstore.

  • In ESXi 7.x, when the last physical NIC (pNIC) is removed from vSwitch0, the "nics" property remained in the configstore with a value of [].

  • In ESXi 8.0.3, this behavior is corrected, and the "nics" property is automatically removed when the final NIC is detached.

Resolution

The workaround requires correcting the configstore on affected ESXi hosts where bridge/nics is set to [].

Steps:

  1. Download the fixBridgeNic.py script.

  2. Copy the script to all affected (or all) hosts in the cluster using WinSCP.

  3. Execute the script on each ESXi host:

    python fixBridgeNic.py
  4. This removes the unnecessary "nics": [] entry and aligns the configstore structure across the cluster, restoring compliance.

Attachments

fixBridgeNic.py get_app