1 # Service Management and Orchestration (SMO)
3 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.
5 The setup contains an OpenDaylight based NetConf client and a VES Test Collector.
9 This docker-compose file starts a pre-configured, self-contained SDN-R solution for developer test or demo purposes
11 * **SDN-R** single node instance
13 ... representing the NetConf consumer on the Service Management and Orchstration framework (SMO) for the O1 interface.
14 ODL-Neon/CCSDK/SDNC-ElAlto
16 * **VES test collector**
18 ... representing the VES (REST) provider at SMO for all kind of events.
21 * **NTSDevice simulator**
23 ... represents the NetConf Provider of an O-RAN component.
25 * **NetconfServerSimulator**
31 docker-compose file version 3.3 is used and tested with
34 * Docker version 19.03.x
35 * docker-compose version 1.24.x
37 * docker-compose for the solution
38 * enable git private docker registry, if used
43 docker-compose --version
48 git clone https://git-highstreet-technologies.com/highstreet/CICD_environment.git
49 cd CICD_environment/docker/solution/o-ran-dev
56 * Check (adjust if required) environment variables
59 cd ~/git/CICD_environment/docker/solution/o-ran-dev
66 cd ~/git/CICD_environment/docker/solution/o-ran-dev
70 ### Log files and karaf console
72 * ODL karaf.logs can be found on docker host
74 tail -f /var/tmp/sdnr/logs/karaf.log
77 * karaf console access (karaf:karaf)
80 ssh karaf@localhost -p 8101
83 * ves-testcollector logs
86 tail -f /var/tmp/ves-v5/logs/evel-output.log
89 ### Customizing Solution
91 '.env' file contains customizing parameters
94 ### Verification Solution
96 #### Access to SDN-R UX
99 http://<host_ip>:8181/odlux/index.html
103 #### Connectivity NETCONF interface to simulator of type 'NTSdevice'
105 * Mount simulated network element (default parameters if not changed in '.env'
107 * Required Network Elements: add ('+' sign)
114 Network Element 'NTSDevice' Should be connected
116 #### Connectivity NETCONF interface to simulator of type 'netconfserversimulator'
118 * Mount simulated network element (default parameters if not changed in '.env'
120 * Required Network Elements: add ('+' sign)
127 Network Element 'SIMTEST' Should be connected
130 #### Connectivity SDN-R to VES-testcollector
131 * verify VES-testcollector on host terminal
133 tail -f /var/tmp/ves-v5/logs/evel-output.log
136 * heart beat events should be visible
140 ==== Wed Aug 14 12:28:51 2019 =================================================
141 Valid body decoded & checked against schema OK:
144 "commonEventHeader": {
145 "domain": "heartbeat",
146 "eventId": "testpattern-ab305d54-85b4-a31b-7db2-fb6b9e546015",
147 "eventName": "heartbeat_Controller",
148 "eventType": "Controller",
149 "lastEpochMicrosec": 11087481660,
151 "reportingEntityId": "",
152 "reportingEntityName": "bf0c1c6deac1",
155 "sourceName": "bf0c1c6deac1",
156 "startEpochMicrosec": 11087481660,
160 "additionalFields": [
163 "value": "2019-08-14T12:28:51.5Z"
166 "heartbeatFieldsVersion": 1.0,
167 "heartbeatInterval": 30
170 }172.20.0.3 - - [14/Aug/2019 12:28:51] "POST /eventListener/v5 HTTP/1.1" 202 0
173 #### Verify e2e event flow from 'NTSDevice' to VES-testcollector
175 NTSDevice simulator raise new alarms every 60 seconds. Time interval can be configured within .env file
176 This alarm shoulld be visible within the ves testcollector log file
179 #### Verify e2e event flow from 'netconfserversimulator' to VES-testcollector
181 Raise test event via device simulator and check VES log file
183 * login to simulator with admin:admin
186 ssh admin@<host_IP> -p 8000
189 * type 'n2' (or 'n1') for m and clear event
193 ==== Wed Aug 14 12:36:34 2019 =================================================
194 Valid body decoded & checked against schema OK:
197 "commonEventHeader": {
199 "eventId": "SIMTEST_LP-MWPS-RADIO_signalIsLostMajor",
200 "eventName": "fault_Microwave_Radio_Alarms_signalIsLostMajor",
201 "eventType": "Microwave_Radio_Alarms",
202 "lastEpochMicrosec": 1565786194600000,
204 "reportingEntityId": "",
205 "reportingEntityName": "bf0c1c6deac1",
208 "sourceName": "SIMTEST",
209 "startEpochMicrosec": 1565786194600000,
213 "alarmAdditionalInformation": [
216 "value": "2019-08-14T12:36:34.6Z"
231 "alarmCondition": "signalIsLostMajor",
232 "alarmInterfaceA": "LP-MWPS-RADIO",
233 "eventSeverity": "MAJOR",
234 "eventSourceType": "Microwave_Radio",
235 "faultFieldsVersion": 2.0,
236 "specificProblem": "signalIsLostMajor",
240 }172.20.0.3 - - [14/Aug/2019 12:36:34] "POST /eventListener/v5 HTTP/1.1" 202 0
242 * type '~.' to exit ssh
245 ### Terminate solution
247 To stop all container:
250 cd ~/git/CICD_environment/docker/solution/o-ran-dev
254 re-start solution at any point in time with
256 cd ~/git/CICD_environment/docker/solution/o-ran-dev
263 !!! be careful if other stopped containers are on the same system
265 docker system prune -a -f
266 sudo rm -rf /var/tmp/ves-v5/
271 Issue: no VES events, no heartbeat events
272 * For some reasons SDN-R overwrites DCAE settings in devicemanager.properties.
275 sudo docker-compose down
276 git checkout -- devicemanager.properties
277 sudo docker-compose up -d