This page is out of date.
Please see the relevant page for the latest release: e.g. Release J - Run in Docker
This is a brief instruction on how to deploy pm-mapper in docker env and how to configure filters in pm-mapperoru-app along with ics, producer, sdnr simulators, and check logs etc.
Prerequisite
- Docker
- make
- bash
- linux(ubuntu 18+)
Installation
copy pm-mapper nonrtric repo from onap oran gerrit
Code Block | ||||
---|---|---|---|---|
| ||||
git clone "https://gerrit.onapo-ran-sc.org/r/dcaegen2/services/pm-mappernonrtric" |
go to sub-directory:
Code Block | ||||
---|---|---|---|---|
| ||||
cd tools/developmenttest/usecases/oruclosedlooprecovery/goversion/ |
run "docker-compose up -d" , this docker-compose file is to build all images needed and make all these components up & runninginstall dmaap-dr, cbs, consul, files-publisher and dmaap-mr:
Code Block | ||||
---|---|---|---|---|
| ||||
make setup-local |
install pm-mapper:
Code Block | ||||
---|---|---|---|---|
| ||||
make run-pm-mapper |
| |
docker-compose up -d |
After successful runAfter successful installation, we should see the docker containers up & running:
Config dmaap
...
Trigger the job:
Code Block | ||||
---|---|---|---|---|
| ||||
make config-dmaap |
Subscribe to dmaap-dr feed
config dmaap to create a feed for pm-mapper to subscribe:
Code Block | ||||
---|---|---|---|---|
| ||||
make subscribe-pm-mapper |
List files in container files-publisher
files-publisher is a micro-servive designed for test/demo purpose, it has some prepared files to publish to dmaap-dr:
Code Block | ||||
---|---|---|---|---|
| ||||
make list-files |
In real onap instance, files-publisher is replaced by Data-File-Collector.
Publish file to dmapp-dr
in the same sub-directory, there are two scripts to do this:
send-meas-collec.sh & send-meas-data.sh
we can pick one files from above list, eg:
Code Block | ||||
---|---|---|---|---|
| ||||
./send-meas-collec.sh A20181002.0000-1000-0015-1000_5G.xml.gz |
| |
curl -X POST http://localhost:8086/admin/start -d "" |
Check logs on oru-app
...
:
Code Block | ||||
---|---|---|---|---|
| ||||
docker logs mroru-simulatorapp |
We should be able to see a message like below:
After formatting:
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
{
"event":{
"commonEventHeader":{
"domain":"perf3gpp",
"eventId":"c1907362-1c65-41a1-b464-34b43fec7af1",
"sequence":0,
"eventName":"perf3gpp_gnb-Nokia_pmMeasResult",
"sourceName":"oteNB5309",
"reportingEntityName":"",
"priority":"Normal",
"startEpochMicrosec":951912000000,
"lastEpochMicrosec":951912900000,
"version":"4.0",
"vesEventListenerVersion":"7.1",
"timeZoneOffset":"UTC+05.00"
},
"perf3gppFields":{
"perf3gppFieldsVersion":"1.0",
"measDataCollection":{
"granularityPeriod":951912870000,
"measuredEntityUserName":"RNC Telecomville",
"measuredEntityDn":"SubNetwork=CountryNN,MeContext=MEC-Gbg-1,ManagedElement=RNC-Gbg-1",
"measuredEntitySoftwareVersion":"",
"measInfoList":[
{
"measInfoId":{
"sMeasInfoId":""
},
"measTypes":{
"sMeasTypesList":[
"attTCHSeizures",
"succTCHSeizures",
"attImmediateAssignProcs",
"succImmediateAssignProcs"
]
},
"measValuesList":[
{
"measObjInstId":"RncFunction=RF-1,UtranCell=Gbg-997",
"suspectFlag":"false",
"measResults":[
{
"p":1,
"sValue":"234"
},
{
"p":2,
"sValue":"345"
},
{
"p":3,
"sValue":"567"
},
{
"p":4,
"sValue":"789"
}
]
},
{
"measObjInstId":"RncFunction=RF-1,UtranCell=Gbg-998",
"suspectFlag":"false",
"measResults":[
{
"p":1,
"sValue":"890"
},
{
"p":2,
"sValue":"901"
},
{
"p":3,
"sValue":"123"
},
{
"p":4,
"sValue":"234"
}
]
},
{
"measObjInstId":"RncFunction=RF-1,UtranCell=Gbg-999",
"suspectFlag":"true",
"measResults":[
{
"p":1,
"sValue":"456"
},
{
"p":2,
"sValue":"567"
},
{
"p":3,
"sValue":"678"
},
{
"p":4,
"sValue":"789"
}
]
}
]
},
{
"measInfoId":{
"sMeasInfoId":"ENodeBFunction"
},
"measTypes":{
"sMeasTypesList":[
"attTCHSeizures1",
"succTCHSeizures2",
"attImmediateAssignProcs3",
"succImmediateAssignProcs4"
]
},
"measValuesList":[
{
"measObjInstId":"ManagedElement=RNC-Gbg-1,ENodeBFunction=1",
"suspectFlag":"false",
"measResults":[
{
"p":1,
"sValue":"4"
},
{
"p":2,
"sValue":"86,87,2,6,77,96,75,33,24"
},
{
"p":3,
"sValue":"40"
},
{
"p":4,
"sValue":"90"
}
]
}
]
},
{
"measInfoId":{
"sMeasInfoId":""
},
"measTypes":{
"sMeasTypesList":[
"attTCHSeizures5",
"succTCHSeizures6",
"attImmediateAssignProcs7",
"succImmediateAssignProcs8"
]
},
"measValuesList":[
{
"measObjInstId":"RncFunction=RF-1,UtranCell=Gbg-997",
"suspectFlag":"false",
"measResults":[
{
"p":1,
"sValue":"238"
},
{
"p":2,
"sValue":"344"
},
{
"p":3,
"sValue":"563"
},
{
"p":4,
"sValue":"787"
}
]
},
{
"measObjInstId":"RncFunction=RF-1,UtranCell=Gbg-998",
"suspectFlag":"false",
"measResults":[
{
"p":1,
"sValue":"898"
},
{
"p":2,
"sValue":"905"
},
{
"p":3,
"sValue":"127"
},
{
"p":4,
"sValue":"238"
}
]
},
{
"measObjInstId":"RncFunction=RF-1,UtranCell=Gbg-999",
"suspectFlag":"true",
"measResults":[
{
"p":1,
"sValue":"454"
},
{
"p":2,
"sValue":"569"
},
{
"p":3,
"sValue":"672"
},
{
"p":4,
"sValue":"785"
}
]
}
]
}
]
}
}
}
} |
Pay attention to the "measTypes", we can see all four types now because we didn't configure any filters yet:
Configure filters
edit file "pm-mapper/tools/development/resources/config.json"
update the filters like below:
Code Block | ||||
---|---|---|---|---|
| ||||
"pm-mapper-filter": {
"filters":[{
"pmDefVsn": "1.0",
"nfType": "gnb",
"vendor": "Nokia",
"measTypes": ["succImmediateAssignProcs"]
}
]
} |
This filter will only receive pm counters with type "succImmediateAssignProcs"
Make the filter effective:
Code Block | ||||
---|---|---|---|---|
| ||||
curl 'http://localhost:8500/v1/kv/pmmapper?dc=dc1' -X PUT -H 'Accept: application/^Con' -H 'Content-Type: application/json' -H 'X-Requested-With: XMLHttpRequest' --data @config.json |
Wait for 60 seconds. pm-mapper reads the configuration from consul regularly every 60 seconds.
Then do the file publish again, and check logs:
Code Block | ||||
---|---|---|---|---|
| ||||
./send-meas-collec.sh A20181002.0000-1000-0015-1000_5G.xml.gz
docker logs mr-simulator |
Now we should see a different message like below:
After formatting:
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
{
"event":{
"commonEventHeader":{
"domain":"perf3gpp",
"eventId":"8ecb373a-0fc2-4a80-9eda-2a128f3ac727",
"sequence":0,
"eventName":"perf3gpp_gnb-Nokia_pmMeasResult",
"sourceName":"oteNB5309",
"reportingEntityName":"",
"priority":"Normal",
"startEpochMicrosec":951912000000,
"lastEpochMicrosec":951912900000,
"version":"4.0",
"vesEventListenerVersion":"7.1",
"timeZoneOffset":"UTC+05.00"
},
"perf3gppFields":{
"perf3gppFieldsVersion":"1.0",
"measDataCollection":{
"granularityPeriod":951912870000,
"measuredEntityUserName":"RNC Telecomville",
"measuredEntityDn":"SubNetwork=CountryNN,MeContext=MEC-Gbg-1,ManagedElement=RNC-Gbg-1",
"measuredEntitySoftwareVersion":"",
"measInfoList":[
{
"measInfoId":{
"sMeasInfoId":""
},
"measTypes":{
"sMeasTypesList":[
"succImmediateAssignProcs"
]
},
"measValuesList":[
{
"measObjInstId":"RncFunction=RF-1,UtranCell=Gbg-997",
"suspectFlag":"false",
"measResults":[
{
"p":4,
"sValue":"789"
}
]
},
{
"measObjInstId":"RncFunction=RF-1,UtranCell=Gbg-998",
"suspectFlag":"false",
"measResults":[
{
"p":4,
"sValue":"234"
}
]
},
{
"measObjInstId":"RncFunction=RF-1,UtranCell=Gbg-999",
"suspectFlag":"true",
"measResults":[
{
"p":4,
"sValue":"789"
}
]
}
]
}
]
}
}
}
} |
Pay attention to the measTypes, we can only see the info with "succImmediateAssignProcs".
Clean env
clean env
Code Block | ||||
---|---|---|---|---|
| ||||
make clean-envdocker-compose down |