X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=solution%2Fdev%2Fsmo%2FREADME.md;fp=solution%2Fdev%2Fsmo%2FREADME.md;h=92fda8dd13c8bbcb2d104972c1ef0772ca2e3272;hb=f58b3e1c0d88c9c403cbbef28cb36fa2f1b6bf86;hp=0000000000000000000000000000000000000000;hpb=2c1023c4053ed30de38bc7e2486738fb3c730536;p=oam.git diff --git a/solution/dev/smo/README.md b/solution/dev/smo/README.md new file mode 100644 index 0000000..92fda8d --- /dev/null +++ b/solution/dev/smo/README.md @@ -0,0 +1,278 @@ +# Service Management and Orchestration (SMO) + +With respect to OAM the SMO implements the O1-interface provider. According to the O-RAN OAM Architecture and the O-RAN OAM Interface Specification, the SMO has a NetConf Client for configuration and HTTP/REST/VES Server for receiving all kind of events in a VES format. + +The setup contains an OpenDaylight based NetConf client and a VES Test Collector. + +## Overview + +This docker-compose file starts a pre-configured, self-contained SDN-R solution for developer test or demo purposes + + * **SDN-R** single node instance + + ... representing the NetConf consumer on the Service Management and Orchstration framework (SMO) for the O1 interface. + ODL-Neon/CCSDK/SDNC-ElAlto + + * **VES test collector** + + ... representing the VES (REST) provider at SMO for all kind of events. + DCAE-ElAlto/VES 5.0 + + * **NTSDevice simulator** + + ... represents the NetConf Provider of an O-RAN component. + + * **NetconfServerSimulator** + + ... another simulator + +## Prerequisites + +docker-compose file version 3.3 is used and tested with + + * Ubuntu 18.04 LTS + * Docker version 19.03.x + * docker-compose version 1.24.x + * git version 2.17.1 + * docker-compose for the solution + * enable git private docker registry, if used + +``` +cat /etc/os-release +docker --version +docker-compose --version +git --version +cd +mkdir git +cd git +git clone https://git-highstreet-technologies.com/highstreet/CICD_environment.git +cd CICD_environment/docker/solution/o-ran-dev +``` + +## Usage + +### Bring Up Solution + + * Check (adjust if required) environment variables + +``` +cd ~/git/CICD_environment/docker/solution/o-ran-dev +nano .env +``` + + * startup solution + +``` +cd ~/git/CICD_environment/docker/solution/o-ran-dev +docker-compose up -d +``` + +### Log files and karaf console + + * ODL karaf.logs can be found on docker host +``` +tail -f /var/tmp/sdnr/logs/karaf.log +``` + + * karaf console access (karaf:karaf) + +``` +ssh karaf@localhost -p 8101 +``` + + * ves-testcollector logs + +``` + tail -f /var/tmp/ves-v5/logs/evel-output.log +``` + +### Customizing Solution + +'.env' file contains customizing parameters + + +### Verification Solution + +#### Access to SDN-R UX + + * login into SDN-R + http://:8181/odlux/index.html + User:admin + Password:admin + +#### Connectivity NETCONF interface to simulator of type 'NTSdevice' + + * Mount simulated network element (default parameters if not changed in '.env' + * Open 'Connect' + * Required Network Elements: add ('+' sign) + * Name: NTSDevice + * IP: + * Port: 2240 + * User: netconf + * Password: netconf + + Network Element 'NTSDevice' Should be connected + +#### Connectivity NETCONF interface to simulator of type 'netconfserversimulator' + + * Mount simulated network element (default parameters if not changed in '.env' + * Open 'Connect' + * Required Network Elements: add ('+' sign) + * Name: SIMTEST + * IP: + * Port: 2230 + * User: admin + * Password: admin + + Network Element 'SIMTEST' Should be connected + + +#### Connectivity SDN-R to VES-testcollector + * verify VES-testcollector on host terminal + ``` + tail -f /var/tmp/ves-v5/logs/evel-output.log + ``` + + * heart beat events should be visible + + ``` + Authenticated OK +==== Wed Aug 14 12:28:51 2019 ================================================= +Valid body decoded & checked against schema OK: +{ + "event": { + "commonEventHeader": { + "domain": "heartbeat", + "eventId": "testpattern-ab305d54-85b4-a31b-7db2-fb6b9e546015", + "eventName": "heartbeat_Controller", + "eventType": "Controller", + "lastEpochMicrosec": 11087481660, + "priority": "Low", + "reportingEntityId": "", + "reportingEntityName": "bf0c1c6deac1", + "sequence": 7, + "sourceId": "", + "sourceName": "bf0c1c6deac1", + "startEpochMicrosec": 11087481660, + "version": 3.0 + }, + "heartbeatFields": { + "additionalFields": [ + { + "name": "eventTime", + "value": "2019-08-14T12:28:51.5Z" + } + ], + "heartbeatFieldsVersion": 1.0, + "heartbeatInterval": 30 + } + } +}172.20.0.3 - - [14/Aug/2019 12:28:51] "POST /eventListener/v5 HTTP/1.1" 202 0 + + ``` +#### Verify e2e event flow from 'NTSDevice' to VES-testcollector + +NTSDevice simulator raise new alarms every 60 seconds. Time interval can be configured within .env file +This alarm shoulld be visible within the ves testcollector log file + + +#### Verify e2e event flow from 'netconfserversimulator' to VES-testcollector + +Raise test event via device simulator and check VES log file + +* login to simulator with admin:admin + + ``` + ssh admin@ -p 8000 + + ``` + * type 'n2' (or 'n1') for m and clear event + + +``` +==== Wed Aug 14 12:36:34 2019 ================================================= +Valid body decoded & checked against schema OK: +{ + "event": { + "commonEventHeader": { + "domain": "fault", + "eventId": "SIMTEST_LP-MWPS-RADIO_signalIsLostMajor", + "eventName": "fault_Microwave_Radio_Alarms_signalIsLostMajor", + "eventType": "Microwave_Radio_Alarms", + "lastEpochMicrosec": 1565786194600000, + "priority": "High", + "reportingEntityId": "", + "reportingEntityName": "bf0c1c6deac1", + "sequence": 23, + "sourceId": "", + "sourceName": "SIMTEST", + "startEpochMicrosec": 1565786194600000, + "version": 3.0 + }, + "faultFields": { + "alarmAdditionalInformation": [ + { + "name": "eventTime", + "value": "2019-08-14T12:36:34.6Z" + }, + { + "name": "equipType", + "value": "unknown" + }, + { + "name": "vendor", + "value": "unknown" + }, + { + "name": "model", + "value": "unknown" + } + ], + "alarmCondition": "signalIsLostMajor", + "alarmInterfaceA": "LP-MWPS-RADIO", + "eventSeverity": "MAJOR", + "eventSourceType": "Microwave_Radio", + "faultFieldsVersion": 2.0, + "specificProblem": "signalIsLostMajor", + "vfStatus": "Active" + } + } +}172.20.0.3 - - [14/Aug/2019 12:36:34] "POST /eventListener/v5 HTTP/1.1" 202 0 +``` + * type '~.' to exit ssh + * + +### Terminate solution + +To stop all container: + +``` +cd ~/git/CICD_environment/docker/solution/o-ran-dev +docker-compose down +``` + +re-start solution at any point in time with +``` +cd ~/git/CICD_environment/docker/solution/o-ran-dev +docker-compose up -d +``` + + +### Cleanup + +!!! be careful if other stopped containers are on the same system +``` +docker system prune -a -f +sudo rm -rf /var/tmp/ves-v5/ + +``` +### Troubleshooting + +Issue: no VES events, no heartbeat events + * For some reasons SDN-R overwrites DCAE settings in devicemanager.properties. + +``` +sudo docker-compose down +git checkout -- devicemanager.properties +sudo docker-compose up -d +``` \ No newline at end of file