Upgrade RMR version to 4.0.2 & remove load information from supported messages 02/3502/1
authorss412g <shuky.har-noy@intl.att.com>
Tue, 28 Apr 2020 12:40:31 +0000 (15:40 +0300)
committerss412g <shuky.har-noy@intl.att.com>
Tue, 28 Apr 2020 12:40:36 +0000 (15:40 +0300)
Change-Id: I291e99a9dc160ce4b66ad8a2d9738d9196289018
Signed-off-by: ss412g <shuky.har-noy@intl.att.com>
E2Manager/Dockerfile
E2Manager/build-e2mgr-ubuntu.sh
E2Manager/container-tag.yaml
E2Manager/converters/enb_load_information_extractor.go
E2Manager/converters/enb_load_information_extractor_test.go
E2Manager/handlers/rmrmsghandlers/enb_load_information_notification_handler.go
E2Manager/handlers/rmrmsghandlers/enb_load_information_notification_handler_test.go
E2Manager/handlers/rmrmsghandlers/ran_lost_connection_handler_test.go
E2Manager/providers/rmrmsghandlerprovider/notification_handler_provider.go
E2Manager/providers/rmrmsghandlerprovider/notification_handler_provider_test.go

index 1679468..b56f011 100755 (executable)
@@ -42,7 +42,7 @@ COPY --from=ubuntu /opt/E2Manager/router.txt /opt/E2Manager/router.txt
 COPY --from=ubuntu /opt/E2Manager/main /opt/E2Manager/main
 COPY --from=ubuntu /opt/E2Manager/resources/configuration.yaml /opt/E2Manager/resources/configuration.yaml
 COPY --from=ubuntu /opt/E2Manager/resources/rmr.verbose /tmp/rmr.verbose
 COPY --from=ubuntu /opt/E2Manager/main /opt/E2Manager/main
 COPY --from=ubuntu /opt/E2Manager/resources/configuration.yaml /opt/E2Manager/resources/configuration.yaml
 COPY --from=ubuntu /opt/E2Manager/resources/rmr.verbose /tmp/rmr.verbose
-COPY --from=ubuntu /usr/local/lib/librmr_si.so.3 /usr/local/lib/librmr_si.so.3
+COPY --from=ubuntu /usr/local/lib/librmr_si.so.4 /usr/local/lib/librmr_si.so.4
 
 WORKDIR /opt/E2Manager
 ENV LD_LIBRARY_PATH=/usr/local/lib \
 
 WORKDIR /opt/E2Manager
 ENV LD_LIBRARY_PATH=/usr/local/lib \
index 36ee1a8..bd56a39 100755 (executable)
@@ -31,11 +31,11 @@ set -eux
 echo "--> e2mgr-build-ubuntu.sh"
 
 # Install RMR from deb packages at packagecloud.io
 echo "--> e2mgr-build-ubuntu.sh"
 
 # Install RMR from deb packages at packagecloud.io
-rmr=rmr_3.8.2_amd64.deb
+rmr=rmr_4.0.2_amd64.deb
 wget --content-disposition https://packagecloud.io/o-ran-sc/release/packages/debian/stretch/$rmr/download.deb
 sudo dpkg -i $rmr
 rm $rmr
 wget --content-disposition https://packagecloud.io/o-ran-sc/release/packages/debian/stretch/$rmr/download.deb
 sudo dpkg -i $rmr
 rm $rmr
-rmrdev=rmr-dev_3.8.2_amd64.deb
+rmrdev=rmr-dev_4.0.2_amd64.deb
 wget --content-disposition https://packagecloud.io/o-ran-sc/release/packages/debian/stretch/$rmrdev/download.deb
 sudo dpkg -i $rmrdev
 rm $rmrdev
 wget --content-disposition https://packagecloud.io/o-ran-sc/release/packages/debian/stretch/$rmrdev/download.deb
 sudo dpkg -i $rmrdev
 rm $rmrdev
index 40417c8..4491f06 100644 (file)
@@ -1,4 +1,4 @@
 # The Jenkins job requires a tag to build the Docker image.
 # Global-JJB script assumes this file is in the repo root.
 ---
 # The Jenkins job requires a tag to build the Docker image.
 # Global-JJB script assumes this file is in the repo root.
 ---
