...
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
To create the dmaap topic - unauthenticated.DCAE_KPI_OUTPUT ::
curl --header "Content-type: application/json" --request POST --data '{"owner": "","txenabled": false,"topicName": "unauthenticated.kpipolicytype.json
Elite soft json viewer |
---|
{
"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 ::
curl --header "Content-type: application/json" --request POST --data '{"owner": "","txenabled": false,"topicName": "unauthenticated.DCAE_KPI_OUTPUT"}' http://<message-router-ip>:3904/topics/create
...
- 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
...
2. Give chmod 777 to upload folder which will be created automatically in the home dir.
Demo Recording:
View file | ||||
---|---|---|---|---|
|