Apart from the components mentioned in Manual Configurations, below components are needed to complete a closed loop.

1. VES Collector

VES collector receives the PM data from RAN simulator and posts it in message router.

Sample Fileready notification received from RAN-Simulator:

{
    "event": {
        "commonEventHeader": {
            "version": "4.0.1",
            "vesEventListenerVersion": "7.0.1",
            "domain": "notification",
            "eventName": "Notification_RnNode-Slicing_FileReady",
            "eventId": "FileReady_1797490e-10ae-4d48-9ea7-3d7d790b25e1",
            "lastEpochMicrosec": 8745745764578,
            "priority": "Normal",
            "reportingEntityName": "cucpserver2",
            "sequence": 0,
            "sourceName": "cucpserver2",
            "startEpochMicrosec": 8745745764578,
            "timeZoneOffset": "UTC+05.30"
        },
        "notificationFields": {
            "changeIdentifier": "PM_MEAS_FILES",
            "changeType": "FileReady",
            "notificationFieldsVersion": "2.0",
            "arrayOfNamedHashMap": [{
                "name": "A2021-01-15T05-46-30.387-2021-01-15T05-46-30.387-7836-cucpserver2.bin.gz",
                "hashMap": {
                    "location": "ftpes://192.168.0.101:22/ftp/rop/A2021-01-15T05-46-30.387-2021-01-15T05-46-30.387-7836-cucpserver2.bin.gz",
                    "compression": "gzip",
                    "fileFormatType": "org.3GPP.32.435#measCollec",
                    "fileFormatVersion": "V10"
                }
            }]
        }
    }
}


2. Datafile Collector

Datafile Collector reads the File Ready VES notifications from the message router. It fetches the PM file from the simulator using the FTP/SFTP location in the notification and places it in the data router. PM Mapper reads this PM file (xml format).

Refer DataFile Collector (5G Usecase) for the set up

3. PM Mapper

PM Mapper should be in running state.

This component reads the PM data file(xml) from the data router, generates PM events (json format) and posts the message at the topic org.onap.dmaap.mr.PERFORMANCE_MEASUREMENTS. This topic is created during the start up of PM-Mapper.

Slice Analysis MS reads the data from this topic and further does the analysis on it.

Refer PM-Mapper (5G Usecase) for PM Mapper set up.

4. Slice Analysis MS

Refer DCAE R7 Slice Analysis MS (Network Slicing Usecase) for Slice Analysis MS set up.

Policies for Slice Analysis MS:

Execute these curl requests from any of the running pods.

Policy Creation:

curl -k --silent --user 'healthcheck:zb!XztG34' -X POST "https://policy-api:6969/policy/api/v1/policytypes/onap.policies.controlloop.operational.common.Drools/versions/1.0.0/policies" -H "Accept: application/json" -H "Content-Type: application/json" -d @modifynssi.json

where modifynssi.json is, 
SLA MS - Policy

{
    "tosca_definitions_version": "tosca_simple_yaml_1_1_0",
    "topology_template": {
        "policies": [
            {
            "operational.modifynssi": {
               "type": "onap.policies.controlloop.operational.common.Drools",
               "type_version": "1.0.0",
               "version": "1.0.0",
               "name": "operational.modifynssi",
               "metadata": {
                  "policy-id": "operational.modifynssi"
               },
               "properties": {
                  "id": "ControlLoop-Slicing-116d7b00-dbeb-4d03-8719-d0a658fa735b",
                  "timeout": 1200,
                  "abatement": false,
                  "trigger": "unique-policy-id-1-modify-nssi",
                  "operations": [
                     {
                        "id": "unique-policy-id-1-modify-nssi",
                        "description": "Modify resource allocation for a slice subnet instance",
                        "operation": {
                           "actor": "SO",
                           "operation": "Modify NSSI",
                           "target": {
                              "targetType": "VNF"
                           }
                        },
                        "timeout": 1200,
                        "retries": 0,
                        "success": "final_success",
                        "failure": "final_failure",
                        "failure_timeout": "final_failure_timeout",
                        "failure_retries": "final_failure_retries",
                        "failure_exception": "final_failure_exception",
                        "failure_guard": "final_failure_guard"
                     }
                  ],
                  "controllerName": "usecases"
               }
            }
         }
        ]
    }
}


To push the policy:

curl --silent -k --user 'healthcheck:zb!XztG34' -X POST "https://policy-pap:6969/policy/pap/v1/pdps/policies" -H "Accept: application/json" -H "Content-Type: application/json" -d @push_modifynssi.json

where push_modifynssi.json is,
SLA MS - Push the Policy

{
  "policies": [
    {
      "policy-id": "operational.modifynssi",
      "policy-version": 1
    }
  ]
}

5. Sample Data

This data should be preloaded to test the closed loop part. The below data are not required to be fed, if the E2E Slice Instantiation is done before. 

RAN Simulator:

Log into the RAN-sim DB and run the below sql file in ransim_db.

ransim-db-closed-loop-sample-data.sql

Config DB:

Run the script as below to preload the config DB data for closed loop. Correct the port in the script, if Config DB running in a different port.

./configdb_requests_script_closedloop.sh <IP of the host machine in which Config DB>

configdb_requests_script_closedloop.sh

  • No labels