diff --git a/simulator/dvs.go b/simulator/dvs.go index 05216ef0c..508852a46 100644 --- a/simulator/dvs.go +++ b/simulator/dvs.go @@ -277,18 +277,12 @@ func (s *DistributedVirtualSwitch) dvPortgroups(_ *types.DistributedVirtualSwitc for _, ref := range s.Portgroup { pg := Map.Get(ref).(*DistributedVirtualPortgroup) - res = append(res, types.DistributedVirtualPort{ - DvsUuid: s.Uuid, - Key: pg.Key, - Config: types.DVPortConfigInfo{ - Setting: pg.Config.DefaultPortConfig, - }, - }) for _, key := range pg.PortKeys { res = append(res, types.DistributedVirtualPort{ - DvsUuid: s.Uuid, - Key: key, + DvsUuid: s.Uuid, + Key: key, + PortgroupKey: pg.Key, Config: types.DVPortConfigInfo{ Setting: pg.Config.DefaultPortConfig, }, diff --git a/simulator/dvs_test.go b/simulator/dvs_test.go index 6fcb2716f..138f578a0 100644 --- a/simulator/dvs_test.go +++ b/simulator/dvs_test.go @@ -124,7 +124,9 @@ func TestDVS(t *testing.T) { } else { switch test.op { case types.ConfigSpecOperationAdd: - dtask, err = dswitch.AddPortgroup(ctx, []types.DVPortgroupConfigSpec{{Name: test.pg}}) + dtask, err = dswitch.AddPortgroup(ctx, []types.DVPortgroupConfigSpec{ + {Name: test.pg, NumPorts: 1}, + }) } } diff --git a/simulator/folder.go b/simulator/folder.go index 7048a688a..ac93249bf 100644 --- a/simulator/folder.go +++ b/simulator/folder.go @@ -640,8 +640,9 @@ func (f *Folder) CreateDVSTask(ctx *Context, req *types.CreateDVS_Task) soap.Has dvs.AddDVPortgroupTask(ctx, &types.AddDVPortgroup_Task{ Spec: []types.DVPortgroupConfigSpec{{ - Name: dvs.Name + "-DVUplinks" + strings.TrimPrefix(dvs.Self.Value, "dvs"), - Type: string(types.DistributedVirtualPortgroupPortgroupTypeEarlyBinding), + Name: dvs.Name + "-DVUplinks" + strings.TrimPrefix(dvs.Self.Value, "dvs"), + Type: string(types.DistributedVirtualPortgroupPortgroupTypeEarlyBinding), + NumPorts: 1, DefaultPortConfig: &types.VMwareDVSPortSetting{ Vlan: &types.VmwareDistributedVirtualSwitchTrunkVlanSpec{ VlanId: []types.NumericRange{{Start: 0, End: 4094}}, diff --git a/simulator/model.go b/simulator/model.go index 594ed1374..d6ace75ed 100644 --- a/simulator/model.go +++ b/simulator/model.go @@ -654,8 +654,9 @@ func (m *Model) Create() error { for npg := 0; npg < m.Portgroup; npg++ { name := m.fmtName(dcName+"_DVPG", npg) spec := types.DVPortgroupConfigSpec{ - Name: name, - Type: string(types.DistributedVirtualPortgroupPortgroupTypeEarlyBinding), + Name: name, + Type: string(types.DistributedVirtualPortgroupPortgroupTypeEarlyBinding), + NumPorts: 1, } task, err := dvs.AddPortgroup(ctx, []types.DVPortgroupConfigSpec{spec})