[INTEGRATION] Add NF simulator documentation in read the docs 37/120537/5
authorKrzysztof Kuzmicki <krzysztof.kuzmicki@nokia.com>
Wed, 14 Apr 2021 12:55:11 +0000 (14:55 +0200)
committerKrzysztof Kuzmicki <krzysztof.kuzmicki@nokia.com>
Thu, 15 Apr 2021 10:16:01 +0000 (12:16 +0200)
Add NF simulator documentation in read the docs

Issue-ID: INT-1869
Signed-off-by: Krzysztof Kuzmicki <krzysztof.kuzmicki@nokia.com>
Change-Id: I86f268e89c262264aedf7ddf164ec2e16c0ec630

docs/files/csv/simulators.csv
docs/files/simulators/NF-Simulator.png [new file with mode: 0644]
docs/simulators/nf_simulator.rst [new file with mode: 0644]
docs/simulators/ns_simulator.rst [deleted file]

index a2ea2ab..69e6b57 100644 (file)
@@ -1,7 +1,6 @@
 Name;Description;Link;Contacts
-NS Simulator;Evolution of the pnf simulator, the Network service simulator;:ref:`official doc <ns_simulator>`;K.Kuzmicki
+NF Simulator;Evolution of the pnf simulator, the Network service simulator;:ref:`official doc <nf_simulator>`;K.Kuzmicki
 A1 Policy Enforcement Simulator;Simulator that supports the A1-P OSC_2.1.0 interface and also provides internal API to manage the RAN elements (Cells, Ues) and allows to customize and send VES Events;`official readme <https://git.onap.org/integration/simulators/A1-policy-enforcement-simulator/tree/README.md>`__;Krystian Kędroń
-PNF simulator;Core PNF simulator, Netconf simulator, simulator-cli;`official readme <https://git.onap.org/integration/simulators/pnf-simulator/tree/README.md>`__;K.Kuzmicki
 Mass PNF Simulator;Mimic the PNF for benchmark purposes;`official readme <https://git.onap.org/integration/simulators/masspnf-simulator/tree/README.md>`__;Tamas Bakai
 Ran simulator;RAN-SIM is a Radio Access Network Simulator, it is used to simulate the various functionalities of an eNodeB;`official readme <https://git.onap.org/integration/simulators/ran-simulator/tree/README.md>`__;Priyadharshini B
 DC simulator;Data Center simulator;`official readme <https://git.onap.org/integration/simulators/dc-simulator/tree/README.md>`__;Xin Miao
