dvPortgroup Inheritance

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.

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.

Power combined: PowerCLI and OVFTool

Power combined: Combining two good things creates wonders. In this post I will show how to combine the automation abilities of PowerCLI with OVFTool. You first have to get some

How to be a PowerCLI Ninja

Many people are becoming curious about the powershell/powerCLI and how to become a Powershell/PowerCLI ninja and I think the following tips will help one go a long way to become

vSphere 5.1 New Storage Features

VMFS File Sharing Limits In previous versions of vSphere, the maximum number of hosts which could share a read-only file on a VMFS volume was 8. The primary use case