X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=pkg%2Fsdl%2Ffile.go;h=468fbd71d930636c56b22f5fa5830d8850b79f6a;hb=HEAD;hp=7ac6594c5bb2a74fd47fc65efac5f5832645762e;hpb=51db0122302c9d72e1de6f8a8e250d219b8b44d8;p=ric-plt%2Frtmgr.git diff --git a/pkg/sdl/file.go b/pkg/sdl/file.go index 7ac6594..468fbd7 100644 --- a/pkg/sdl/file.go +++ b/pkg/sdl/file.go @@ -34,9 +34,9 @@ import ( "gerrit.o-ran-sc.org/r/ric-plt/xapp-frame/pkg/xapp" "io/ioutil" "os" - "strings" - "routing-manager/pkg/rtmgr" "routing-manager/pkg/models" + "routing-manager/pkg/rtmgr" + "strings" ) /* @@ -59,7 +59,7 @@ func (f *File) ReadAll(file string) (*rtmgr.RicComponents, error) { var rcs *rtmgr.RicComponents jsonFile, err := os.Open(file) if err != nil { - return nil, errors.New("cannot open the file due to: " + err.Error()) + return nil, errors.New("Cannot open the file due to: " + err.Error()) } defer jsonFile.Close() byteValue, err := ioutil.ReadAll(jsonFile) @@ -76,12 +76,10 @@ func (f *File) ReadAll(file string) (*rtmgr.RicComponents, error) { } func (f *File) WriteAll(file string, rcs *rtmgr.RicComponents) error { - xapp.Logger.Debug("Invoked sdl.WriteAll") - xapp.Logger.Debug("file.fileWriteAll writes into file: " + file) - xapp.Logger.Debug("file.fileWriteAll writes data: %v", *rcs) + xapp.Logger.Debug("Invoked sdl.WriteAll:" + file + ", file.fileWriteAll writes data: %v", *rcs ) byteValue, err := json.Marshal(rcs) if err != nil { - return errors.New("cannot convert data due to: " + err.Error()) + return errors.New("Cannot convert data due to: " + err.Error()) } err = ioutil.WriteFile(file, byteValue, 0644) if err != nil { @@ -91,14 +89,12 @@ func (f *File) WriteAll(file string, rcs *rtmgr.RicComponents) error { } func (f *File) WriteXApps(file string, xApps *[]rtmgr.XApp) error { - xapp.Logger.Debug("Invoked sdl.WriteXApps") - xapp.Logger.Debug("file.fileWriteXApps writes into file: " + file) - xapp.Logger.Debug("file.fileWriteXApps writes data: %v", *xApps) + xapp.Logger.Debug("Invoked sdl.WriteXApps: " + file + ", file.fileWriteXApps writes data: %v", *xApps ) ricData, err := NewFile().ReadAll(file) if err != nil { - xapp.Logger.Error("cannot get data from sdl interface due to: " + err.Error()) - return errors.New("cannot read full ric data to modify xApps data, due to: " + err.Error()) + xapp.Logger.Error("Cannot get data from sdl interface due to: " + err.Error()) + return errors.New("Cannot read full ric data to modify xApps data, due to: " + err.Error()) } ricData.XApps = *xApps @@ -113,101 +109,98 @@ func (f *File) WriteXApps(file string, xApps *[]rtmgr.XApp) error { return nil } -func (f *File) WriteNewE2TInstance(file string, E2TInst *rtmgr.E2TInstance,meiddata string) error { - xapp.Logger.Debug("Invoked sdl.WriteNewE2TInstance") - xapp.Logger.Debug("file.WriteNewE2TInstance writes into file: " + file) - xapp.Logger.Debug("file.WriteNewE2TInstance writes data: %v", *E2TInst) +func (f *File) WriteNewE2TInstance(file string, E2TInst *rtmgr.E2TInstance, meiddata string) error { + xapp.Logger.Debug("Invoked sdl.WriteNewE2TInstance: " + file + ", file.WriteNewE2TInstance writes data: %v", *E2TInst ) - ricData, err := NewFile().ReadAll(file) + ricData, err := NewFile().ReadAll(file) if err != nil { - xapp.Logger.Error("cannot get data from sdl interface due to: " + err.Error()) - return errors.New("cannot read full ric data to modify xApps data, due to: " + err.Error()) - } - ricData.E2Ts[E2TInst.Fqdn] = *E2TInst - if (len(meiddata) > 0){ - ricData.MeidMap = []string {meiddata} - } else { - ricData.MeidMap = []string {} + xapp.Logger.Error("Cannot get data from sdl interface due to: " + err.Error()) + return errors.New("cannot read full ric data to modify xApps data due to: " + err.Error()) } + ricData.E2Ts[E2TInst.Fqdn] = *E2TInst + if len(meiddata) > 0 { + ricData.MeidMap = append(ricData.MeidMap, meiddata) + } + /*{ + ricData.MeidMap = []string {meiddata} + } + else { + ricData.MeidMap = []string {} + }*/ - - byteValue, err := json.Marshal(ricData) - if err != nil { - return errors.New("cannot convert data due to: " + err.Error()) - } - err = ioutil.WriteFile(file, byteValue, 0644) - if err != nil { - return errors.New("cannot write file due to: " + err.Error()) - } - return nil + byteValue, err := json.Marshal(ricData) + if err != nil { + return errors.New("cannot convert data due to: " + err.Error()) + } + err = ioutil.WriteFile(file, byteValue, 0644) + if err != nil { + return errors.New("cannot write file due to: " + err.Error()) + } + return nil } func (f *File) WriteAssRANToE2TInstance(file string, rane2tmap models.RanE2tMap) error { - xapp.Logger.Debug("Invoked sdl.WriteAssRANToE2TInstance") - xapp.Logger.Debug("file.WriteAssRANToE2TInstance writes into file: " + file) - xapp.Logger.Debug("file.WriteAssRANToE2TInstance writes data: %v", rane2tmap) + xapp.Logger.Debug("Invoked sdl.WriteAssRANToE2TInstance: " + file + ", file.WriteAssRANToE2TInstance writes data: %v", rane2tmap) - ricData, err := NewFile().ReadAll(file) - if err != nil { - xapp.Logger.Error("cannot get data from sdl interface due to: " + err.Error()) - return errors.New("cannot read full ric data to modify xApps data, due to: " + err.Error()) - } + ricData, err := NewFile().ReadAll(file) + if err != nil { + xapp.Logger.Error("Cannot get data from sdl interface due to: " + err.Error()) + return errors.New("cannot read full ric data to modify xApps data due to: " + err.Error()) + } - ricData.MeidMap = []string{} + //ricData.MeidMap = []string{} for _, element := range rane2tmap { - xapp.Logger.Info("data received") - var str,meidar string + xapp.Logger.Info("Data received") + var str, meidar string for _, meid := range element.RanNamelist { - meidar += meid + " " + meidar += meid + " " } - str = "mme_ar|" + *element.E2TAddress + "|" + strings.TrimSuffix(meidar," ") - ricData.MeidMap = append(ricData.MeidMap,str) + str = "mme_ar|" + *element.E2TAddress + "|" + strings.TrimSuffix(meidar, " ") + ricData.MeidMap = append(ricData.MeidMap, str) for key, _ := range ricData.E2Ts { if key == *element.E2TAddress { var estObj rtmgr.E2TInstance estObj = ricData.E2Ts[key] estObj.Ranlist = append(ricData.E2Ts[key].Ranlist, element.RanNamelist...) - ricData.E2Ts[key]= estObj + ricData.E2Ts[key] = estObj } } } byteValue, err := json.Marshal(ricData) - if err != nil { - return errors.New("cannot convert data due to: " + err.Error()) - } - err = ioutil.WriteFile(file, byteValue, 0644) - if err != nil { - return errors.New("cannot write file due to: " + err.Error()) - } - return nil + if err != nil { + return errors.New("cannot convert data due to: " + err.Error()) + } + err = ioutil.WriteFile(file, byteValue, 0644) + if err != nil { + return errors.New("cannot write file due to: " + err.Error()) + } + return nil } func (f *File) WriteDisAssRANFromE2TInstance(file string, disassranmap models.RanE2tMap) error { - xapp.Logger.Debug("Invoked sdl.WriteDisAssRANFromE2TInstance") - xapp.Logger.Debug("file.WriteDisAssRANFromE2TInstance writes into file: " + file) - xapp.Logger.Debug("file.WriteDisAssRANFromE2TInstance writes data: %v", disassranmap) + xapp.Logger.Debug("Invoked sdl.WriteDisAssRANFromE2TInstance: " + file + ",file.WriteDisAssRANFromE2TInstance writes data: %v", disassranmap) - ricData, err := NewFile().ReadAll(file) - if err != nil { - xapp.Logger.Error("cannot get data from sdl interface due to: " + err.Error()) - return errors.New("cannot read full ric data to modify xApps data, due to: " + err.Error()) - } + ricData, err := NewFile().ReadAll(file) + if err != nil { + xapp.Logger.Error("Cannot get data from sdl interface due to: " + err.Error()) + return errors.New("cannot read full ric data to modify xApps data due to: " + err.Error()) + } - var str,meiddel,meiddisdel string - ricData.MeidMap = []string{} + var str, meiddel, meiddisdel string + //ricData.MeidMap = []string{} for _, element := range disassranmap { - xapp.Logger.Info("data received") + xapp.Logger.Info("Data received") for _, meid := range element.RanNamelist { - meiddisdel += meid + " " + meiddisdel += meid + " " + } + if len(element.RanNamelist) > 0 { + str = "mme_del|" + strings.TrimSuffix(meiddisdel, " ") + ricData.MeidMap = append(ricData.MeidMap, str) } - if ( len(element.RanNamelist) > 0 ) { - str = "mme_del|" + strings.TrimSuffix(meiddisdel," ") - ricData.MeidMap = append(ricData.MeidMap,str) - } e2taddress_key := *element.E2TAddress - //Check whether the provided E2T Address is available in SDL as a key. + //Check whether the provided E2T Address is available in SDL as a key. //If exist, proceed further to check RAN list, Otherwise move to next E2T Instance if _, exist := ricData.E2Ts[e2taddress_key]; exist { var estObj rtmgr.E2TInstance @@ -215,13 +208,13 @@ func (f *File) WriteDisAssRANFromE2TInstance(file string, disassranmap models.Ra // If RAN list is empty, then routing manager assumes that all RANs attached associated to the particular E2T Instance to be removed. if len(element.RanNamelist) == 0 { xapp.Logger.Debug("RAN List is empty. So disassociating all RANs from the E2T Instance: %v ", *element.E2TAddress) - for _, meid := range estObj.Ranlist { - meiddel += meid + " " - } - str = "mme_del|" + strings.TrimSuffix(meiddel," ") - ricData.MeidMap = append(ricData.MeidMap,str) + for _, meid := range estObj.Ranlist { + meiddel += meid + " " + } + str = "mme_del|" + strings.TrimSuffix(meiddel, " ") + ricData.MeidMap = append(ricData.MeidMap, str) - estObj.Ranlist = []string{} + estObj.Ranlist = []string{} } else { xapp.Logger.Debug("Remove only selected rans from E2T Instance: %v and %v ", ricData.E2Ts[e2taddress_key].Ranlist, element.RanNamelist) for _, disRanValue := range element.RanNamelist { @@ -234,70 +227,67 @@ func (f *File) WriteDisAssRANFromE2TInstance(file string, disassranmap models.Ra } } } - ricData.E2Ts[e2taddress_key]= estObj + ricData.E2Ts[e2taddress_key] = estObj } } xapp.Logger.Debug("Final data after disassociate: %v", ricData) byteValue, err := json.Marshal(ricData) - if err != nil { - return errors.New("cannot convert data due to: " + err.Error()) - } - err = ioutil.WriteFile(file, byteValue, 0644) - if err != nil { - return errors.New("cannot write file due to: " + err.Error()) - } + if err != nil { + return errors.New("cannot convert data due to: " + err.Error()) + } + err = ioutil.WriteFile(file, byteValue, 0644) + if err != nil { + return errors.New("cannot write file due to: " + err.Error()) + } return nil } func (f *File) WriteDeleteE2TInstance(file string, E2TInst *models.E2tDeleteData) error { - xapp.Logger.Debug("Invoked sdl.WriteDeleteE2TInstance") - xapp.Logger.Debug("file.WriteDeleteE2TInstance writes into file: " + file) - xapp.Logger.Debug("file.WriteDeleteE2TInstance writes data: %v", *E2TInst) + xapp.Logger.Debug("Invoked sdl.WriteDeleteE2TInstance: " + file + ",file.WriteDeleteE2TInstance writes data: %v", *E2TInst) ricData, err := NewFile().ReadAll(file) if err != nil { - xapp.Logger.Error("cannot get data from sdl interface due to: " + err.Error()) - return errors.New("cannot read full ric data to modify xApps data, due to: " + err.Error()) + xapp.Logger.Error("Cannot get data from sdl interface due to: " + err.Error()) + return errors.New("cannot read full ric data to modify xApps data due to: " + err.Error()) } - - ricData.MeidMap = []string {} - var delrow,meiddel string - if(len(E2TInst.RanNamelistTobeDissociated)>0) { - for _, meid := range E2TInst.RanNamelistTobeDissociated { + //ricData.MeidMap = []string{} + var delrow, meiddel string + if len(E2TInst.RanNamelistTobeDissociated) > 0 { + for _, meid := range E2TInst.RanNamelistTobeDissociated { meiddel += meid + " " } - delrow = "mme_del|" + strings.TrimSuffix(meiddel," ") - ricData.MeidMap = append(ricData.MeidMap,delrow) + delrow = "mme_del|" + strings.TrimSuffix(meiddel, " ") + ricData.MeidMap = append(ricData.MeidMap, delrow) } else { - if(len(ricData.E2Ts[*E2TInst.E2TAddress].Ranlist) > 0) { - for _, meid := range ricData.E2Ts[*E2TInst.E2TAddress].Ranlist { - meiddel += meid + " " - } - delrow = "mme_del|" + strings.TrimSuffix(meiddel," ") - ricData.MeidMap = append(ricData.MeidMap,delrow) - } + if len(ricData.E2Ts[*E2TInst.E2TAddress].Ranlist) > 0 { + for _, meid := range ricData.E2Ts[*E2TInst.E2TAddress].Ranlist { + meiddel += meid + " " + } + delrow = "mme_del|" + strings.TrimSuffix(meiddel, " ") + ricData.MeidMap = append(ricData.MeidMap, delrow) + } } delete(ricData.E2Ts, *E2TInst.E2TAddress) for _, element := range E2TInst.RanAssocList { - var str,meidar string - xapp.Logger.Info("data received") + var str, meidar string + xapp.Logger.Info("Data received") for _, meid := range element.RanNamelist { meidar = meid + " " } - str = "mme_ar|" + *element.E2TAddress + "|" + strings.TrimSuffix(meidar," ") - ricData.MeidMap = append(ricData.MeidMap,str) + str = "mme_ar|" + *element.E2TAddress + "|" + strings.TrimSuffix(meidar, " ") + ricData.MeidMap = append(ricData.MeidMap, str) key := *element.E2TAddress if val, ok := ricData.E2Ts[key]; ok { var estObj rtmgr.E2TInstance estObj = val estObj.Ranlist = append(ricData.E2Ts[key].Ranlist, element.RanNamelist...) - ricData.E2Ts[key]= estObj + ricData.E2Ts[key] = estObj } else { xapp.Logger.Error("file.WriteDeleteE2TInstance E2T instance is not found for provided E2TAddress : %v", errors.New(key).Error()) } @@ -306,11 +296,11 @@ func (f *File) WriteDeleteE2TInstance(file string, E2TInst *models.E2tDeleteData byteValue, err := json.Marshal(ricData) if err != nil { - return errors.New("cannot convert data due to: " + err.Error()) + return errors.New("cannot convert data due to: " + err.Error()) } err = ioutil.WriteFile(file, byteValue, 0644) if err != nil { - return errors.New("cannot write file due to: " + err.Error()) + return errors.New("cannot write file due to: " + err.Error()) } return nil }