diff --git a/docs/files/simulators/NF-Simulator.png b/docs/files/simulators/NF-Simulator.png
new file mode 100644 (file)
index 0000000..ce914c5
Binary files /dev/null and b/docs/files/simulators/NF-Simulator.png differ
diff --git a/docs/simulators/nf_simulator.rst b/docs/simulators/nf_simulator.rst
new file mode 100644 (file)
index 0000000..f13b769
--- /dev/null
@@ -0,0 +1,142 @@
+.. This work is licensed under a Creative Commons Attribution 4.0
+International License. http://creativecommons.org/licenses/by/4.0
+
+.. _nf_simulator:
+
+:orphan:
+
+NF Simulator
+============
+
+Description
+-----------
+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).
+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.
+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.
+
+|image1|
+
+**Figure 1. Architecture Overview**
+
+NF Simulator code is stored in https://github.com/onap/integration-simulators-nf-simulator and all it's sub repos are:
+
+* for VES Client - https://github.com/onap/integration-simulators-nf-simulator-ves-client
+* for Netconf Server - https://github.com/onap/integration-simulators-nf-simulator-netconf-server
+* for AVCN Manager - https://github.com/onap/integration-simulators-nf-simulator-avcn-manager
+* for PM HTTPS Server - https://github.com/onap/integration-simulators-nf-simulator-pm-https-server
+
+For above components have been prepared:
+
+* docker images in ONAP Nexus:
+
+    *  VES Client image - nexus3.onap.org:10001/onap/org.onap.integration.nfsimulator.vesclient
+    *  AVCN Manager image - nexus3.onap.org:10001/onap/org.onap.integration.nfsimulator.avcnmanager
+    *  PM HTTPS Server image - nexus3.onap.org:10001/onap/org.onap.integration.nfsimulator.pmhttpsserver
+    *  Netconf Server images - nexus3.onap.org:10001/onap/org.onap.integration.nfsimulator.netconfserver
+
+* example helm charts:
+
+    * `Helm charts <https://github.com/onap/integration-simulators-nf-simulator/tree/master/helm>`_
+
+**VES Client, Netconf Server and PM HTTPS Server can be used and deployed separately depending on needs.**
+
+Only AVCN Manger connects VES Client with Netconf Server in order to support O1 interface.
+
+1. VES Client:
+--------------
+
+   Application that generates VES events on demand.
+
+   **What does it do?**
+
+   * Supports both basic auth and TLS CMPv2 method of authentication.
+   * Allows to turn on and turn off hostname, verification in SSL.
+   * Allows to send one-time event and periodic events, based on event templates.
+   * Exposes API to manage VES Client
+   * Provides template mechanism (Template is a draft event. Merging event with patch will result in valid VES event.
+     Template itself should be a correct VES event as well as valid json object. )
+   * Patching - User is able to provide patch in request, which will be merged into template.
+   * Simulator supports corresponding keywords in templates: RandomInteger(start,end), RandomPrimitiveInteger(start,end), RandomInteger,
+     RandomString(length), RandomString, Timestamp, TimestampPrimitive, Increment
+   * In place variables support - Simulator supports dynamic keywords e.g. #dN to automatically substitute selected phrases in defined json schema.
+   * Logging - Every start of simulator will generate new logs that can be found in docker ves-client container.
+   * Swagger - Detailed view of simulator REST API is available via Swagger UI
+   * History - User is able to view events history.
+
+
+2. Netconf Server:
+------------------
+
+   This server uses sysrepo to simulate network configuration.
+   It is based on sysrepo-netopeer2 image.
+
+   **What does it do?**
+
+   Server allows to:
+
+   * install custom configuration models on start up.
+   * change configuration of that modules on runtime.
+   * use TLS custom certificates
+   * configure change subscription for particular YANG modules (Netconf server image run python application on the startup.)
+   * manage netconf server using REST interface, with endpoints:
+
+      * GET /healthcheck returns 200 "UP" if server is up and running
+      * POST /readiness return 200 "Ready" if server is ready, if not, returns 503 "Not Ready"
+      * POST /change_config/<path:module_name> changes configuration ad returns 202 "Accepted"
+      * GET /change_history returns 200 and change history as json
+      * GET /get_config/<path:module_name> returns 200 and current configuration
+
+3. AVCN Manager:
+----------------
+
+   Manager that fetches changes of configuration from kafka and sends them to VES client.
+
+   **What does it do?**
+
+   The manager processes notifications from NETCONF server. It does this by being a subscriber of a Kafka topic that is fed
+   with NETCONF notifications. Incoming notifications are then processed and output of this processing is sent to VES client.
+
+4. PM HTTPS Server:
+-------------------
+
+   Server that is used in Bulk PM usecases over HTTPS
+
+   **What does it do?**
+
+   * Supports TLS (CMPv2) method of authentication (used during connection to Data File Collector)
+   * Allows to use custom certificates
+   * Exposes REST API in order to manage PM files stored in HTTPS server
+
+
+Guides
+======
+
+User And Developer Guide
+------------------------
+User guides:
+
+- `VES Client user guide. <https://github.com/onap/integration-simulators-nf-simulator-ves-client/blob/master/README.md>`_
+- `AVCN Manager user guide. <https://github.com/onap/integration-simulators-nf-simulator-avcn-manager/blob/master/README.md>`_
+- `PM HTTPS Server user guide. <https://github.com/onap/integration-simulators-nf-simulator-pm-https-server/blob/master/README.md>`_
+- `Netconf Server user guide. <https://github.com/onap/integration-simulators-nf-simulator-netconf-server/blob/master/README.md>`_
+- `Netconf Notification Application user guide. <https://github.com/onap/integration-simulators-nf-simulator-netconf-server/blob/master/src/python/README.md>`_
+- `NF Simulator CLI user guide <https://github.com/onap/integration-simulators-nf-simulator/blob/master/simulator-cli/README.md>`_
+
+Jenkins builds:
+
+* `VES Client jenkins builds <https://jenkins.onap.org/view/integration-simulators-nf-simulator-avcn-manager/>`_
+* `AVCN Manager jenkins builds <https://jenkins.onap.org/view/integration-simulators-nf-simulator-netconf-server/>`_
+* `PM HTTPS Server jenkins builds <https://jenkins.onap.org/view/integration-simulators-nf-simulator-pm-https-server/>`_
+* `Netconf Server jenkins builds <https://jenkins.onap.org/view/integration-simulators-nf-simulator-ves-client/>`_
+
+NF Simulator CSIT test cases:
+
+* `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/>`_
+* `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/>`_
+
+NF Simulator sanity checks:
+
+* https://github.com/onap/integration-simulators-nf-simulator/tree/master/sanitycheck
+
+.. |image1| image:: ../files/simulators/NF-Simulator.png
+   :width: 10in
\ No newline at end of file
diff --git a/docs/simulators/ns_simulator.rst b/docs/simulators/ns_simulator.rst
deleted file mode 100644 (file)
index f9f724e..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-.. This work is licensed under a Creative Commons Attribution 4.0
-   International License. http://creativecommons.org/licenses/by/4.0
-
-.. _ns_simulator:
-
-:orphan:
-
-NS Simulator
-============
-
-Description
------------
-
-TODO
-
-
-Guides
-======
-
-User Guide
------------
-
-TODO
-
-Developer Guide
----------------
-
-TODO