ajay | d19711c | 2021-12-07 12:07:04 -0800 | [diff] [blame] | 1 | Configuration Overview |
| 2 | ====================== |
ajay | 60fd69f | 2021-11-23 22:38:10 -0800 | [diff] [blame] | 3 | |
ajay | 2c0f6f4 | 2021-12-02 22:45:19 -0800 | [diff] [blame] | 4 | Reference helm chart |
| 5 | -------------------- |
ajay | 60fd69f | 2021-11-23 22:38:10 -0800 | [diff] [blame] | 6 | |
ajay | 2c0f6f4 | 2021-12-02 22:45:19 -0800 | [diff] [blame] | 7 | - `SD-Core Helm Chart Repository <https://gerrit.opencord.org/admin/repos/sdcore-helm-charts>`_ |
| 8 | |
| 9 | Configuration Methods |
| 10 | --------------------- |
| 11 | SD-Core supports 2 ways to configure network functions and micro services. |
| 12 | |
| 13 | - Helm Chart |
| 14 | |
| 15 | - Each individual network function and microservice has its own helm chart. |
| 16 | - User needs to provide override values and deploy the network functions as per their need. |
| 17 | |
| 18 | - REST Config Interface |
| 19 | |
| 20 | - Basic static configuration is passed through helm chart |
| 21 | - Dynamic slice creation APIs are provided through REST interface. |
| 22 | - REST APIs are defined to create/modify/delete network slice. |
| 23 | - REST APIs are also provided to provision subscribers and grouping the subscribers under device Group. |
| 24 | |
ajay | ec9bb9d | 2021-12-08 00:03:36 -0800 | [diff] [blame^] | 25 | Configuration Steps |
| 26 | ------------------- |
Vijaya Rani | 59a1783 | 2021-12-03 19:27:41 +0530 | [diff] [blame] | 27 | This Configuration describes what to configure at high level from RoC/SIMAPP. ConfigPod stores this configuration |
ajay | ec9bb9d | 2021-12-08 00:03:36 -0800 | [diff] [blame^] | 28 | and publish to respective clients over REST/grpc. |
ajay | 2c0f6f4 | 2021-12-02 22:45:19 -0800 | [diff] [blame] | 29 | |
ajay | ec9bb9d | 2021-12-08 00:03:36 -0800 | [diff] [blame^] | 30 | - Step1 : Provision subscriber in 4G/5G subsystem |
ajay | 2c0f6f4 | 2021-12-02 22:45:19 -0800 | [diff] [blame] | 31 | |
ajay | ec9bb9d | 2021-12-08 00:03:36 -0800 | [diff] [blame^] | 32 | - This step is used to configure IMSI in the SD-Core |
| 33 | - This procedure is used to configure security keys for a subscriber |
| 34 | - Subscribers can be created during system startup or later |
| 35 | |
| 36 | - Step2 : Device Group Configuration |
| 37 | |
| 38 | - Group multiple devices under device group |
| 39 | - Configure QoS for the device group |
| 40 | - Configure IP domain configuration for the device group e.g. MTU, IP Pool, DNS server |
| 41 | |
| 42 | |
| 43 | - Step3: Network Slice Configuration |
| 44 | |
| 45 | - Configuration to create a Network Slice |
| 46 | - Add device Group into Network Slice |
| 47 | - Slice contains the Slice level QoS configuration |
Vijaya Rani | 59a1783 | 2021-12-03 19:27:41 +0530 | [diff] [blame] | 48 | - Site configuration including UPF, eNBs/gNBs assigned to the slice |
ajay | ec9bb9d | 2021-12-08 00:03:36 -0800 | [diff] [blame^] | 49 | - Applications allowed to be accessed by this slice |
ajay | 2c0f6f4 | 2021-12-02 22:45:19 -0800 | [diff] [blame] | 50 | |
ajay | ec9bb9d | 2021-12-08 00:03:36 -0800 | [diff] [blame^] | 51 | Option I - Configuration using Simapp POD |
| 52 | ----------------------------------------- |
ajay | 2c0f6f4 | 2021-12-02 22:45:19 -0800 | [diff] [blame] | 53 | |
ajay | ec9bb9d | 2021-12-08 00:03:36 -0800 | [diff] [blame^] | 54 | Easiest way to configure SD-Core is to use simapp. Simapp is the POD which takes |
| 55 | yaml configuration and configures the subscribers, device groups, network slices |
ajay | 2c0f6f4 | 2021-12-02 22:45:19 -0800 | [diff] [blame] | 56 | |
ajay | ec9bb9d | 2021-12-08 00:03:36 -0800 | [diff] [blame^] | 57 | .. code-block:: |
ajay | 2c0f6f4 | 2021-12-02 22:45:19 -0800 | [diff] [blame] | 58 | |
ajay | ec9bb9d | 2021-12-08 00:03:36 -0800 | [diff] [blame^] | 59 | config: |
| 60 | simapp: |
| 61 | cfgFiles: |
| 62 | simapp.yaml: |
| 63 | configuration: |
| 64 | provision-network-slice: true |
| 65 | sub-provision-endpt: |
| 66 | addr: config4g |
| 67 | port: 5000 |
| 68 | subscribers: |
| 69 | - ueId-start: 208014567891201 |
| 70 | ueId-end: 208014567891211 |
| 71 | plmnId: 20801 |
| 72 | opc: "d4416644f6154936193433dd20a0ace0" |
| 73 | op: "" |
| 74 | key: "465b5ce8b199b49faa5f0a2ee238a6bc" |
| 75 | sequenceNumber: 96 |
| 76 | device-groups: |
| 77 | - name: "4g-oaisim-user" |
| 78 | imsis: |
| 79 | - "208014567891201" |
| 80 | - "208014567891202" |
| 81 | ip-domain-name: "pool1" |
| 82 | ip-domain-expanded: |
| 83 | dnn: internet |
| 84 | dns-primary: "8.8.8.8" |
| 85 | mtu: 1460 |
| 86 | ue-ip-pool: "172.250.0.0/16" |
| 87 | ue-dnn-qos: |
| 88 | dnn-mbr-downlink: 20000000 |
| 89 | dnn-mbr-uplink: 4000000 |
| 90 | bitrate-unit: bps |
| 91 | traffic-class: #default bearer QCI/ARP |
| 92 | name: "platinum" |
| 93 | qci: 9 |
| 94 | arp: 1 |
| 95 | pdb: 300 |
| 96 | pelr: 6 |
| 97 | site-info: "aiab" |
| 98 | network-slices: |
| 99 | - name: "default" |
| 100 | slice-id: |
| 101 | sd: "010203" |
| 102 | sst: 1 |
| 103 | site-device-group: |
| 104 | - "4g-oaisim-user" |
| 105 | site-info: |
| 106 | gNodeBs: |
| 107 | - name: "aiab-gnb1" |
| 108 | tac: 1 |
| 109 | plmn: |
| 110 | mcc: "208" |
| 111 | mnc: "01" |
| 112 | site-name: "aiab" |
| 113 | upf: |
| 114 | upf-name: "upf" |
| 115 | upf-port: 8805 |
ajay | 2c0f6f4 | 2021-12-02 22:45:19 -0800 | [diff] [blame] | 116 | |
ajay | ec9bb9d | 2021-12-08 00:03:36 -0800 | [diff] [blame^] | 117 | Option II - Configuration using REST Interface |
| 118 | ---------------------------------------------- |
| 119 | |
| 120 | You can decide to use any other tool to generate REST messages towards SD-Core to configure |
| 121 | subscribers, device groups and network slice |
| 122 | |
| 123 | |
| 124 | Subscriber Configuration through REST Interface |
| 125 | """"""""""""""""""""""""""""""""""""""""""""""" |
| 126 | |
| 127 | Below example configures subscriber `208014567891209` in the SD-Core |
| 128 | |
| 129 | .. code-block:: |
| 130 | |
| 131 | - Post: |
| 132 | URL: `http://<config-service-name-or-ip>:<port>/api/subscriber/<imsi-xxx>` |
| 133 | Ex: `http://<config-service-name-or-ip>:<port>/api/subscriber/<imsi-208014567891209>` |
| 134 | |
| 135 | Request Body: |
| 136 | |
| 137 | { |
| 138 | "UeId":"208014567891209", |
| 139 | "plmnId":"20801", |
| 140 | "opc":"d4416644f6154936193433dd20a0ace0", |
| 141 | "key":"465b5ce8b199b49faa5f0a2ee238a6bc", |
| 142 | "sequenceNumber":"96" |
| 143 | } |
| 144 | |
| 145 | - Delete: |
| 146 | URL: `http://<config-service-name-or-ip>:<port>/api/subscriber/<imsi-xxx>` |
| 147 | Ex: `http://<config-service-name-or-ip>:<port>/api/subscriber/<imsi-208014567891209>` |
| 148 | |
| 149 | |
| 150 | Device Group Configuration through REST Interface |
| 151 | """"""""""""""""""""""""""""""""""""""""""""""""" |
| 152 | |
| 153 | .. code-block:: |
| 154 | |
| 155 | - Post: |
| 156 | URL: `http://<config-service-name-or-ip>:<port>/device-group/<group-name>` |
| 157 | Ex: `http://config5g:8080/device-group/iot-camera` |
| 158 | |
| 159 | Request Body: |
| 160 | { |
| 161 | "imsis": |
| 162 | [ |
| 163 | "123456789123456" |
| 164 | "123456789123457" |
| 165 | "123456789123458" |
| 166 | ], |
| 167 | "site-info": "menlo", |
| 168 | "ip-domain-name": "pool1", |
| 169 | "ip-domain-expanded": |
| 170 | { |
| 171 | "dnn": "internet", |
| 172 | "ue-ip-pool": "10.91.0.0/16", |
| 173 | "dns-primary": "8.8.8.8", |
| 174 | "dns-secondary": "8.8.4.4", |
| 175 | "mtu": 1460, |
| 176 | "ue-dnn-qos": |
| 177 | { |
| 178 | "dnn-mbr-uplink": 4000000, |
| 179 | "dnn-mbr-downlink": 20000000, |
| 180 | "bitrate-unit": "Mbps", |
| 181 | "traffic-class": "platinum" |
| 182 | } |
| 183 | } |
| 184 | } |
| 185 | |
| 186 | - Delete |
| 187 | URL: `http://<config-service-name-or-ip>:<port>/device-group/<group-name>` |
| 188 | Ex: `http://config5g:8080/device-group/iot-camera` |
| 189 | |
| 190 | Network Slice Configuration through REST Interface |
| 191 | """""""""""""""""""""""""""""""""""""""""""""""""" |
| 192 | |
| 193 | .. code-block:: |
| 194 | |
Vijaya Rani | 59a1783 | 2021-12-03 19:27:41 +0530 | [diff] [blame] | 195 | - Post: |
| 196 | URL: `http://<config-service-name-or-ip>:<port>/network-slice/<slice-name>` |
| 197 | Ex: `http://config5g:8080/network-slice/slice1` |
ajay | ec9bb9d | 2021-12-08 00:03:36 -0800 | [diff] [blame^] | 198 | |
| 199 | |
Vijaya Rani | 59a1783 | 2021-12-03 19:27:41 +0530 | [diff] [blame] | 200 | Request Body: |
| 201 | { |
ajay | ec9bb9d | 2021-12-08 00:03:36 -0800 | [diff] [blame^] | 202 | "slice-id": |
| 203 | { |
| 204 | "sst": "1", |
| 205 | "sd": "010203" |
| 206 | }, |
| 207 | "qos": |
| 208 | { |
| 209 | "uplink": 4000000, |
| 210 | "downlink": 20000000, |
| 211 | "bitrate-unit": "Mbps", |
| 212 | "traffic-class": "platinum" |
| 213 | }, |
| 214 | "site-device-group": |
| 215 | [ |
| 216 | "iot-camera" |
| 217 | ], |
| 218 | "site-info": |
| 219 | { |
| 220 | "site-name": "menlo", |
| 221 | "plmn": |
| 222 | { |
| 223 | "mcc": "315", |
| 224 | "mnc": "010" |
| 225 | }, |
| 226 | "gNodeBs": |
| 227 | [ |
| 228 | { |
| 229 | "name": "menlo-gnb1", |
| 230 | "tac": 1 |
| 231 | } |
| 232 | ], |
| 233 | "upf": |
| 234 | { |
| 235 | "upf-name": "upf.menlo.aetherproject.org", |
| 236 | "upf-port": 8805 |
| 237 | } |
| 238 | }, |
Vijaya Rani | 59a1783 | 2021-12-03 19:27:41 +0530 | [diff] [blame] | 239 | } |
ajay | 2c0f6f4 | 2021-12-02 22:45:19 -0800 | [diff] [blame] | 240 | |
Vijaya Rani | 59a1783 | 2021-12-03 19:27:41 +0530 | [diff] [blame] | 241 | - Delete |
| 242 | URL: `http://<config-service-name-or-ip>:<port>/network-slice/<slice-name>` |
| 243 | Ex: `http://config5g:8080/network-slice/slice1` |
| 244 | |
Vijaya Rani | 59a1783 | 2021-12-03 19:27:41 +0530 | [diff] [blame] | 245 | |