X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=pkg%2Fsbi%2Fsbi.go;h=ae63034ec0c76287742384fe9ef4c7e0fed78d26;hb=a8596ec6db91b8a45a1a21421a726b9b05ce7d48;hp=5b94cbd314599e0c4ecf7d0736ef7c55800f5f72;hpb=eb2ff0d217caf158dd15424bf70f8aa79c3742b1;p=ric-plt%2Frtmgr.git diff --git a/pkg/sbi/sbi.go b/pkg/sbi/sbi.go index 5b94cbd..ae63034 100644 --- a/pkg/sbi/sbi.go +++ b/pkg/sbi/sbi.go @@ -15,6 +15,10 @@ w WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 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). + ================================================================================== */ /* @@ -27,17 +31,18 @@ package sbi import ( "errors" + "gerrit.o-ran-sc.org/r/ric-plt/xapp-frame/pkg/xapp" "routing-manager/pkg/rtmgr" "strconv" ) -const DEFAULT_NNG_PIPELINE_SOCKET_PREFIX = "tcp://" -const DEFAULT_NNG_PIPELINE_SOCKET_NUMBER = 4561 -const PLATFORMTYPE = "platform" +const DefaultNngPipelineSocketPrefix = "tcp://" +const DefaultNngPipelineSocketNumber = 4561 +const PlatformType = "platform" var ( - SupportedSbis = []*SbiEngineConfig{ - &SbiEngineConfig{ + SupportedSbis = []*EngineConfig{ + { Name: "nngpush", Version: "v1", Protocol: "nngpipeline", @@ -47,7 +52,7 @@ var ( } ) -func GetSbi(sbiName string) (SbiEngine, error) { +func GetSbi(sbiName string) (Engine, error) { for _, sbi := range SupportedSbis { if sbi.Name == sbiName && sbi.IsAvailable { return sbi.Instance, nil @@ -59,10 +64,11 @@ func GetSbi(sbiName string) (SbiEngine, error) { type Sbi struct { } -func (s *Sbi) pruneEndpointList(sbi SbiEngine) { +func (s *Sbi) pruneEndpointList(sbi Engine) { + xapp.Logger.Debug("pruneEndpointList invoked.") for _, ep := range rtmgr.Eps { if !ep.Keepalive { - rtmgr.Logger.Debug("deleting %v", ep) + xapp.Logger.Debug("deleting %v", ep) sbi.DeleteEndpoint(ep) delete(rtmgr.Eps, ep.Uuid) } else { @@ -71,59 +77,60 @@ func (s *Sbi) pruneEndpointList(sbi SbiEngine) { } } -func (s *Sbi) updateEndpoints(rcs *rtmgr.RicComponents, sbii SbiEngine) { - for _, xapp := range (*rcs).Xapps { - for _, instance := range xapp.Instances { +func (s *Sbi) updateEndpoints(rcs *rtmgr.RicComponents, sbi Engine) { + for _, xapps := range (*rcs).XApps { + for _, instance := range xapps.Instances { uuid := instance.Ip + ":" + strconv.Itoa(int(instance.Port)) if _, ok := rtmgr.Eps[uuid]; ok { rtmgr.Eps[uuid].Keepalive = true } else { ep := &rtmgr.Endpoint{ - uuid, - instance.Name, - xapp.Name, - instance.Ip, - instance.Port, - instance.TxMessages, - instance.RxMessages, - nil, - false, - true, + Uuid: uuid, + Name: instance.Name, + XAppType: xapps.Name, + Ip: instance.Ip, + Port: instance.Port, + TxMessages: instance.TxMessages, + RxMessages: instance.RxMessages, + Policies: instance.Policies, + Socket: nil, + IsReady: false, + Keepalive: true, } - if err := sbii.AddEndpoint(ep); err != nil { - rtmgr.Logger.Error("can't create socket for endpoint: " + ep.Name + " due to:" + err.Error()) + if err := sbi.AddEndpoint(ep); err != nil { + xapp.Logger.Error("can't create socket for endpoint: " + ep.Name + " due to:" + err.Error()) continue } rtmgr.Eps[uuid] = ep } } } - s.updatePlatformEndpoints(&((*rcs).Pcs), sbii) - s.pruneEndpointList(sbii) + s.updatePlatformEndpoints(&((*rcs).Pcs), sbi) + s.pruneEndpointList(sbi) } -func (s *Sbi) updatePlatformEndpoints(pcs *rtmgr.PlatformComponents, sbii SbiEngine) { - rtmgr.Logger.Debug("updatePlatformEndpoints invoked. PCS: %v", *pcs) +func (s *Sbi) updatePlatformEndpoints(pcs *rtmgr.PlatformComponents, sbi Engine) { + xapp.Logger.Debug("updatePlatformEndpoints invoked. PCS: %v", *pcs) for _, pc := range *pcs { uuid := pc.Fqdn + ":" + strconv.Itoa(int(pc.Port)) if _, ok := rtmgr.Eps[uuid]; ok { rtmgr.Eps[uuid].Keepalive = true } else { ep := &rtmgr.Endpoint{ - uuid, - pc.Name, - PLATFORMTYPE, - pc.Fqdn, - pc.Port, - rtmgr.PLATFORMMESSAGETYPES[pc.Name]["tx"], - rtmgr.PLATFORMMESSAGETYPES[pc.Name]["rx"], - nil, - false, - true, + Uuid: uuid, + Name: pc.Name, + XAppType: PlatformType, + Ip: pc.Fqdn, + Port: pc.Port, + TxMessages: rtmgr.PLATFORMMESSAGETYPES[pc.Name]["tx"], + RxMessages: rtmgr.PLATFORMMESSAGETYPES[pc.Name]["rx"], + Socket: nil, + IsReady: false, + Keepalive: true, } - rtmgr.Logger.Debug("ep created: %v", ep) - if err := sbii.AddEndpoint(ep); err != nil { - rtmgr.Logger.Error("can't create socket for endpoint: " + ep.Name + " due to:" + err.Error()) + xapp.Logger.Debug("ep created: %v", ep) + if err := sbi.AddEndpoint(ep); err != nil { + xapp.Logger.Error("can't create socket for endpoint: " + ep.Name + " due to:" + err.Error()) continue } rtmgr.Eps[uuid] = ep