-tag: 4.4.9
+tag: 4.4.10
index 64f5dbd..c7e5326 100644 (file)
@@ -19,7 +19,7 @@
 
 
 package converters
 
 
 package converters
-
+/*
 // #cgo CFLAGS: -I../3rdparty/asn1codec/inc/  -I../3rdparty/asn1codec/e2ap_engine/
 // #cgo LDFLAGS: -L ../3rdparty/asn1codec/lib/ -L../3rdparty/asn1codec/e2ap_engine/ -le2ap_codec -lasncodec
 // #include <asn1codec_utils.h>
 // #cgo CFLAGS: -I../3rdparty/asn1codec/inc/  -I../3rdparty/asn1codec/e2ap_engine/
 // #cgo LDFLAGS: -L ../3rdparty/asn1codec/lib/ -L../3rdparty/asn1codec/e2ap_engine/ -le2ap_codec -lasncodec
 // #include <asn1codec_utils.h>
@@ -687,3 +687,4 @@ func (*EnbLoadInformationExtractor) ExtractAndBuildRanLoadInformation(pdu *C.E2A
 
        return nil
 }
 
        return nil
 }
+*/
\ No newline at end of file
index 273d1d8..0346e35 100644 (file)
 
 package converters
 
 
 package converters
 
-import (
-       "gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/entities"
-)
-
-/*
-Test permutations of eNB Load Information to protobuf
-*/
-
-type LoadInformationTestCaseName string
-
-const LoadTimestamp = 1257894000000000000
-
-const (
-       SingleCellWithCellIdOnly     LoadInformationTestCaseName = "SINGLE CELL WITH CELL ID ONLY"   //base
-       SingleCellPartiallyPopulated LoadInformationTestCaseName = "SINGLE CELL PARTIALLY POPULATED" //8
-       TwoCellsFullInfo             LoadInformationTestCaseName = "TWO CELLS FULLY POPULATED"       //13
-)
-
-type LoadInformationTestCase struct {
-       loadInformationTestCaseName LoadInformationTestCaseName
-       packedUperPdu               string
-       packedAperPdu               string
-       expectedLoadInformation     *entities.RanLoadInformation
-}
-
-var testCases = []LoadInformationTestCase{
-       {
-               loadInformationTestCaseName: SingleCellWithCellIdOnly,
-               packedAperPdu:               "000240140000010006400d00000740080002f8290007ab50",
-               packedUperPdu:               "004898000400190d0000074200017c148003d5a80000",
-               expectedLoadInformation:     GenerateSingleCellWithCellIdOnlyRanLoadInformation(),
-       },
-       {
-               loadInformationTestCaseName: SingleCellPartiallyPopulated,
-               packedAperPdu:               "", //TODO: populate and USE
-               packedUperPdu:               "004b380004001961000007571e017c148003d5a8205000017c180003d5a875555003331420008007a85801f07c1f07c41f07c1e07801f2020000c680b0003220664102800d8908020000be0c4001ead4016e007ab50100002f8320067ab5005b8c1ead5070190c000000",
-               expectedLoadInformation:     GenerateSingleCellPartiallyPopulatedLoadInformation(),
-       },
-       {
-               loadInformationTestCaseName: TwoCellsFullInfo,
-               packedAperPdu:               "", //TODO: populate and USE
-               packedUperPdu:               "004c07080004001980da0100075bde017c148003d5a8205000017c180003d5a875555403331420000012883a0003547400cd20002801ea16007c1f07c1f107c1f0781e007c80800031a02c000c88199040a00352083669190000d8908020000be0c4001ead4016e007ab50100002f8320067ab5005b8c1ead5070190c00001d637805f220000f56a081400005f020000f56a1d555400ccc508002801ea16007c1f07c1f107c1f0781e007c80800031a02c000c88199040a00352083669190000d8908020000be044001ead4016e007ab50100002f8120067ab5005b8c1ead5070190c00000",
-               expectedLoadInformation:     GenerateTwoCellsFullyPopulatedRanLoadInformation(),
-       },
-}
+//import (
+//     "gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/entities"
+//)
+//
+///*
+//Test permutations of eNB Load Information to protobuf
+//*/
+//
+//type LoadInformationTestCaseName string
+//
+//const LoadTimestamp = 1257894000000000000
+//
+//const (
+//     SingleCellWithCellIdOnly     LoadInformationTestCaseName = "SINGLE CELL WITH CELL ID ONLY"   //base
+//     SingleCellPartiallyPopulated LoadInformationTestCaseName = "SINGLE CELL PARTIALLY POPULATED" //8
+//     TwoCellsFullInfo             LoadInformationTestCaseName = "TWO CELLS FULLY POPULATED"       //13
+//)
+//
+//type LoadInformationTestCase struct {
+//     loadInformationTestCaseName LoadInformationTestCaseName
+//     packedUperPdu               string
+//     packedAperPdu               string
+//     expectedLoadInformation     *entities.RanLoadInformation
+//}
+//
+//var testCases = []LoadInformationTestCase{
+//     {
+//             loadInformationTestCaseName: SingleCellWithCellIdOnly,
+//             packedAperPdu:               "000240140000010006400d00000740080002f8290007ab50",
+//             packedUperPdu:               "004898000400190d0000074200017c148003d5a80000",
+//             expectedLoadInformation:     GenerateSingleCellWithCellIdOnlyRanLoadInformation(),
+//     },
+//     {
+//             loadInformationTestCaseName: SingleCellPartiallyPopulated,
+//             packedAperPdu:               "", //TODO: populate and USE
+//             packedUperPdu:               "004b380004001961000007571e017c148003d5a8205000017c180003d5a875555003331420008007a85801f07c1f07c41f07c1e07801f2020000c680b0003220664102800d8908020000be0c4001ead4016e007ab50100002f8320067ab5005b8c1ead5070190c000000",
+//             expectedLoadInformation:     GenerateSingleCellPartiallyPopulatedLoadInformation(),
+//     },
+//     {
+//             loadInformationTestCaseName: TwoCellsFullInfo,
+//             packedAperPdu:               "", //TODO: populate and USE
+//             packedUperPdu:               "004c07080004001980da0100075bde017c148003d5a8205000017c180003d5a875555403331420000012883a0003547400cd20002801ea16007c1f07c1f107c1f0781e007c80800031a02c000c88199040a00352083669190000d8908020000be0c4001ead4016e007ab50100002f8320067ab5005b8c1ead5070190c00001d637805f220000f56a081400005f020000f56a1d555400ccc508002801ea16007c1f07c1f107c1f0781e007c80800031a02c000c88199040a00352083669190000d8908020000be044001ead4016e007ab50100002f8120067ab5005b8c1ead5070190c00000",
+//             expectedLoadInformation:     GenerateTwoCellsFullyPopulatedRanLoadInformation(),
+//     },
+//}
 
 //func TestExtractAndBuildRanLoadInformation(t *testing.T) {
 //     logger, _ := logger.InitLogger(logger.InfoLevel)
 
 //func TestExtractAndBuildRanLoadInformation(t *testing.T) {
 //     logger, _ := logger.InitLogger(logger.InfoLevel)
