Skip to content

Commit 8cdf0a2

Browse files
authored
Merge pull request #412 from heypnus/vpc/subnetport/api_migration
Update the struct from SegmentPort to VpcSubnetPort for the SDK API upgrade
2 parents 9823b7c + 748fa4c commit 8cdf0a2

File tree

5 files changed

+26
-29
lines changed

5 files changed

+26
-29
lines changed

pkg/nsx/services/mediator/mediator.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ func (serviceMediator *ServiceMediator) GetAvailableSubnet(subnetSet *v1alpha1.S
8585
return serviceMediator.CreateOrUpdateSubnet(subnetSet, tags)
8686
}
8787

88-
func (serviceMediator *ServiceMediator) GetPortsOfSubnet(nsxSubnetID string) (ports []model.SegmentPort) {
88+
func (serviceMediator *ServiceMediator) GetPortsOfSubnet(nsxSubnetID string) (ports []model.VpcSubnetPort) {
8989
subnetPortList := serviceMediator.SubnetPortStore.GetByIndex(common.IndexKeySubnetID, nsxSubnetID)
9090
return subnetPortList
9191
}

pkg/nsx/services/subnetport/builder.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ var (
2020
String = common.String
2121
)
2222

23-
func (service *SubnetPortService) buildSubnetPort(obj interface{}, nsxSubnetPath string, contextID string, labelTags *map[string]string) (*model.SegmentPort, error) {
23+
func (service *SubnetPortService) buildSubnetPort(obj interface{}, nsxSubnetPath string, contextID string, labelTags *map[string]string) (*model.VpcSubnetPort, error) {
2424
var objName, objNamespace, uid, appId string
2525
switch o := obj.(type) {
2626
case *v1alpha1.SubnetPort:
@@ -59,7 +59,7 @@ func (service *SubnetPortService) buildSubnetPort(obj interface{}, nsxSubnetPath
5959
tags = append(tags, model.Tag{Scope: String(k), Tag: String(v)})
6060
}
6161
}
62-
nsxSubnetPort := &model.SegmentPort{
62+
nsxSubnetPort := &model.VpcSubnetPort{
6363
DisplayName: String(nsxSubnetPortName),
6464
Id: String(nsxSubnetPortID),
6565
Attachment: &model.PortAttachment{

pkg/nsx/services/subnetport/compare.go

+4-4
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import (
88
)
99

1010
type (
11-
SubnetPort model.SegmentPort
11+
SubnetPort model.VpcSubnetPort
1212
)
1313

1414
type Comparable = common.Comparable
@@ -40,10 +40,10 @@ func (sp *SubnetPort) Value() data.DataValue {
4040
return dataValue
4141
}
4242

43-
func SubnetPortToComparable(sp *model.SegmentPort) Comparable {
43+
func SubnetPortToComparable(sp *model.VpcSubnetPort) Comparable {
4444
return (*SubnetPort)(sp)
4545
}
4646

47-
func ComparableToSubnetPort(sp Comparable) *model.SegmentPort {
48-
return (*model.SegmentPort)(sp.(*SubnetPort))
47+
func ComparableToSubnetPort(sp Comparable) *model.VpcSubnetPort {
48+
return (*model.VpcSubnetPort)(sp.(*SubnetPort))
4949
}

pkg/nsx/services/subnetport/store.go

+15-15
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import (
1313
// keyFunc is used to get the key of a resource, usually, which is the ID of the resource
1414
func keyFunc(obj interface{}) (string, error) {
1515
switch v := obj.(type) {
16-
case model.SegmentPort:
16+
case model.VpcSubnetPort:
1717
return *v.Id, nil
1818
case types.UID:
1919
return string(v), nil
@@ -36,7 +36,7 @@ func filterTag(tags []model.Tag, tagScope string) []string {
3636
// index is used to filter out resources which are related to the CR
3737
func subnetPortIndexByCRUID(obj interface{}) ([]string, error) {
3838
switch o := obj.(type) {
39-
case model.SegmentPort:
39+
case model.VpcSubnetPort:
4040
return filterTag(o.Tags, common.TagScopeSubnetPortCRUID), nil
4141
default:
4242
return nil, errors.New("subnetPortIndexByCRUID doesn't support unknown type")
@@ -45,7 +45,7 @@ func subnetPortIndexByCRUID(obj interface{}) ([]string, error) {
4545

4646
func subnetPortIndexByPodUID(obj interface{}) ([]string, error) {
4747
switch o := obj.(type) {
48-
case model.SegmentPort:
48+
case model.VpcSubnetPort:
4949
return filterTag(o.Tags, common.TagScopePodUID), nil
5050
default:
5151
return nil, errors.New("subnetPortIndexByCRUID doesn't support unknown type")
@@ -54,7 +54,7 @@ func subnetPortIndexByPodUID(obj interface{}) ([]string, error) {
5454

5555
func subnetPortIndexBySubnetID(obj interface{}) ([]string, error) {
5656
switch o := obj.(type) {
57-
case model.SegmentPort:
57+
case model.VpcSubnetPort:
5858
vpcInfo, err := common.ParseVPCResourcePath(*o.Path)
5959
if err != nil {
6060
return nil, err
@@ -75,7 +75,7 @@ func (vs *SubnetPortStore) Apply(i interface{}) error {
7575
if i == nil {
7676
return nil
7777
}
78-
subnetPort := i.(*model.SegmentPort)
78+
subnetPort := i.(*model.VpcSubnetPort)
7979
if subnetPort.MarkedForDelete != nil && *subnetPort.MarkedForDelete {
8080
err := vs.Delete(*subnetPort)
8181
log.V(1).Info("delete SubnetPort from store", "subnetport", subnetPort)
@@ -92,34 +92,34 @@ func (vs *SubnetPortStore) Apply(i interface{}) error {
9292
return nil
9393
}
9494

95-
func (subnetPortStore *SubnetPortStore) GetByKey(key string) *model.SegmentPort {
96-
var subnetPort model.SegmentPort
95+
func (subnetPortStore *SubnetPortStore) GetByKey(key string) *model.VpcSubnetPort {
96+
var subnetPort model.VpcSubnetPort
9797
obj := subnetPortStore.ResourceStore.GetByKey(key)
9898
if obj != nil {
99-
subnetPort = obj.(model.SegmentPort)
99+
subnetPort = obj.(model.VpcSubnetPort)
100100
}
101101
return &subnetPort
102102
}
103103

104-
func (subnetPortStore *SubnetPortStore) GetByIndex(key string, value string) []model.SegmentPort {
105-
segmentPorts := make([]model.SegmentPort, 0)
104+
func (subnetPortStore *SubnetPortStore) GetByIndex(key string, value string) []model.VpcSubnetPort {
105+
subnetPorts := make([]model.VpcSubnetPort, 0)
106106
objs := subnetPortStore.ResourceStore.GetByIndex(key, value)
107107
for _, subnetPort := range objs {
108-
segmentPorts = append(segmentPorts, subnetPort.(model.SegmentPort))
108+
subnetPorts = append(subnetPorts, subnetPort.(model.VpcSubnetPort))
109109
}
110-
return segmentPorts
110+
return subnetPorts
111111
}
112112

113-
func (vs *SubnetPortStore) GetSubnetPortsByNamespace(ns string) []model.SegmentPort {
114-
var ret []model.SegmentPort
113+
func (vs *SubnetPortStore) GetSubnetPortsByNamespace(ns string) []model.VpcSubnetPort {
114+
var ret []model.VpcSubnetPort
115115
subnetPorts := vs.List()
116116
if len(subnetPorts) == 0 {
117117
log.V(1).Info("No subnet port found in SubnetPort store")
118118
return ret
119119
}
120120

121121
for _, subnetPort := range subnetPorts {
122-
msubnetport := subnetPort.(model.SegmentPort)
122+
msubnetport := subnetPort.(model.VpcSubnetPort)
123123
tags := msubnetport.Tags
124124
for _, tag := range tags {
125125
// TODO: consider to create index for common.TagScopeNamespace like common.TagScopeSubnetPortCRUID, and leverage functions like getByIndex to perform searches.

pkg/nsx/services/subnetport/subnetport.go

+4-7
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ func InitializeSubnetPort(service servicecommon.Service) (*SubnetPortService, er
5252
servicecommon.TagScopePodUID: subnetPortIndexByPodUID,
5353
servicecommon.IndexKeySubnetID: subnetPortIndexBySubnetID,
5454
}),
55-
BindingType: model.SegmentPortBindingType(),
55+
BindingType: model.VpcSubnetPortBindingType(),
5656
}}
5757

5858
go subnetPortService.InitializeResourceStore(&wg, fatalErrors, ResourceTypeSubnetPort, nil, subnetPortService.SubnetPortStore)
@@ -82,9 +82,7 @@ func (service *SubnetPortService) CreateOrUpdateSubnetPort(obj interface{}, nsxS
8282
uid = string(o.UID)
8383
}
8484
log.Info("creating or updating subnetport", "nsxSubnetPort.Id", uid, "nsxSubnetPath", nsxSubnetPath)
85-
//nsxSubnetPort, err := service.buildSubnetPort(obj, nsxSubnetPath, contextID, tags)
86-
nsxSubnetPort := &model.VpcSubnetPort{}
87-
var err error
85+
nsxSubnetPort, err := service.buildSubnetPort(obj, nsxSubnetPath, contextID, tags)
8886
if err != nil {
8987
log.Error(err, "failed to build NSX subnet port", "nsxSubnetPort.Id", uid, "nsxSubnetPath", nsxSubnetPath, "contextID", contextID)
9088
return nil, err
@@ -95,8 +93,7 @@ func (service *SubnetPortService) CreateOrUpdateSubnetPort(obj interface{}, nsxS
9593
return nil, err
9694
}
9795
existingSubnetPort := service.SubnetPortStore.GetByKey(*nsxSubnetPort.Id)
98-
//isChanged := servicecommon.CompareResource(SubnetPortToComparable(existingSubnetPort), SubnetPortToComparable(nsxSubnetPort))
99-
isChanged := false
96+
isChanged := servicecommon.CompareResource(SubnetPortToComparable(existingSubnetPort), SubnetPortToComparable(nsxSubnetPort))
10097
if !isChanged {
10198
log.Info("NSX subnet port not changed, skipping the update", "nsxSubnetPort.Id", nsxSubnetPort.Id, "nsxSubnetPath", nsxSubnetPath)
10299
// We don't need to update it but still need to check realized state.
@@ -261,7 +258,7 @@ func (service *SubnetPortService) Cleanup() error {
261258
subnetPorts := service.SubnetPortStore.List()
262259
log.Info("cleanup subnetports", "count", len(subnetPorts))
263260
for _, subnetPort := range subnetPorts {
264-
subnetPortID := types.UID(*subnetPort.(model.SegmentPort).Id)
261+
subnetPortID := types.UID(*subnetPort.(model.VpcSubnetPort).Id)
265262
err := service.DeleteSubnetPort(subnetPortID)
266263
if err != nil {
267264
log.Error(err, "cleanup subnetport failed", "subnetPortID", subnetPortID)

0 commit comments

Comments
 (0)