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).
+
==================================================================================
*/
/*
import (
"encoding/json"
"errors"
- "github.com/jcelliott/lumber"
+ "gerrit.o-ran-sc.org/r/ric-plt/xapp-frame/pkg/xapp"
+ "github.com/ghodss/yaml"
"io/ioutil"
"os"
- "strings"
)
var (
"UEContextRelease": "5",
"X2Setup": "6",
"Reset": "7",
- "RIC_SCTP_CONNECTION_FAILURE": "1080",
- "RIC_SCTP_CLEAR_ALL": "1090",
"E2_TERM_INIT": "1100",
+ "E2_TERM_KEEP_ALIVE_REQ": "1101",
+ "E2_TERM_KEEP_ALIVE_RESP": "1102",
+ "RAN_CONNECTED": "1200",
+ "RAN_RESTARTED": "1210",
+ "RAN_RECONFIGURED": "1220",
+ "RIC_SCTP_CLEAR_ALL": "1090",
+ "RIC_SCTP_CONNECTION_FAILURE": "1080",
"RIC_X2_SETUP": "10000",
"RIC_X2_RESPONSE": "10001",
"RIC_X2_RESOURCE_STATUS_REQUEST": "10002",
"RIC_X2_SETUP_REQ": "10060",
"RIC_X2_SETUP_RESP": "10061",
"RIC_X2_SETUP_FAILURE": "10062",
- "RIC_X2_RESET": "10070",
+ "RIC_X2_RESET_REQ": "10070",
"RIC_X2_RESET_RESP": "10071",
"RIC_ENB_CONF_UPDATE": "10080",
"RIC_ENB_CONF_UPDATE_ACK": "10081",
"RIC_INDICATION": "12050",
"DC_ADM_INT_CONTROL": "20000",
"DC_ADM_INT_CONTROL_ACK": "20001",
+ "A1_POLICY_REQ": "20010",
+ "A1_POLICY_RESPONSE": "20011",
+ "A1_POLICY_QUERY": "20012",
"RIC_CONTROL_XAPP_CONFIG_REQUEST": "100000",
"RIC_CONTROL_XAPP_CONFIG_RESPONSE": "100001",
}
// This implements static default routes needed by the RIC. Needs to be changed in case new components/message types needes to be added/updated.
// Representation : {"componentName1": {"tx": <tx message type list>, "rx": <rx message type list>}}
PLATFORMMESSAGETYPES = map[string]map[string][]string{
- "E2TERM": {"tx": []string{"RIC_X2_SETUP_REQ", "RIC_X2_SETUP_RESP", "RIC_X2_SETUP_FAILURE", "RIC_X2_RESET", "RIC_X2_RESET_RESP", "RIC_ENDC_X2_SETUP_REQ", "RIC_ENDC_X2_SETUP_RESP", "RIC_ENDC_X2_SETUP_FAILURE", "RIC_SUB_RESP", "RIC_SUB_FAILURE", "RIC_SUB_DEL_RESP", "RIC_SUB_DEL_FAILURE"}, "rx": []string{"RIC_X2_SETUP_REQ", "RIC_X2_SETUP_RESP", "RIC_X2_SETUP_FAILURE", "RIC_X2_RESET", "RIC_X2_RESET_RESP", "RIC_ENDC_X2_SETUP_REQ", "RIC_ENDC_X2_SETUP_RESP", "RIC_ENDC_X2_SETUP_FAILURE", "RIC_SUB_REQ", "RIC_SUB_DEL_REQ", "RIC_CONTROL_REQ"}},
- "E2MAN": {"tx": []string{"RIC_X2_SETUP_REQ", "RIC_X2_SETUP_RESP", "RIC_X2_SETUP_FAILURE", "RIC_X2_RESET", "RIC_X2_RESET_RESP", "RIC_ENDC_X2_SETUP_REQ", "RIC_ENDC_X2_SETUP_RESP", "RIC_ENDC_X2_SETUP_FAILURE"}, "rx": []string{"RIC_X2_SETUP_REQ", "RIC_X2_SETUP_RESP", "RIC_X2_SETUP_FAILURE", "RIC_X2_RESET", "RIC_X2_RESET_RESP", "RIC_ENDC_X2_SETUP_REQ", "RIC_ENDC_X2_SETUP_RESP", "RIC_ENDC_X2_SETUP_FAILURE"}},
- "SUBMAN": {"tx": []string{"RIC_SUB_REQ", "RIC_SUB_DEL_REQ"}, "rx": []string{"RIC_SUB_RESP", "RIC_SUB_FAILURE", "RIC_SUB_DEL_RESP", "RIC_SUB_DEL_FAILURE"}},
- "UEMAN": {"tx": []string{"RIC_CONTROL_REQ"}, "rx": []string{}},
+ "E2TERM": {"tx": []string{"RIC_X2_SETUP_REQ", "RIC_X2_SETUP_RESP", "RIC_X2_SETUP_FAILURE", "RIC_X2_RESET", "RIC_X2_RESET_RESP", "RIC_ENDC_X2_SETUP_REQ", "RIC_ENDC_X2_SETUP_RESP", "RIC_ENDC_X2_SETUP_FAILURE", "RIC_SUB_RESP", "RIC_SUB_FAILURE", "RIC_SUB_DEL_RESP", "RIC_SUB_DEL_FAILURE"}, "rx": []string{"RIC_X2_SETUP_REQ", "RIC_X2_SETUP_RESP", "RIC_X2_SETUP_FAILURE", "RIC_X2_RESET", "RIC_X2_RESET_RESP", "RIC_ENDC_X2_SETUP_REQ", "RIC_ENDC_X2_SETUP_RESP", "RIC_ENDC_X2_SETUP_FAILURE", "RIC_SUB_REQ", "RIC_SUB_DEL_REQ", "RIC_CONTROL_REQ"}},
+ "E2MAN": {"tx": []string{"RIC_X2_SETUP_REQ", "RIC_X2_SETUP_RESP", "RIC_X2_SETUP_FAILURE", "RIC_X2_RESET", "RIC_X2_RESET_RESP", "RIC_ENDC_X2_SETUP_REQ", "RIC_ENDC_X2_SETUP_RESP", "RIC_ENDC_X2_SETUP_FAILURE"}, "rx": []string{"RIC_X2_SETUP_REQ", "RIC_X2_SETUP_RESP", "RIC_X2_SETUP_FAILURE", "RIC_X2_RESET", "RIC_X2_RESET_RESP", "RIC_ENDC_X2_SETUP_REQ", "RIC_ENDC_X2_SETUP_RESP", "RIC_ENDC_X2_SETUP_FAILURE"}},
+ "SUBMAN": {"tx": []string{"RIC_SUB_REQ", "RIC_SUB_DEL_REQ"}, "rx": []string{"RIC_SUB_RESP", "RIC_SUB_FAILURE", "RIC_SUB_DEL_RESP", "RIC_SUB_DEL_FAILURE"}},
+ "UEMAN": {"tx": []string{"RIC_CONTROL_REQ"}, "rx": []string{}},
+ "RSM": {"tx": []string{"RIC_RES_STATUS_REQ"}, "rx": []string{"RAN_CONNECTED", "RAN_RESTARTED", "RAN_RECONFIGURED"}},
+ "A1MEDIATOR": {"tx": []string{}, "rx": []string{"A1_POLICY_QUERY", "A1_POLICY_RESPONSE"}},
}
- Logger = lumber.NewConsoleLogger(lumber.INFO)
- Eps Endpoints
- Subs SubscriptionList
+ Eps Endpoints
+ Subs SubscriptionList
)
-func SetLogLevel(loglevel string) error {
- switch strings.ToUpper(loglevel) {
- case "INFO":
- Logger.Level(lumber.INFO)
- return nil
- case "WARN":
- Logger.Level(lumber.WARN)
- return nil
- case "ERROR":
- Logger.Level(lumber.ERROR)
- return nil
- case "DEBUG":
- Logger.Info("Debug mode")
- Logger.Level(lumber.DEBUG)
- return nil
- case "TRACE":
- Logger.Info("Trace mode")
- Logger.Level(lumber.TRACE)
- return nil
- default:
- Logger.Error("invalid log mode, setting info")
- Logger.Level(lumber.INFO)
- return errors.New("invalid log level, setting info")
- }
-}
-
func GetPlatformComponents(configfile string) (*PlatformComponents, error) {
- Logger.Debug("Invoked rtmgr.GetPlatformComponents(" + configfile + ")")
+ xapp.Logger.Debug("Invoked rtmgr.GetPlatformComponents(" + configfile + ")")
var rcfg ConfigRtmgr
- jsonFile, err := os.Open(configfile)
+ yamlFile, err := os.Open(configfile)
if err != nil {
return nil, errors.New("cannot open the file due to: " + err.Error())
}
- defer jsonFile.Close()
- byteValue, err := ioutil.ReadAll(jsonFile)
+ defer yamlFile.Close()
+ byteValue, err := ioutil.ReadAll(yamlFile)
+ if err != nil {
+ return nil, errors.New("cannot read the file due to: " + err.Error())
+ }
+ jsonByteValue, err := yaml.YAMLToJSON(byteValue)
if err != nil {
return nil, errors.New("cannot read the file due to: " + err.Error())
}
- err = json.Unmarshal(byteValue, &rcfg)
+ err = json.Unmarshal(jsonByteValue, &rcfg)
if err != nil {
return nil, errors.New("cannot parse data due to: " + err.Error())
}
- Logger.Debug("Platform components read from the configfile: %v", rcfg.Pcs)
+ xapp.Logger.Debug("Platform components read from the configfile: %v", rcfg.Pcs)
return &(rcfg.Pcs), nil
}