1 .. This work is licensed under a Creative Commons Attribution 4.0
2 .. International License. http://creativecommons.org/licenses/by/4.0
13 An idea behind NF (Network Function) Simulator is to introduce simulator, which supports ORAN defined O1 interface (reporting of NF events to Service Management Orchestrators).
14 Within the use-case, it is expected, that an NF configuration change, happening due to multiple reasons (network mechanism triggered change - e.g. discovery of neighbours) is reported to the network management system, using ONAP`s VES REST events.
15 The simulator is expected to cover planned NF behaviour - receive the config change via a NetConf protocol and report that change (also potentially other related changes) to the network management system using ONAP`s VES event.
19 **Figure 1. Architecture Overview**
21 1. NF Simulator code is stored in https://github.com/onap/integration-simulators-nf-simulator and all it's sub repos are:
23 - for VES Client - https://github.com/onap/integration-simulators-nf-simulator-ves-client
24 - for Netconf Server - https://github.com/onap/integration-simulators-nf-simulator-netconf-server
25 - for AVCN Manager - https://github.com/onap/integration-simulators-nf-simulator-avcn-manager
26 - for PM HTTPS Server - https://github.com/onap/integration-simulators-nf-simulator-pm-https-server
28 2. For above components have been prepared:
30 - docker images in ONAP Nexus:
32 - VES Client image - nexus3.onap.org:10001/onap/org.onap.integration.nfsimulator.vesclient
33 - AVCN Manager image - nexus3.onap.org:10001/onap/org.onap.integration.nfsimulator.avcnmanager
34 - PM HTTPS Server image - nexus3.onap.org:10001/onap/org.onap.integration.nfsimulator.pmhttpsserver
35 - Netconf Server images - nexus3.onap.org:10001/onap/org.onap.integration.nfsimulator.netconfserver
37 - example helm charts:
39 - `Helm charts <https://github.com/onap/integration-simulators-nf-simulator/tree/master/helm>`_
41 **VES Client, Netconf Server and PM HTTPS Server can be used and deployed separately depending on needs.**
43 Only AVCN Manger connects VES Client with Netconf Server in order to support O1 interface.
48 Application that generates VES events on demand.
52 - Supports both basic auth and TLS CMPv2 method of authentication.
53 - Allows to turn on and turn off hostname, verification in SSL.
54 - Allows to send one-time event and periodic events, based on event templates.
55 - Exposes API to manage VES Client
56 - Provides template mechanism (Template is a draft event. Merging event with patch will result in valid VES event.
57 Template itself should be a correct VES event as well as valid json object. )
58 - Patching - User is able to provide patch in request, which will be merged into template.
59 - Simulator supports corresponding keywords in templates: RandomInteger(start,end), RandomPrimitiveInteger(start,end), RandomInteger,
60 RandomString(length), RandomString, Timestamp, TimestampPrimitive, Increment
61 - In place variables support - Simulator supports dynamic keywords e.g. #dN to automatically substitute selected phrases in defined json schema.
62 - Logging - Every start of simulator will generate new logs that can be found in docker ves-client container.
63 - Swagger - Detailed view of simulator REST API is available via Swagger UI
64 - History - User is able to view events history.
69 This server uses sysrepo to simulate network configuration.
70 It is based on sysrepo-netopeer2 image.
76 - install custom configuration models on start up.
77 - change configuration of that modules on runtime.
78 - use TLS custom certificates
79 - configure change subscription for particular YANG modules (Netconf server image run python application on the startup.)
80 - manage netconf server using REST interface, with endpoints:
82 - GET /healthcheck returns 200 "UP" if server is up and running
83 - POST /readiness return 200 "Ready" if server is ready, if not, returns 503 "Not Ready"
84 - POST /change_config/<path:module_name> changes configuration ad returns 202 "Accepted"
85 - GET /change_history returns 200 and change history as json
86 - GET /get_config/<path:module_name> returns 200 and current configuration
91 Manager that fetches changes of configuration from kafka and sends them to VES client.
95 The manager processes notifications from NETCONF server. It does this by being a subscriber of a Kafka topic that is fed
96 with NETCONF notifications. Incoming notifications are then processed and output of this processing is sent to VES client.
101 Server that is used in Bulk PM usecases over HTTPS
105 - Supports TLS (CMPv2) method of authentication (used during connection to Data File Collector)
106 - Allows to use custom certificates
107 - Exposes REST API in order to manage PM files stored in HTTPS server
113 User And Developer Guide
114 ------------------------
117 - `VES Client user guide. <https://github.com/onap/integration-simulators-nf-simulator-ves-client/blob/master/README.md>`_
118 - `AVCN Manager user guide. <https://github.com/onap/integration-simulators-nf-simulator-avcn-manager/blob/master/README.md>`_
119 - `PM HTTPS Server user guide. <https://github.com/onap/integration-simulators-nf-simulator-pm-https-server/blob/master/README.md>`_
120 - `Netconf Server user guide. <https://github.com/onap/integration-simulators-nf-simulator-netconf-server/blob/master/README.md>`_
121 - `Netconf Notification Application user guide. <https://github.com/onap/integration-simulators-nf-simulator-netconf-server/blob/master/src/python/README.md>`_
122 - `NF Simulator CLI user guide <https://github.com/onap/integration-simulators-nf-simulator/blob/master/simulator-cli/README.md>`_
126 - `VES Client jenkins builds <https://jenkins.onap.org/view/integration-simulators-nf-simulator-avcn-manager/>`_
127 - `AVCN Manager jenkins builds <https://jenkins.onap.org/view/integration-simulators-nf-simulator-netconf-server/>`_
128 - `PM HTTPS Server jenkins builds <https://jenkins.onap.org/view/integration-simulators-nf-simulator-pm-https-server/>`_
129 - `Netconf Server jenkins builds <https://jenkins.onap.org/view/integration-simulators-nf-simulator-ves-client/>`_
131 3. NF Simulator CSIT test cases:
133 - `Project integration-simulators-nf-simulator-netconf-server-master-verify-csit-testsuites <https://jenkins.onap.org/view/integration-simulators-nf-simulator-netconf-server/job/integration-simulators-nf-simulator-netconf-server-master-verify-csit-testsuites/>`_
134 - `Project integration-simulators-nf-simulator-netconf-server-master-csit-testsuites <https://jenkins.onap.org/view/integration-simulators-nf-simulator-netconf-server/job/integration-simulators-nf-simulator-netconf-server-master-csit-testsuites/>`_
136 4. NF Simulator sanity checks:
138 - https://github.com/onap/integration-simulators-nf-simulator/tree/master/sanitycheck
140 .. |image1| image:: ../files/simulators/NF-Simulator.png