From 4b1ff2caedf6814946263792275b027f824f9b69 Mon Sep 17 00:00:00 2001 From: Anssi Mannila Date: Fri, 17 Dec 2021 12:45:25 +0200 Subject: [PATCH] Fix for E2 Connection status counters Change-Id: I99a5fc0cb167c1989f115165282b3ec4971c4472 Signed-off-by: Anssi Mannila --- pkg/control/e2if_state.go | 6 +++--- pkg/control/ut_messaging_test.go | 17 +++++++++++++++-- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/pkg/control/e2if_state.go b/pkg/control/e2if_state.go index 0f43056..5259618 100644 --- a/pkg/control/e2if_state.go +++ b/pkg/control/e2if_state.go @@ -67,7 +67,8 @@ func (e *E2IfState) NotificationCb(ch string, events ...string) { return } - if strings.Contains(events[0], "_CONNECTED") { + if strings.Contains(events[0], "_CONNECTED") && !strings.Contains(events[0], "_CONNECTED_SETUP_FAILED") { + e.control.UpdateCounter(cE2StateChangedToUp) nbId, err := ExtractNbiIdFromString(events[0]) if err != nil { xapp.Logger.Error("NotificationCb CONNECTED len(nbId) == 0 ") @@ -76,6 +77,7 @@ func (e *E2IfState) NotificationCb(ch string, events ...string) { xapp.Logger.Debug("E2 CONNECTED. NbId=%s", nbId) e.NbIdMap[nbId] = nbId } else if strings.Contains(events[0], "_DISCONNECTED") { + e.control.UpdateCounter(cE2StateChangedToDown) nbId, err := ExtractNbiIdFromString(events[0]) if err != nil { xapp.Logger.Error("NotificationCb DISCONNECTED len(nbId) == 0 ") @@ -113,7 +115,6 @@ func (e *E2IfState) ReadE2ConfigurationFromRnib() { if e.isNodeBActive(nbIdentity.InventoryName) == false { if _, ok := e.NbIdMap[nbIdentity.InventoryName]; ok { delete(e.NbIdMap, nbIdentity.InventoryName) - e.control.UpdateCounter(cE2StateChangedToDown) xapp.Logger.Debug("E2 connection DISCONNETED: %v", nbIdentity.InventoryName) // Delete all subscriptions related to InventoryName/nbId @@ -124,7 +125,6 @@ func (e *E2IfState) ReadE2ConfigurationFromRnib() { if _, ok := e.NbIdMap[nbIdentity.InventoryName]; !ok { e.NbIdMap[nbIdentity.InventoryName] = nbIdentity.InventoryName - e.control.UpdateCounter(cE2StateChangedToDown) xapp.Logger.Debug("E2 connection CONNECTED: %v", nbIdentity.InventoryName) } } diff --git a/pkg/control/ut_messaging_test.go b/pkg/control/ut_messaging_test.go index 2a3ad96..79eccd2 100644 --- a/pkg/control/ut_messaging_test.go +++ b/pkg/control/ut_messaging_test.go @@ -46,6 +46,10 @@ func TestSuiteSetup(t *testing.T) { } func TestRanStatusChangeViaSDLNotification(t *testing.T) { + mainCtrl.CounterValuesToBeVeriefied(t, CountersToBeAdded{ + Counter{cE2StateChangedToUp, 3}, + }) + // Current UT test cases use these ran names xappRnibMock.CreateGnb("RAN_NAME_1", entities.ConnectionStatus_DISCONNECTED) xappRnibMock.CreateGnb("RAN_NAME_11", entities.ConnectionStatus_DISCONNECTED) @@ -57,6 +61,8 @@ func TestRanStatusChangeViaSDLNotification(t *testing.T) { mainCtrl.SetE2State(t, "RAN_NAME_1_CONNECTED") mainCtrl.SetE2State(t, "RAN_NAME_2_CONNECTED") mainCtrl.SetE2State(t, "RAN_NAME_11_CONNECTED") + + mainCtrl.VerifyCounterValues(t) } //----------------------------------------------------------------------------- @@ -83,6 +89,8 @@ func TestRESTSubReqAfterE2ConnBreak(t *testing.T) { mainCtrl.CounterValuesToBeVeriefied(t, CountersToBeAdded{ Counter{cRestSubReqFromXapp, 1}, Counter{cRestReqRejDueE2Down, 1}, + Counter{cE2StateChangedToDown, 1}, + Counter{cE2StateChangedToUp, 1}, }) // E2 disconnect after E2term has received response @@ -95,8 +103,8 @@ func TestRESTSubReqAfterE2ConnBreak(t *testing.T) { // Restore E2 connection for following test cases mainCtrl.SetE2State(t, "RAN_NAME_1_CONNECTED") - mainCtrl.VerifyCounterValues(t) mainCtrl.VerifyAllClean(t) + mainCtrl.VerifyCounterValues(t) //os.Exit(0) } @@ -135,6 +143,8 @@ func TestRESTSubReqE2ConnBreak(t *testing.T) { Counter{cSubReqToE2, 1}, Counter{cSubRespFromE2, 1}, Counter{cRestSubFailNotifToXapp, 1}, + Counter{cE2StateChangedToDown, 1}, + Counter{cE2StateChangedToUp, 1}, }) // Req @@ -212,6 +222,8 @@ func TestRESTSubscriptionDeleteAfterE2ConnectionBreak(t *testing.T) { Counter{cRestSubNotifToXapp, 1}, Counter{cRestSubDelReqFromXapp, 1}, Counter{cRestSubDelRespToXapp, 1}, + Counter{cE2StateChangedToDown, 1}, + Counter{cE2StateChangedToUp, 1}, }) // Req @@ -289,6 +301,7 @@ func TestRESTOtherE2ConnectionChanges(t *testing.T) { Counter{cSubDelReqToE2, 1}, Counter{cSubDelRespFromE2, 1}, Counter{cRestSubDelRespToXapp, 1}, + Counter{cE2StateChangedToUp, 1}, }) // Req @@ -300,7 +313,7 @@ func TestRESTOtherE2ConnectionChanges(t *testing.T) { e2termConn1.SendSubsResp(t, crereq, cremsg) e2SubsId := xappConn1.WaitRESTNotification(t, restSubId) - // Submgr should not react any other connection state changes than CONNECTED and DISCONNECTED + // Submgr should not react to any other connection state changes than CONNECTED and DISCONNECTED mainCtrl.SetE2State(t, "RAN_NAME_1_CONNECTED_SETUP_FAILED") mainCtrl.SetE2State(t, "RAN_NAME_1_CONNECTING") mainCtrl.SetE2State(t, "RAN_NAME_1_SHUTTING_DOWN") -- 2.16.6