...
The following APIs of External RAN NSSMF Simulator reference 3GPP TS 28.531 V16.6.0.
AllocateNssi
Method | URI |
---|---|
POST | /ObjectManagement/NSS/SliceProfiles |
Request body example:
JSON Viewer | ||||
---|---|---|---|---|
| ||||
{ "attributeListIn": { "sliceProfileId": "3a589dd0-b52c-4e46-8653-a1a636fd3b1e", "sNSSAIList": [ "001-12345" ], "pLMNIdList": [ "460-00" ], "perfReq": { "perfReqEmbbperfReqEmbbList": [ { "expDataRateDL": 2000, "expDataRateUL": 1000, "areaTrafficCapDL": 2000, "areaTrafficCapUL": 1000, "overallUserDensity": 500, "activityFactor": 50 } ] }, "maxNumberofUEs": 180, "coverageAreaTAList": [ 612 ], "latency": 20, "uEMobilityLevel": "stationary", "resourceSharingLevel": "non-shared" } } |
...
JSON Viewer | ||||
---|---|---|---|---|
| ||||
{ "href": "c9520f103a7343b6b119819d447a72a6", "attributeListOut": {} } |
DeallocateNssi
Method | URI |
---|---|
DELETE | /ObjectManagement/NSS/SliceProfiles/{sliceProfileId} |
Request body example:
JSON Viewer | ||||
---|---|---|---|---|
| ||||
{ "nSSId": "c9520f103a7343b6b119819d447a72a6" } |
...
Deployment Guide
1. Download:
git clone https://gerrit.onap.org/r/integration cd integration/test/mocks/ran-nssmf-simulator |
2. Environment Setup (Optional):
1) The default listening port of RESTful API is 8443, and you can set environment variable RAN_NSSMF_REST_PORT to change it, such as:
export RAN_NSSMF_REST_PORT=18443 |
2) The default username and password are in RanNssmfSimulator/etc/auth.json, and you can edit the file to change them or add new ones.
...
Option 1. Directly run it in the current directory:
pip3 install -r requirements.txt python3 main.py |
Option 2. Install it using setuptools, and run it in any directory:
python3 setup.py install --user python3 -m RanNssmfSimulator.MainApp |
Register to ONAP ESR
1. Add an esr-thirdparty-sdnc to ESR:
Run command: |
---|
curl -s -k -u "AAI:AAI" -H "X-FromAppId: testApp" -H "X-TransactionId: 1001" -H "Content-Type: application/json" -H "Accept: application/json" -X PUT https://aai.onap:30233/aai/v20/external-system/esr-thirdparty-sdnc-list/esr-thirdparty-sdnc/sdnc-an-01 -d @sdnc-an-01.json |
Example of sdnc-an-01.json: |
---|
{ "thirdparty-sdnc-id": "sdnc-an-01" } |
2. Add an esr-system-info (RAN NSSMF) to ESR:
Run command: |
---|
curl -s -k -u "AAI:AAI" -H "X-FromAppId: testApp" -H "X-TransactionId: 1001" -H "Content-Type: application/json" -H "Accept: application/json" -X PUT https://aai.onap:30233/aai/v20/external-system/esr-thirdparty-sdnc-list/esr-thirdparty-sdnc/sdnc-an-01/esr-system-info-list/esr-system-info/nssmf-an-01 -d @nssmf-an-01.json |
Example of nssmf-an-01.json: |
---|
{ "esr-system-info-id": "nssmf-an-01", "type": "an", "vendor": "huawei", "system-type": "thirdparty-sdnc", "ip-address": "192.168.35.83", "port": "8443", "user-name": "admin", "password": "123456", "ssl-cacert": "test.ca" } |
Where,
ip-address is the IP address or hostname which runs the External RAN NSSMF Simulator,
port is the listening port of RESTful API of the simulator,
and user-name and password are set in config file RanNssmfSimulator/etc/auth.json of the simulator.
3. Check the added RAN NSSMF from ESR:
Run command: |
---|
curl -s -k -u "AAI:AAI" -H "X-FromAppId: testApp" -H "X-TransactionId: 1001" -H "Accept: application/json" -X GET https://aai.onap:30233/aai/v20/external-system/esr-thirdparty-sdnc-list/esr-thirdparty-sdnc/sdnc-an-01/esr-system-info-list | python -m json.tool |
Example of response: |
---|
{ |