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

#policy

$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

$dvswitch.ReconfigureDVS_Task($spec)

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

Share on
Facebook
Twitter
LinkedIn
Pinterest
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.

PowerCLI in the Cloud

Those who are active with PowerCLI sessions at VMWorld, you may still be having in your mind the mention of a vCloud snapin coming soon. It is going to be

Get 90% Discount

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

Get 0-90% On All
247Rack Services

247Rack

The Sale Is Until The End Of March