[VOL-3930] Using a shared lock for Resource acquisition and release
Change-Id: Ibf6346135380ab14d0c89f0e2945ebefdee1b4f9
diff --git a/internal/pkg/core/device_handler_test.go b/internal/pkg/core/device_handler_test.go
index 012ce51..1cae8b6 100644
--- a/internal/pkg/core/device_handler_test.go
+++ b/internal/pkg/core/device_handler_test.go
@@ -20,6 +20,7 @@
import (
"context"
conf "github.com/opencord/voltha-lib-go/v4/pkg/config"
+ tp "github.com/opencord/voltha-lib-go/v4/pkg/techprofile"
"net"
"reflect"
"sync"
@@ -193,15 +194,23 @@
ranges["gemport_id_shared"] = uint32(0)
ranges["flow_id_shared"] = uint32(0)
- ponmgr := &ponrmgr.PONResourceManager{
- DeviceID: "onu-1",
- IntfIDs: []uint32{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15},
- KVStore: &db.Backend{
- Client: &mocks.MockKVClient{},
- },
- PonResourceRanges: ranges,
- SharedIdxByType: sharedIdxByType,
+ ponmgr := &ponrmgr.PONResourceManager{}
+
+ ctx := context.TODO()
+ tpMgr, err := tp.NewTechProfile(ctx, ponmgr, "etcd", "127.0.0.1", "/")
+ if err != nil {
+ logger.Fatal(ctx, err.Error())
}
+
+ ponmgr.DeviceID = "onu-1"
+ ponmgr.IntfIDs = []uint32{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}
+ ponmgr.KVStore = &db.Backend{
+ Client: &mocks.MockKVClient{},
+ }
+ ponmgr.PonResourceRanges = ranges
+ ponmgr.SharedIdxByType = sharedIdxByType
+ ponmgr.TechProfileMgr = tpMgr
+
for i := 0; i < NumPonPorts; i++ {
dh.resourceMgr.ResourceMgrs[uint32(i)] = ponmgr
}
diff --git a/internal/pkg/core/openolt_flowmgr.go b/internal/pkg/core/openolt_flowmgr.go
index 680df66..31ca07d 100644
--- a/internal/pkg/core/openolt_flowmgr.go
+++ b/internal/pkg/core/openolt_flowmgr.go
@@ -840,6 +840,9 @@
}
logger.Infow(ctx, "allocated-tcont-and-gem-ports",
log.Fields{
+ "intf-id": intfID,
+ "onu-id": onuID,
+ "uni-id": uniID,
"alloc-ids": allocIDs,
"gemports": allgemPortIDs,
"device-id": f.deviceHandler.device.Id})