dvPortgroup Inheritance

June 15, 2013

Table of Contents

Someone may claim the default settings for portgroup inheritance in the dvSwitches, they may be missing in the vSphere client but they still exist and can be set in the API.The real problem was every new dvPortgroup does not have the correct settings for the environment, so you have to manually and set them after the dvGroup is created. vCloud Director compounds the issue because users can create dvPortgroup but don’t have access to change them(e.g.security, failover). So I found a defaultPortConfig, by using the ReconfigureDvs_Task, Iwrote the following PowerCLI script:


#Get the dvSwitch I want to edit

$dvswitch = Get-VirtualSwitch name dvSwitch -distributed | Get-View

#create the spec, note the object type

$spec = New-Object VMware.Vim.DVSConfigSpec

$spec.configVersion = $dvswitch.Config.ConfigVersion

$spec.defaultPortConfig = New-Object VMware.Vim.VMwareDVSPortSetting

$spec.defaultPortConfig.uplinkTeamingPolicy = New-Object VMware.Vim.VmwareUplinkPortTeamingPolicy


$spec.defaultPortConfig.uplinkTeamingPolicy.policy = New-Object VMware.Vim.StringPolicy

$spec.defaultPortConfig.uplinkTeamingPolicy.policy.inherited = $false

$spec.defaultPortConfig.uplinkTeamingPolicy.policy.value = “failover_explicit”

#notify switches

$spec.defaultPortConfig.uplinkTeamingPolicy.notifySwitches = New-Object VMware.Vim.BoolPolicy

$spec.defaultPortConfig.uplinkTeamingPolicy.notifySwitches.inherited = $false

$spec.defaultPortConfig.uplinkTeamingPolicy.notifySwitches.value = $true

#rolling order

$spec.defaultPortConfig.uplinkTeamingPolicy.rollingOrder = New-Object VMware.Vim.BoolPolicy

$spec.defaultPortConfig.uplinkTeamingPolicy.rollingOrder.inherited = $false

$spec.defaultPortConfig.uplinkTeamingPolicy.rollingOrder.value = $false

#failure criteria

$spec.defaultPortConfig.uplinkTeamingPolicy.failureCriteria = New-Object VMware.Vim.DVSFailureCriteria

$spec.defaultPortConfig.uplinkTeamingPolicy.failureCriteria.inherited = $false

$spec.defaultPortConfig.uplinkTeamingPolicy.failureCriteria.checkBeacon = New-Object VMware.Vim.BoolPolicy

$spec.defaultPortConfig.uplinkTeamingPolicy.failureCriteria.checkBeacon.inherited = $false

$spec.defaultPortConfig.uplinkTeamingPolicy.failureCriteria.checkBeacon.value = $true

#uplink port order

$spec.defaultPortConfig.uplinkTeamingPolicy.uplinkPortOrder = New-Object VMware.Vim.VMwareUplinkPortOrderPolicy

$spec.defaultPortConfig.uplinkTeamingPolicy.uplinkPortOrder.inherited = $false

$spec.defaultPortConfig.uplinkTeamingPolicy.uplinkPortOrder.activeUplinkPort = New-Object System.String[] (2)

$spec.defaultPortConfig.uplinkTeamingPolicy.uplinkPortOrder.activeUplinkPort[0] = “dvUplink1”

$spec.defaultPortConfig.uplinkTeamingPolicy.uplinkPortOrder.activeUplinkPort[1] = “dvUplink3”

$spec.defaultPortConfig.uplinkTeamingPolicy.uplinkPortOrder.standbyUplinkPort = New-Object System.String[] (2)

$spec.defaultPortConfig.uplinkTeamingPolicy.uplinkPortOrder.standbyUplinkPort[0] = “dvUplink2”

$spec.defaultPortConfig.uplinkTeamingPolicy.uplinkPortOrder.standbyUplinkPort[1] = “dvUplink4”

#push the reconfig


If your failover settings is different and the script is not working visit the VMwareDVSPortSettingfor more information.

Share on
More posts

Dedicated Servers Quick Guide

What is a Dedicated Servers? Why bother using a dedicated server over a VPS or Shared Hosting?A dedicated server is a server 100% dedicated to your website/project or business needs.

Easy Website Creation Software

At 247Rack, we want to help you understand how easy it can be to create online shops, media streaming websites, education. Any kinds of websites you would like to setup

Emailing vCloud Organization Users

Due to a lot of requests I found necessary to show you guys who might be having a problem using the “notify users” function in the vCloud Director web UI

Get 90% Discount

First 3 People gets the Bonus!
Don't Miss Out Our Big Sale

Get 0-90% On All
247Rack Services


The Sale Is Until The End Of March