X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=common%2Futils.go;h=00670381906e6c591922d23d29e4b36ae9138906;hb=HEAD;hp=e14dcb034d6fe57294aa7b6576e7da4aa6ee0980;hpb=718326d71c35bf7af233e8e3e32630bc55c60610;p=ric-plt%2Fnodeb-rnib.git diff --git a/common/utils.go b/common/utils.go index e14dcb0..0067038 100644 --- a/common/utils.go +++ b/common/utils.go @@ -1,6 +1,7 @@ // // Copyright 2019 AT&T Intellectual Property // Copyright 2019 Nokia +// Copyright 2023 Capgemini // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -14,12 +15,18 @@ // See the License for the specific language governing permissions and // limitations under the License. +// This source code is part of the near-RT RIC (RAN Intelligent Controller) +// platform project (RICP). + package common import ( "fmt" ) +//SDL namespace used by the RNIB +const rnibNamespace = "e2Manager" + /* ValidateAndBuildCellIdKey builds key according to the specified format returns the resulting string */ @@ -53,7 +60,7 @@ func ValidateAndBuildNodeBNameKey(inventoryName string) (string, error) { /* ValidateAndBuildNodeBIdKey builds key according to the specified format returns the resulting string */ -func ValidateAndBuildNodeBIdKey(nodeType string, plmnId string, nbId string) (string, error) { +func ValidateAndBuildNodeBIdKey(nodeType string, plmnId string, nbId string, cuupId string, duId string) (string, error) { if nodeType == "" { return "", NewValidationError("#utils.ValidateAndBuildNodeBIdKey - an empty node type received") } @@ -63,8 +70,22 @@ func ValidateAndBuildNodeBIdKey(nodeType string, plmnId string, nbId string) (st if nbId == "" { return "", NewValidationError("#utils.ValidateAndBuildNodeBIdKey - an empty nbId received") } + /*Note: Deployment where CU-UP and DU are combined + (but do not include the CP-CP) and have a single E2 connection + is not supported. The combination of CU-CP, CU-UP, and DU will be + treated as a single gNB and expect it to have only the + global gNB ID in its E2 Setup ID*/ + + if cuupId != "" && duId != ""{ + return fmt.Sprintf("%s:%s:%s", nodeType, plmnId, nbId), nil + }else if cuupId != "" { + return fmt.Sprintf("%s:%s:%s:%s", nodeType, plmnId, nbId, cuupId), nil + }else if duId != "" { + return fmt.Sprintf("%s:%s:%s:%s", nodeType, plmnId, nbId, duId ), nil + }else { return fmt.Sprintf("%s:%s:%s", nodeType, plmnId, nbId), nil } +} /* ValidateAndBuildCellNamePciKey builds key according to the specified format returns the resulting string @@ -88,8 +109,29 @@ func ValidateAndBuildRanLoadInformationKey(inventoryName string) (string, error) func ValidateAndBuildE2TInstanceKey(address string) (string, error) { if address == "" { - return "", NewValidationError("#utils.ValidateAndBuildRanLoadInformationKey - an empty inventory name received") + return "", NewValidationError("#utils.ValidateAndBuildE2TInstanceKey - an empty E2T address received") } return fmt.Sprintf("E2TInstance:%s", address), nil -} \ No newline at end of file +} + +func BuildGeneralConfigurationKey() string { + return "GENERAL" +} + +func MapE2TAddressesToKeys(addresses []string) []string { + + keys := []string{} + for _, v := range addresses { + if len(v) != 0 { + keys = append(keys, fmt.Sprintf("E2TInstance:%s", v)) + } + } + + return keys +} + +//GetRNibNamespace returns namespace used by the RNIB in SDL. +func GetRNibNamespace() string { + return rnibNamespace +}