blob: b83b16e8292aa8347e48d982e29d69d1630ac52a [file] [log] [blame]
Configuration Overview
======================
Reference helm chart
--------------------
- `SD-Core Helm Chart Repository <https://gerrit.opencord.org/admin/repos/sdcore-helm-charts>`_
Configuration Methods
---------------------
SD-Core supports 2 ways to configure network functions and micro services.
- Helm Chart
- Each individual network function and microservice has its own helm chart.
- User needs to provide override values and deploy the network functions as per their need.
- REST Config Interface
- Basic static configuration is passed through helm chart
- Dynamic slice creation APIs are provided through REST interface.
- REST APIs are defined to create/modify/delete network slice.
- REST APIs are also provided to provision subscribers and grouping the subscribers under device Group.
Configuration Steps
-------------------
This Configuration describes what to configure at high level from RoC/SIMAPP. ConfigPod stores this configuration
and publish to respective clients over REST/grpc.
- Step1 : Provision subscriber in 4G/5G subsystem
- This step is used to configure IMSI in the SD-Core
- This procedure is used to configure security keys for a subscriber
- Subscribers can be created during system startup or later
- Step2 : Device Group Configuration
- Group multiple devices under device group
- Configure QoS for the device group
- Configure IP domain configuration for the device group e.g. MTU, IP Pool, DNS server
- Step3: Network Slice Configuration
- Configuration to create a Network Slice
- Add device Group into Network Slice
- Slice contains the Slice level QoS configuration
- Site configuration including UPF, eNBs/gNBs assigned to the slice
- Applications allowed to be accessed by this slice
Option I - Configuration using Simapp POD
-----------------------------------------
Easiest way to configure SD-Core is to use simapp. Simapp is the POD which takes
yaml configuration and configures the subscribers, device groups, network slices
.. code-block::
config:
simapp:
cfgFiles:
simapp.yaml:
configuration:
provision-network-slice: true
sub-provision-endpt:
addr: config4g
port: 5000
subscribers:
- ueId-start: 208014567891201
ueId-end: 208014567891211
plmnId: 20801
opc: "d4416644f6154936193433dd20a0ace0"
op: ""
key: "465b5ce8b199b49faa5f0a2ee238a6bc"
sequenceNumber: 96
device-groups:
- name: "4g-oaisim-user"
imsis:
- "208014567891201"
- "208014567891202"
ip-domain-name: "pool1"
ip-domain-expanded:
dnn: internet
dns-primary: "8.8.8.8"
mtu: 1460
ue-ip-pool: "172.250.0.0/16"
ue-dnn-qos:
dnn-mbr-downlink: 20000000
dnn-mbr-uplink: 4000000
bitrate-unit: bps
traffic-class: #default bearer QCI/ARP
name: "platinum"
qci: 9
arp: 1
pdb: 300
pelr: 6
site-info: "aiab"
network-slices:
- name: "default"
slice-id:
sd: "010203"
sst: 1
site-device-group:
- "4g-oaisim-user"
site-info:
gNodeBs:
- name: "aiab-gnb1"
tac: 1
plmn:
mcc: "208"
mnc: "01"
site-name: "aiab"
upf:
upf-name: "upf"
upf-port: 8805
Option II - Configuration using REST Interface
----------------------------------------------
You can decide to use any other tool to generate REST messages towards SD-Core to configure
subscribers, device groups and network slice
Subscriber Configuration through REST Interface
"""""""""""""""""""""""""""""""""""""""""""""""
Below example configures subscriber `208014567891209` in the SD-Core
.. code-block::
- Post:
URL: `http://<config-service-name-or-ip>:<port>/api/subscriber/<imsi-xxx>`
Ex: `http://<config-service-name-or-ip>:<port>/api/subscriber/<imsi-208014567891209>`
Request Body:
{
"UeId":"208014567891209",
"plmnId":"20801",
"opc":"d4416644f6154936193433dd20a0ace0",
"key":"465b5ce8b199b49faa5f0a2ee238a6bc",
"sequenceNumber":"96"
}
- Delete:
URL: `http://<config-service-name-or-ip>:<port>/api/subscriber/<imsi-xxx>`
Ex: `http://<config-service-name-or-ip>:<port>/api/subscriber/<imsi-208014567891209>`
Device Group Configuration through REST Interface
"""""""""""""""""""""""""""""""""""""""""""""""""
.. code-block::
- Post:
URL: `http://<config-service-name-or-ip>:<port>/device-group/<group-name>`
Ex: `http://config5g:8080/device-group/iot-camera`
Request Body:
{
"imsis":
[
"123456789123456"
"123456789123457"
"123456789123458"
],
"site-info": "menlo",
"ip-domain-name": "pool1",
"ip-domain-expanded":
{
"dnn": "internet",
"ue-ip-pool": "10.91.0.0/16",
"dns-primary": "8.8.8.8",
"dns-secondary": "8.8.4.4",
"mtu": 1460,
"ue-dnn-qos":
{
"dnn-mbr-uplink": 4000000,
"dnn-mbr-downlink": 20000000,
"bitrate-unit": "Mbps",
"traffic-class": "platinum"
}
}
}
- Delete
URL: `http://<config-service-name-or-ip>:<port>/device-group/<group-name>`
Ex: `http://config5g:8080/device-group/iot-camera`
Network Slice Configuration through REST Interface
""""""""""""""""""""""""""""""""""""""""""""""""""
.. code-block::
- Post:
URL: `http://<config-service-name-or-ip>:<port>/network-slice/<slice-name>`
Ex: `http://config5g:8080/network-slice/slice1`
Request Body:
{
"slice-id":
{
"sst": "1",
"sd": "010203"
},
"qos":
{
"uplink": 4000000,
"downlink": 20000000,
"bitrate-unit": "Mbps",
"traffic-class": "platinum"
},
"site-device-group":
[
"iot-camera"
],
"site-info":
{
"site-name": "menlo",
"plmn":
{
"mcc": "315",
"mnc": "010"
},
"gNodeBs":
[
{
"name": "menlo-gnb1",
"tac": 1
}
],
"upf":
{
"upf-name": "upf.menlo.aetherproject.org",
"upf-port": 8805
}
},
}
- Delete
URL: `http://<config-service-name-or-ip>:<port>/network-slice/<slice-name>`
Ex: `http://config5g:8080/network-slice/slice1`