When you attempt to add or configure networking on a vSphere Distributed Switch on a host, the operation is rolled back and the host is disconnected from vCenter Server.

Problem

In vSphere 5.1 or later, an attempt to perform a networking configuration operation on a vSphere Distributed Switch on a host, such as creating a virtual machine adapter or a port group, causes the host to disconnect from vCenter Server and results in the error message Transaction has rolled back on the host.

Cause

Under stressful conditions on a host, that is, if many concurrent networking operations compete for limited resources, the time to perform some of the operations might exceed the default timeout for rollback of network configuration operations on the distributed switch. As a result, these operations are rolled back.

For example, such a condition might come up when you create a VMkernel adapter on a host that has a very high number of switch ports or virtual adapters, all of which consume system resources on the host.

The default timeout to roll an operation back is 30 seconds.

Solution

  • Use the vSphere Web Client to increase the timeout for rollback on vCenter Server.
    If you encounter the same problem again, increase the rollback timeout with 60 seconds incrementally until the operation has enough time to succeed.
    1. On the Configure tab of a vCenter Server instance, expand Settings.
    2. Select Advanced Settings and click Edit.
    3. If the property is not present, add the config.vpxd.network.rollbackTimeout parameter to the settings.
    4. Type a new value, in seconds, for the config.vpxd.network.rollbackTimeout parameter
    5. Click OK.
    6. Restart the vCenter Server system to apply the changes.
  • Increase the timeout for rollback by editing the vpxd.cfg configuration file.
    If you encounter the same problem again, increase the rollback timeout with 60 seconds incrementally until the operation has enough time to succeed.
    1. On a vCenter Server instance, navigate to the directory that contains the vpxd.cfg configuration file.
      • On a Windows Server operating system, navigate to vCenter Server home directory\Application Data\VMware\VMware VirtualCenter.
      • On the vCenter Server Appliance, navigate to /etc/vmware-vpx.
    2. Open the vpxd.cfg file for editing.
    3. Under the <network> section, increase the timeout, in the <rollbackTimeout> element.
      <config>
        <vpxd>
          <network>
            <rollbackTimeout>60</rollbackTimeout>
          </network>
        </vpxd>
      </config>
    4. Save and close the file.
    5. Restart the vCenter Server system to apply the changes.