add guide for sdran ric

parent 6a3a3c13
# Slicing xApp Deployment
This is a guide to deploy CCC model slicing xApp based on sdran-in-a-box.
The key idea is bridging the gap between slicing xAPP and OAI gNB based on the RIC in sdran. The interface between RIC and OAI gNB is the rrmPolicy.json
## Customized RIC Deployment
This is installed on DU server.
### Docker registry
Create docker registry point by
```
docker run -d -p 5000:5000 --restart=always --name=registry registry:2
```
### Clone and Build docker Images for
- onos-e2-sm : https://github.com/intel-collab/networking.wireless.aether.onos-e2-sm
- onos-rsm : https://github.com/intel-collab/networking.wireless.aether.onos-rsm
- onos-topo : https://github.com/intel-collab/networking.wireless.aether.onos-topo
- onos-e2t : https://github.com/intel-collab/networking.wireless.aether.onos-e2t
For each repo above, run
```
make images
```
Run `docker images` to check the builded docker images.
### RIC deployment
- Clone sdran-in-a-box from https://github.com/intel-collab/networking.wireless.aether.sdran-in-a-box.
- Run `make clean-all` if you have ever deploy old version RIC or k8s.
- Run `make OPT=ric VER=stable`
## Customized RAN-SIM Deployment
This is installed on DU server
- Clone ran-simulator from https://github.com/intel-collab/networking.wireless.aether.ran-simulator
- Change `rrmPolicyFilePath` in `pkg/servicemodel/ccc/msg2oai_json.go` according your OAI path.
- TODO: go module need to be carefully configured.
- run `./start_ransim.sh`. If it raises errors about go modules, go to the last step.
## RANSIM Slicing Control
This is running on CN server.
This is serving as slicing xApp, which communicates to RIC via the following curl command.
### Send Control Msg
Use curl to send control MSG to RIC
```
curl -X PUT -H "Content-Type: application/json" 10.21.64.12:31963/policytypes/ORAN_SliceSLATarget_1.0.0/policies/1 -d @policyRatio1.json
```
An example of policyRatio1.json:
```
{
"scope": {
"sliceId": {
"sst": 1,
"sd": "123456",
"plmnId": {
"mcc": "001",
"mnc": "01"
}
}
},
"sliceSlaObjectives": {
"maxNumberOfUes": 1,
"maxNumberOfPduSessions": 2,
"maxDlThptPerUe": 5,
"guaDlThptPerSlice": 10,
"maxDlThptPerSlice": 100
}
}
```
To send control MSG about another slicing, create a `policyRatio2.json` like
```
{
"scope": {
"sliceId": {
"sst": 1,
"sd": "010203",
"plmnId": {
"mcc": "001",
"mnc": "01"
}
}
},
"sliceSlaObjectives": {
"maxNumberOfUes": 1,
"maxNumberOfPduSessions": 2,
"maxDlThptPerUe": 5,
"guaDlThptPerSlice": 80,
"maxDlThptPerSlice": 100
}
}
```
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment