Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

1. UUI Configuration

Configure CST template UUID and Invariant UUID in slicing.properties file of uui-server microservice

...

Copy subnetCapability.json to SO-API Handler pod to configure subnet capabilities at run time.

Sample subnetCapability.json

{
"AN_NF": {
"latency": 5,
"maxNumberofUEs": 200,
"maxThroughput": 90,
"termDensity": 40
},
"AN": {
"latency": 20,
"maxNumberofUEs": 100,
"maxThroughput": 150,
"termDensity": 50
},
"CN": {
"latency": 10,
"maxThroughput": 50,
"maxNumberofConns": 100
},
"TN_FH": {
"latency": 10,
"maxThroughput": 90
},
"TN_MH": {
"latency": 5,
"maxThroughput": 90
},
"TN_BH": {
"latency": 10,
"maxThroughput": 100
}
}

...

unzip policies.zip

kubectl cp policies -n onap <oof-pod-name>:/opt/osdf

kubectl exec -ti -n onap <oof-pod-name> bash

cd policies/nsi

python3 policy_utils.py create_policy_types policy_types

python3 policy_utils.py create_and_push_policies nst_policies

python3 policy_utils.py generate_nsi_policies NSTO1

python3 policy_utils.py create_and_push_policies gen_nsi_policies

cd policies/nssi

python3 policy_utils.py generate_nsi_policies TESTRANTOPNSST

python3 policy_utils.py create_and_push_policies gen_nsi_policies

python3 policy_utils.py generate_nssi_policies RAN_NF_NSST minimize latency

python3 policy_utils.py create_and_push_policies gen_nssi_policies

python3 policy_utils.py generate_nssi_policies TN_FH_NSST  minimize latency

python3 policy_utils.py create_and_push_policies gen_nssi_policies

python3 policy_utils.py generate_nssi_policies TN_MH_NSST  minimize latency

python3 policy_utils.py create_and_push_policies gen_nssi_policies

python3 policy_utils.py generate_nssi_policies TN_BH_NSST  minimize latency

python3 policy_utils.py create_and_push_policies gen_nssi_policies

python3 policy_utils.py generate_nssi_policies CN_NSST minimize latency

python3 policy_utils.py create_and_push_policies gen_nssi_policies

...

Install config DB application in a separate VM. MariaDB container should be up and running to access the config DB APIs.

Refer https://wiki.onap.org/display/DW/Config+DB+setup for configDB setup. Latest source is available at Image versions, preparation steps and useful info-Config DB Preload Info Section.

...

Code Block
languagetext
titleesr_registration
linenumberstrue
collapsetrue
curl -k -X PUT "https://AAI:AAI@<worker-vmIp>:30233/aai/v23/external-system/esr-thirdparty-sdnc-list/esr-thirdparty-sdnc/ff9ef162-951d-4e14-9ce6-b4fa0adf896b" \
-H 'Accept: application/json' \
-H 'X-FromAppId: AAI' \
-H 'X-TransactionId: 1' \
-H 'Content-Type: application/json' \
-d '{
"thirdparty-sdnc-id":"ff9ef162-951d-4e14-9ce6-b4fa0adf896b",
    "location": "edge",
    "product-name": "TSDN",
	 "esr-system-info-list":{"esr-system-info":[{
"esr-system-info-id": "7c29b9df-feef-4fa7-b56d-3e39f5ef4a90",
"system-name": "sdnc2",
"vendor": "HUAWEI",
"type": "WAN",
"version": "v1.0",
"service-url": "http://<simulator-ip>:<simulator-port>",
"user-name": "onos",
"password": "rocks",
"system-type": "thirdparty_SDNC",
"protocol": "restconf"
}]}
}' 


E2E network slicing test(using resource occupancy details)

Before creating shared communication service for testing NSI/NSSI selection using resource occupancy details, below manual configurations must be done:

Deployment Prerequisite/dependencies

  1. VES, PM mapper and DataFile Collector, dcae-mongodb, Datalake Extraction Service(DES) and Datalake-feeder services should be running.

Datalake Extraction Service(DES):


  1. Build presto image and push the images to a exsting repository
    1. Download and extract presto package version v0.0.2: presto-v0.0.2.tar.gz
    2. docker build -t presto:v0.0.2 .
    3. docker tag presto:v0.0.2 registry.baidubce.com/onap/presto:v0.0.2
    4. docker push registry.baidubce.com/onap/presto:v0.0.2
    5. Note: Replace the repository path with your own repository.
  2. Install presto service
    1. kubectl -n onap run dl-presto --image=presto:v0.0.2 --env="MongoDB_IP=dcae-mongohost" --env="MongoDB_PORT=27017" --image-pull-policy=IfNotPresent
    2. kubectl expose pod dl-presto --name=dl-presto --port=9000 --target-port=9000 --type=NodePort -n onap
  3. Login to the dev-dcae-datalake-postgres-primary container and execute following sql commands:

    1. Code Block
      languagetext
      titleesr_registration
      linenumberstrue
      collapsetrue
      delete from map_db_topic;
      delete from map_db_design;
      delete from db;
      delete from data_exposure ;
      insert into db (id, db_type_id, enabled, encrypt, name,host,port,database_name) values (2, 'MONGO', true, true, 'MongoDB 1','dcae-mongohost',27017,'datalake');
      insert into map_db_topic(db_id,topic_id) select db.id, topic.id from db_type, db, topic where db.db_type_id=db_type.id and db_type.tool=false;
      update kafka set secure=true, pass='admin_secret' where id=1;
      insert into topic_name (id) values ('unauthenticated.PERFORMANCE_MEASUREMENTS');
      insert into topic(id, topic_name_id,correlate_cleared_message,enabled, message_id_path,data_format) values (6, 'unauthenticated.PERFORMANCE_MEASUREMENTS',true,true,'/event/commonEventHeader','JSON');
      insert into data_exposure(id, note,sql_template,db_id) values ('pm_data','pm_message', 'SELECT json_format(CAST( event.perf3gppFields.measDataCollection.measInfoList[1].measTypes.sMeasTypesList AS JSON)) AS sMeasTypesList, json_format(CAST( event.perf3gppFields.measDataCollection.measInfoList[1].measValuesList AS JSON)) AS measValuesList FROM unauthenticatedperformancemeasurements WHERE any_match(event.perf3gppFields.measDataCollection.measInfoList[1].measTypes.sMeasTypesList, e -> e like ''${snssai}'') AND event.commonEventHeader.startEpochMicrosec >= ${time}',2); //db_id refers to mongodb in table db, this template filters PM data based on snssai and startEpochMicrosec;


    2. Load sample data in mongo db(refer DCAE mongodb section)

    3. Execute below request to verify: curl --header "Content-type: application/json" --request POST --data '{"snssai":"SM.PrbUsedDl.01-910EF6","time":"1649853949111"}' http://dl-des:1681/datalake/v1/exposure/pm_data -i


Datalake Feeder:

  1. Restart datalake-feeder container after loading above configurations in the DB.

RANSIM :

  1. RANSIM and honeycomb containers should be running
  2. You can update/add/delete data(throughput, PRBs, maxNoConns etc) in mariadb container(credentials in docker-compose file) if required before generation of PM data.
  3. RANSIM must contain 'plmninfo' of the service which is to be shared with other services. Then generate closed-loop PM data which will be stored in mongo-db by datalake-feeder.
  4. Sample closed loop data: closed-loop-data.txt
  5. Run the following command to generate Closed Loop PM data:
    1. curl -X POST http://localhost:8081/ransim/api/generateClosedLoopPmData -i
  6. Run the following command to stop Closed Loop PM data(When enough PM data is generated): 
    1. curl -X GET http://localhost:8081/ransim/api/stopClosedLoopPmData -i
  7. Access the DU honeycomb containers to view the logs:
    1. docker container logs -f 110
  8. Check the folder(where SFTP setup is done) to view the generated PM data files.
  9. Access VES, data file collector, dmaap-dr, PM mapper and slice-analysis logs to verify.


DCAE-MONGO DB:

  1. Login to dcae-mongodb container and execute following commands to check if PM data was saved in DB:
    1. mongo
    2. use datalake
    3. db.unauthenticatedperformancemeasurements.find({})
    4. to load sample data:

    5. Code Block
      languagetext
      titleesr_registration
      linenumberstrue
      collapsetrue
      db.unauthenticatedperformancemeasurements.insert({
         "event":{
            "commonEventHeader":{
               "domain":"perf3gpp",
               "eventId":"95e79282-2876-4000-8192-b514ad7f399a",
               "sequence":0,
               "eventName":"perf3gpp_RnNode-Slicing_pmMeasResult",
               "sourceName":"220",
               "reportingEntityName":"",
               "priority":"Normal",
               "startEpochMicrosec":1651216762867,
               "lastEpochMicrosec":1651216762868,
               "version":"4.0",
               "vesEventListenerVersion":"7.1",
               "timeZoneOffset":"UTC+05:30"
            },
            "perf3gppFields":{
               "perf3gppFieldsVersion":"1.0",
               "measDataCollection":{
                  "granularityPeriod":900,
                  "measuredEntityUserName":"",
                  "measuredEntityDn":"220",
                  "measuredEntitySoftwareVersion":"r0.1",
                  "measInfoList":[
                     {
                        "measInfoId":{
                           "sMeasInfoId":"measInfoIsVal"
                        },
                        "measTypes":{
                           "sMeasTypesList":[
                              "SM.PrbUsedDl.01-3C5C90",
                              "SM.PrbUsedUl.01-3C5C90"
                           ]
                        },
                        "measValuesList":[
                           {
                              "measObjInstId":"15155",
                              "suspectFlag":"false",
                              "measResults":[
                                 {
                                    "p":1,
                                    "sValue":"5"
                                 },
                                 {
                                    "p":2,
                                    "sValue":"7"
                                 }
                              ]
                           },
                           {
                              "measObjInstId":"15174",
                              "suspectFlag":"false",
                              "measResults":[
                                 {
                                    "p":1,
                                    "sValue":"6"
                                 },
                                 {
                                    "p":2,
                                    "sValue":"7"
                                 }
                              ]
                           },
                           {
                              "measObjInstId":"15175",
                              "suspectFlag":"false",
                              "measResults":[
                                 {
                                    "p":1,
                                    "sValue":"15"
                                 },
                                 {
                                    "p":2,
                                    "sValue":"4"
                                 }
                              ]
                           },
                           {
                              "measObjInstId":"15176",
                              "suspectFlag":"false",
                              "measResults":[
                                 {
                                    "p":1,
                                    "sValue":"5"
                                 },
                                 {
                                    "p":2,
                                    "sValue":"14"
                                 }
                              ]
                           },
                           {
                              "measObjInstId":"15825",
                              "suspectFlag":"false",
                              "measResults":[
                                 {
                                    "p":1,
                                    "sValue":"0"
                                 },
                                 {
                                    "p":2,
                                    "sValue":"14"
                                 }
                              ]
                           }
                        ]
                     }
                  ]
               }
            }
         }
      })