1 # Network Topology Instance Generator
3 This python project generates a network topology according
4 [TAPI-Topology yang - v2.1.3](https://github.com/OpenNetworkingFoundation/TAPI/blob/v2.1.3/YANG/tapi-topology.yang).
6 Please note: The generator does not need to implement streaming or notification
7 functions. The dependencies to tapi-notification and tapi-streaming were
10 Each network-function is represented as TAPI-Node which exposes interfaces to
11 other network-functions or to management systems.
13 Therefore the Network Topology can cover
15 * Data Plane (also called User Plane),
16 * Synchronization Plane,
20 Interface end-points of network-functions are represented as
21 TAPI-Owned-Node-Edge-Points. TAPI-Links create a logical connection between
22 TAPI-Owned-Node-Edge-Points of the same layer (or even more strict of the same
27 All commands are executed form the directory of this README file.
30 sudo pip install jsonschema
33 Steps to import TAPI yang data models and O-RAN-SC extensions:
40 git clone https://github.com/OpenNetworkingFoundation/TAPI.git
46 git clone "https://gerrit.o-ran-sc.org/r/scp/oam/modeling"
51 The generator consumes a json as input. The json defines the hierarchy of
52 network-function types and its number of elements per parent.
59 "name": "Test network",
68 The resulting network will include 2 network-functions of type "o-du".
69 Each "o-du" is connected to 3 network-function instances of type "o-ru".
85 python tapi_topology_generator.py config.json
90 The generated json file can be validated against the yang models using 'yanglint'.
94 -p model/yang/modeling/data-model/yang/published/ietf \
95 -p model/yang/TAPI/YANG \
96 model/yang/modeling/data-model/yang/working/o-ran-sc/o-ran-sc-topology/o-ran-sc-topology*.yang \
97 model/yang/TAPI/YANG/*.yang \
98 output/TestNetwork.json