...
2. MSB Configuration
Register so-orchestrationTasks and so-serviceInstances datalake interface to MSB.
Interface registration can be done through portal.
...
- Build presto image and push the images to a exsting repository
- Download and extract presto package version v0.0.2: presto-v0.0.2.tar.gz
- docker build -t presto:v0.0.2 .
- docker tag presto:v0.0.2 registry.baidubce.com/onap/presto:v0.0.2
- docker push registry.baidubce.com/onap/presto:v0.0.2
- Note: Replace the repository path with your own repository.
- Install presto service
- kubectl -n onap run dl-presto --image=presto:v0.0.2 --env="MongoDB_IP=dcae-mongohost" --env="MongoDB_PORT=27017" --image-pull-policy=IfNotPresent
- kubectl expose pod dl-presto --name=dl-presto --port=9000 --target-port=9000 --type=NodePort -n onap
Login to the dev-dcae-datalake-postgres-primary container and execute following sql commands:
Code Block title datalake-db init_data linenumbers true collapse true psql -Udatalake -ddatalake \dt 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 data_exposure(id, note,sql_template,db_id) values ('pDUSessionEstSR','pm_message', 'SELECT event.perf3gppFields.measDataCollection.measInfoList[1].measValuesList[1].measResults[1].sValue AS pDUSessionEstSR, from_unixtime(event.commonEventHeader.startEpochMicrosec/1000) AS timeStamp FROM unauthenticatedperformancemeasurements WHERE any_match(event.perf3gppFields.measDataCollection.measInfoList[1].measTypes.sMeasTypesList, e -> e like ''${id}'') AND event.commonEventHeader.startEpochMicrosec >= ${timeStamp}',2);
- Execute below request to verify:
curl --header "Content-type: application/json" --request POST --data '{"hours":4,"id":"PDUSessionEstSR.00110010","timeStamp":"1606743157914"}' http://dl-des:1681/datalake/v1/exposure/pDUSessionEstSR -i
...
- curl -k --silent --user 'policyadmin:zb!XztG34' -X POST "https://policy-api:6969/policy/api/v1/policytypes" -H "Accept: application/json" -H "Content-Type: application/json" -d @kpipolicytype.json
- curl -k --silent --user 'policyadmin:zb!XztG34' -X POST "https://policy-api:6969/policy/api/v1/policytypes/onap.policies.monitoring.docker.kpims.app/versions/1.0.0/policies" -H "Accept: application/json" -H "Content-Type: application/json" -d @kpipolicyinstance.json
- curl --silent -k --user 'policyadmin:zb!XztG34' -X POST "https://policy-pap:6969/policy/pap/v1/pdps/policies" -H "Accept: application/json" -H "Content-Type: application/json" -d @deploykpipolicy.json
deploykpipolicykpipolicytype.json
unmigratedelite-soft-wikijson-markupviewer |
---|
{ "policy_types": { "onap.policies.monitoring.docker.kpims.app":[ { { "derived_from": "onap.policies.Monitoring:1.0.0", "policy-iddescription":"com.Config_KPIMS_CONFIG_POLICY", "KPI ms policy type", "policy-versionproperties":1 { } "domain": ] } |
kpipolicytype.json
Wiki Markup |
---|
{{ "policy_types": { "onap.policies.monitoring.docker.kpims.app": { "derived_from": "onap.policies.Monitoring:1.0.0", "description": "KPI ms policy type", "properties": { "domain": { "required": true, "type": "string" }, "methodForKpi":{ "type":"list", "required":true, "entry_schema":{ "type":"policy.data.methodForKpi_properties" } } }, "version": "1.0.0" } }, "data_types": { "policy.data.methodForKpi_properties": { "derived_from": "tosca.nodes.Root", "properties": { "eventName":{ "type":"string", "required":true }, "controlLoopSchemaType":{ "type":"string", "required":true }, "policyScope":{ "type":"string", "required":true }, "policyName":{ "type":"string", "required":true }, "policyVersion":{ "type":"string", "required":true }, "kpis":{ "type":"list", "required":true, "entry_schema":{ "type":"policy.data.kpis_properties" } } } }, "policy.data.kpis_properties": { "derived_from": "tosca.nodes.Root", "properties": { "measType":{ "type":"string", "required":true }, "operation":{ "type":"string", "required":true }, "operands":{ "type":"string", "required":true } } } }, "tosca_definitions_version": "tosca_simple_yaml_1_1_0" } |
kpipolicyinstance.json
...
Elite soft json viewer |
---|
{
"name": "ToscaServiceTemplateSimple",
"topology_template": {
"policies": [
{
"com.Config_KPIMS_CONFIG_POLICY": {
"type": "onap.policies.monitoring.docker.kpims.app",
"type_version": "1.0.0",
"version": "1.0.0",
"metadata": {
"policy-id": "com.Config_KPIMS_CONFIG_POLICY",
"policy-version": "1"
},
"name": "com.Config_KPIMS_CONFIG_POLICY",
"properties": {
"domain": "measurementsForKpi",
"methodForKpi": [
{
"eventName": "perf3gpp_CORE-AMF_pmMeasResult",
"controlLoopSchemaType": "SLICE",
"policyScope": "resource=networkSlice;type=configuration",
"policyName": "configuration.dcae.microservice.kpi-computation",
"policyVersion": "v0.0.1",
"kpis": [{
"measType": "AMFRegNbr",
"operation": "RATIO",
"operands": ["RM.RegisteredSubNbrMean"]}
]
},
{
"eventName": "perf3gpp_RnNode-Slicing_pmMeasResult",
"controlLoopSchemaType": "SLICE",
"policyScope": "resource=networkSlice;type=configuration",
"policyName": "configuration.dcae.microservice.kpi-computation",
"policyVersion": "v0.0.1",
"kpis": [{
"measType": "PDUSessionEstSR",
"operation": "RATIO",
"operands": ["SM.PDUSessionSetupSucc","SM.PDUSessionSetupReq"]}
]
}
]
}
}
}
]
},
"tosca_definitions_version": "tosca_simple_yaml_1_1_0",
"version": "1.0.0"
}
|
deploykpipolicy.json
Elite soft json viewer |
---|
{ "policies":[ { "policy-id":"com.Config_KPIMS_CONFIG_POLICY", "policy-version":1 } ] } |
To create the dmaap topic - unauthenticated.DCAE_KPI_OUTPUT ::
...
- Clone the repo from : git clone https://gerrit.onap.org/r/integration/simulators/ran-simulator
Import the latest SDNC certificate into ransim
Download the SDNC cacerts from browser.
Import the cacert file into the directory ran-simulator/ransim/docker/config/ransim/ and name it as 'jssecacerts'.(Sample step to import shown below)
keytool -import -noprompt -trustcacerts -alias SDNC -file <certsfile> -keystore /ransim/docker/config/ransim/jssecacerts -storepass changeit
- Go to the ran-simulator/ransim directory and build the project : JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/ mvn clean install -P docker
- From docker folder, run the following after building the image locally and updating the SDNR IP address in the docker-compose file : docker-compose up
Run the following command to start the RAN network slice simulation
curl -X POST http://localhost:8081/ransim/api/StartRanSliceSimulation -i
To access the logs:
docker exec –ti ransim bash
policy@ransim:/tmp/ransim-install$ tail -f /opt/app/policy/servers/ransim/logs/ransim-rest.log- Setup honeycomb (Refer HONEYCOMB section)
- 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.
- Sample data to be loaded: ransim-intelligent-slicing-data.txt
- To view the CUCP honeycomb containers logs:
- docker exec -ti cucpserver1 bash
- tail -f var/log/honeycomb/honeycomb.log
- docker exec -ti cucpserver2 bash
- tail -f var/log/honeycomb/honeycomb.log
- Check the folder(where SFTP setup is done) to view the generated PM data files.
- Access VES, data file collector, dmaap-dr, PM mapper, ml-prediction-ms and slice-analysis logs to verify.
- To manually generate PM data:
- curl -X POST -H "Content-Type: text/plain" http://localhost:8081/ransim/api/GenerateIntelligentSlicingPmData -i
- curl -X POST -H "Content-Type: text/plain" http://localhost:8081/ransim/api/GenerateIntelligentSlicingPmData -i
- To Stop PM data:
- curl -X POST -H "Content-Type: text/plain" http://localhost:8081/ransim/api/stopIntelligentSlicingPmData -i
...