@@ -96,7 +96,7 @@ var testCases = []LoadInformationTestCase{
 //     }
 //}
 
 //     }
 //}
 
-func GenerateSingleCellWithCellIdOnlyRanLoadInformation() *entities.RanLoadInformation {
+/*func GenerateSingleCellWithCellIdOnlyRanLoadInformation() *entities.RanLoadInformation {
        return &entities.RanLoadInformation{
                LoadTimestamp: LoadTimestamp,
                CellLoadInfos: []*entities.CellLoadInformation{
        return &entities.RanLoadInformation{
                LoadTimestamp: LoadTimestamp,
                CellLoadInfos: []*entities.CellLoadInformation{
@@ -271,4 +271,4 @@ func GenerateTwoCellsFullyPopulatedRanLoadInformation() *entities.RanLoadInforma
                        },
                },
        }
                        },
                },
        }
-}
+}*/
index 3aa9b9d..4d0c384 100644 (file)
@@ -20,7 +20,7 @@
 
 package rmrmsghandlers
 
 
 package rmrmsghandlers
 
-import (
+/*import (
        "e2mgr/converters"
        "e2mgr/e2pdus"
        "e2mgr/logger"
        "e2mgr/converters"
        "e2mgr/e2pdus"
        "e2mgr/logger"
@@ -33,7 +33,7 @@ import (
 type EnbLoadInformationNotificationHandler struct {
        logger          *logger.Logger
        rnibDataService services.RNibDataService
 type EnbLoadInformationNotificationHandler struct {
        logger          *logger.Logger
        rnibDataService services.RNibDataService
-       extractor       converters.IEnbLoadInformationExtractor
+       //extractor       converters.IEnbLoadInformationExtractor
 }
 
 func NewEnbLoadInformationNotificationHandler(logger *logger.Logger, rnibDataService services.RNibDataService, extractor converters.IEnbLoadInformationExtractor) EnbLoadInformationNotificationHandler {
 }
 
 func NewEnbLoadInformationNotificationHandler(logger *logger.Logger, rnibDataService services.RNibDataService, extractor converters.IEnbLoadInformationExtractor) EnbLoadInformationNotificationHandler {
@@ -78,4 +78,4 @@ func (h EnbLoadInformationNotificationHandler) Handle(request *models.Notificati
        }
 
        h.logger.Infof("#EnbLoadInformationNotificationHandler.Handle - RAN name: %s - Successfully saved RAN load information to RNIB. elapsed: %f ms", request.RanName, elapsed(request.StartTime))
        }
 
        h.logger.Infof("#EnbLoadInformationNotificationHandler.Handle - RAN name: %s - Successfully saved RAN load information to RNIB. elapsed: %f ms", request.RanName, elapsed(request.StartTime))
-}
+}*/
index a83c0f3..743083b 100644 (file)
@@ -20,7 +20,7 @@
 
 package rmrmsghandlers
 
 
 package rmrmsghandlers
 
-import (
+/*import (
        "e2mgr/models"
        "fmt"
        "time"
        "e2mgr/models"
        "fmt"
        "time"
@@ -55,7 +55,7 @@ func createNotificationRequestAndHandle(ranName string, transactionId []byte, lo
 
        loadInformationHandler.Handle(notificationRequest)
        return nil
 
        loadInformationHandler.Handle(notificationRequest)
        return nil
-}
+}*/
 
 //func TestLoadInformationHandlerSuccess(t *testing.T) {
 //     log, err := logger.InitLogger(logger.InfoLevel)
 
 //func TestLoadInformationHandlerSuccess(t *testing.T) {
 //     log, err := logger.InitLogger(logger.InfoLevel)
index a1043a7..b1d3546 100644 (file)
@@ -1,4 +1,4 @@
-//// Copyright 2019 AT&T Intellectual Property
+               //// Copyright 2019 AT&T Intellectual Property
 //// Copyright 2019 Nokia
 ////
 //// Licensed under the Apache License, Version 2.0 (the "License");
 //// Copyright 2019 Nokia
 ////
 //// Licensed under the Apache License, Version 2.0 (the "License");
index d0b730c..8a93331 100644 (file)
@@ -64,7 +64,7 @@ func (provider *NotificationHandlerProvider) Init(logger *logger.Logger, config
        x2SetupFailureResponseConverter := converters.NewX2SetupFailureResponseConverter(logger)
        endcSetupResponseConverter := converters.NewEndcSetupResponseConverter(logger)
        endcSetupFailureResponseConverter := converters.NewEndcSetupFailureResponseConverter(logger)
        x2SetupFailureResponseConverter := converters.NewX2SetupFailureResponseConverter(logger)
        endcSetupResponseConverter := converters.NewEndcSetupResponseConverter(logger)
        endcSetupFailureResponseConverter := converters.NewEndcSetupFailureResponseConverter(logger)
-       enbLoadInformationExtractor := converters.NewEnbLoadInformationExtractor(logger)
+       //enbLoadInformationExtractor := converters.NewEnbLoadInformationExtractor(logger)
        x2ResetResponseExtractor := converters.NewX2ResetResponseExtractor(logger)
 
        // Init managers
        x2ResetResponseExtractor := converters.NewX2ResetResponseExtractor(logger)
 
        // Init managers
@@ -81,7 +81,7 @@ func (provider *NotificationHandlerProvider) Init(logger *logger.Logger, config
        endcSetupResponseHandler := rmrmsghandlers.NewSetupResponseNotificationHandler(logger, rnibDataService, endcSetupResponseManager, ranStatusChangeManager, rmrCgo.RIC_ENDC_X2_SETUP_RESP)
        endcSetupFailureResponseHandler := rmrmsghandlers.NewSetupResponseNotificationHandler(logger, rnibDataService, endcSetupFailureResponseManager, nil, rmrCgo.RIC_ENDC_X2_SETUP_FAILURE)
        ranLostConnectionHandler := rmrmsghandlers.NewRanLostConnectionHandler(logger, ranReconnectionManager)
        endcSetupResponseHandler := rmrmsghandlers.NewSetupResponseNotificationHandler(logger, rnibDataService, endcSetupResponseManager, ranStatusChangeManager, rmrCgo.RIC_ENDC_X2_SETUP_RESP)
        endcSetupFailureResponseHandler := rmrmsghandlers.NewSetupResponseNotificationHandler(logger, rnibDataService, endcSetupFailureResponseManager, nil, rmrCgo.RIC_ENDC_X2_SETUP_FAILURE)
        ranLostConnectionHandler := rmrmsghandlers.NewRanLostConnectionHandler(logger, ranReconnectionManager)
-       enbLoadInformationNotificationHandler := rmrmsghandlers.NewEnbLoadInformationNotificationHandler(logger, rnibDataService, enbLoadInformationExtractor)
+       //enbLoadInformationNotificationHandler := rmrmsghandlers.NewEnbLoadInformationNotificationHandler(logger, rnibDataService, enbLoadInformationExtractor)
        x2EnbConfigurationUpdateHandler := rmrmsghandlers.NewX2EnbConfigurationUpdateHandler(logger, rmrSender)
        endcConfigurationUpdateHandler := rmrmsghandlers.NewEndcConfigurationUpdateHandler(logger, rmrSender)
        x2ResetResponseHandler := rmrmsghandlers.NewX2ResetResponseHandler(logger, rnibDataService, ranStatusChangeManager, x2ResetResponseExtractor)
        x2EnbConfigurationUpdateHandler := rmrmsghandlers.NewX2EnbConfigurationUpdateHandler(logger, rmrSender)
        endcConfigurationUpdateHandler := rmrmsghandlers.NewEndcConfigurationUpdateHandler(logger, rmrSender)
        x2ResetResponseHandler := rmrmsghandlers.NewX2ResetResponseHandler(logger, rnibDataService, ranStatusChangeManager, x2ResetResponseExtractor)
@@ -95,7 +95,7 @@ func (provider *NotificationHandlerProvider) Init(logger *logger.Logger, config
        provider.Register(rmrCgo.RIC_ENDC_X2_SETUP_RESP, endcSetupResponseHandler)
        provider.Register(rmrCgo.RIC_ENDC_X2_SETUP_FAILURE, endcSetupFailureResponseHandler)
        provider.Register(rmrCgo.RIC_SCTP_CONNECTION_FAILURE, ranLostConnectionHandler)
        provider.Register(rmrCgo.RIC_ENDC_X2_SETUP_RESP, endcSetupResponseHandler)
        provider.Register(rmrCgo.RIC_ENDC_X2_SETUP_FAILURE, endcSetupFailureResponseHandler)
        provider.Register(rmrCgo.RIC_SCTP_CONNECTION_FAILURE, ranLostConnectionHandler)
-       provider.Register(rmrCgo.RIC_ENB_LOAD_INFORMATION, enbLoadInformationNotificationHandler)
+       //provider.Register(rmrCgo.RIC_ENB_LOAD_INFORMATION, enbLoadInformationNotificationHandler)
        provider.Register(rmrCgo.RIC_ENB_CONF_UPDATE, x2EnbConfigurationUpdateHandler)
        provider.Register(rmrCgo.RIC_ENDC_CONF_UPDATE, endcConfigurationUpdateHandler)
        provider.Register(rmrCgo.RIC_X2_RESET_RESP, x2ResetResponseHandler)
        provider.Register(rmrCgo.RIC_ENB_CONF_UPDATE, x2EnbConfigurationUpdateHandler)
        provider.Register(rmrCgo.RIC_ENDC_CONF_UPDATE, endcConfigurationUpdateHandler)
        provider.Register(rmrCgo.RIC_X2_RESET_RESP, x2ResetResponseHandler)
index c5167c0..8415547 100644 (file)
@@ -90,7 +90,7 @@ func TestGetNotificationHandlerSuccess(t *testing.T) {
                {rmrCgo.RIC_ENDC_X2_SETUP_RESP, rmrmsghandlers.NewSetupResponseNotificationHandler(logger, rnibDataService, endcSetupResponseManager, ranStatusChangeManager, rmrCgo.RIC_ENDC_X2_SETUP_RESP)},
                {rmrCgo.RIC_ENDC_X2_SETUP_FAILURE, rmrmsghandlers.NewSetupResponseNotificationHandler(logger, rnibDataService, endcSetupFailureResponseManager, ranStatusChangeManager, rmrCgo.RIC_ENDC_X2_SETUP_FAILURE),},
                {rmrCgo.RIC_SCTP_CONNECTION_FAILURE, rmrmsghandlers.NewRanLostConnectionHandler(logger, ranDisconnectionManager)},
                {rmrCgo.RIC_ENDC_X2_SETUP_RESP, rmrmsghandlers.NewSetupResponseNotificationHandler(logger, rnibDataService, endcSetupResponseManager, ranStatusChangeManager, rmrCgo.RIC_ENDC_X2_SETUP_RESP)},
                {rmrCgo.RIC_ENDC_X2_SETUP_FAILURE, rmrmsghandlers.NewSetupResponseNotificationHandler(logger, rnibDataService, endcSetupFailureResponseManager, ranStatusChangeManager, rmrCgo.RIC_ENDC_X2_SETUP_FAILURE),},
                {rmrCgo.RIC_SCTP_CONNECTION_FAILURE, rmrmsghandlers.NewRanLostConnectionHandler(logger, ranDisconnectionManager)},
-               {rmrCgo.RIC_ENB_LOAD_INFORMATION, rmrmsghandlers.NewEnbLoadInformationNotificationHandler(logger, rnibDataService, converters.NewEnbLoadInformationExtractor(logger))},
+               //{rmrCgo.RIC_ENB_LOAD_INFORMATION, rmrmsghandlers.NewEnbLoadInformationNotificationHandler(logger, rnibDataService, converters.NewEnbLoadInformationExtractor(logger))},
                {rmrCgo.RIC_ENB_CONF_UPDATE, rmrmsghandlers.NewX2EnbConfigurationUpdateHandler(logger, rmrSender)},
                {rmrCgo.RIC_ENDC_CONF_UPDATE, rmrmsghandlers.NewEndcConfigurationUpdateHandler(logger, rmrSender)},
                {rmrCgo.RIC_E2_TERM_INIT, rmrmsghandlers.NewE2TermInitNotificationHandler(logger, ranDisconnectionManager, e2tInstancesManager, routingManagerClient)},
                {rmrCgo.RIC_ENB_CONF_UPDATE, rmrmsghandlers.NewX2EnbConfigurationUpdateHandler(logger, rmrSender)},
                {rmrCgo.RIC_ENDC_CONF_UPDATE, rmrmsghandlers.NewEndcConfigurationUpdateHandler(logger, rmrSender)},
                {rmrCgo.RIC_E2_TERM_INIT, rmrmsghandlers.NewE2TermInitNotificationHandler(logger, ranDisconnectionManager, e2tInstancesManager, routingManagerClient)},