VOL-4260: Fix Duplicate T-Cont AllocId assigned to two different ONU devices

- The openolt resourcemanager used a different set of locks from TechProfile
  module for PON resource management resulting in corruption of resource
  pool. This bug was introduced as part of VOL-3936.

Change-Id: Ic4ac0dfb5abb3603206568c56b978ce66ea1adc8
diff --git a/internal/pkg/core/device_handler_test.go b/internal/pkg/core/device_handler_test.go
index f041249..57103c4 100644
--- a/internal/pkg/core/device_handler_test.go
+++ b/internal/pkg/core/device_handler_test.go
@@ -213,42 +213,24 @@
 		dh.resourceMgr[i].PonRsrMgr = ponmgr
 	}
 
-	/*
-		tpMgr, err := tp.NewTechProfile(ctx, ponmgr, "etcd", "127.0.0.1", "/")
-		if err != nil {
-			logger.Fatal(ctx, err.Error())
-		}
-	*/
-
 	ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
 	defer cancel()
 	dh.groupMgr = NewGroupManager(ctx, dh, dh.resourceMgr[0])
 	dh.totalPonPorts = NumPonPorts
 	dh.flowMgr = make([]*OpenOltFlowMgr, dh.totalPonPorts)
 	for i = 0; i < dh.totalPonPorts; i++ {
-		/*
-			// Instantiate flow manager
-			if dh.flowMgr[i] = NewFlowManager(ctx, dh, dh.resourceMgr[i], dh.groupMgr, uint32(i)); dh.flowMgr[i] == nil {
-				return nil
-			}
-
-		*/
 		dh.flowMgr[i] = &OpenOltFlowMgr{}
 		dh.flowMgr[i].deviceHandler = dh
 		dh.flowMgr[i].ponPortIdx = i
 		dh.flowMgr[i].grpMgr = dh.groupMgr
 		dh.flowMgr[i].resourceMgr = dh.resourceMgr[i]
-		/*
-			if err = flowMgr.populateTechProfilePerPonPort(ctx); err != nil {
-				logger.Errorw(ctx, "error-while-populating-tech-profile-mgr", log.Fields{"err": err})
-				return nil
-			}
-		*/
 		dh.flowMgr[i].techprofile = mocks.MockTechProfile{}
 		dh.flowMgr[i].gemToFlowIDs = make(map[uint32][]uint64)
 		dh.flowMgr[i].packetInGemPort = make(map[resourcemanager.PacketInInfoKey]uint32)
 		dh.flowMgr[i].flowIDToGems = make(map[uint64][]uint32)
 
+		dh.resourceMgr[i].TechprofileRef = dh.flowMgr[i].techprofile
+
 		// Create a slice of buffered channels for handling concurrent flows per ONU.
 		// The additional entry (+1) is to handle the NNI trap flows on a separate channel from individual ONUs channel
 		dh.flowMgr[i].incomingFlows = make([]chan flowControlBlock, MaxOnusPerPon+1)