3 namespace "urn:o-ran-sc:params:xml:ns:yang:nts:manager";
6 import ietf-inet-types {
12 revision-date 2020-10-22;
18 " Web: <https://wiki.o-ran-sc.org/display/SIM/SIM>
20 Alex Stancu <mailto:alexandru.stancu@highstreet-technologies.com>
21 Adrian Lita <mailto:adrian.lita@highstreet-technologies.com>
22 Martin Skorupski <mailto:martin.skorupski@highstreet-technologies.com>";
24 "This module contains YANG definitions for the Network Topology Simulator - Manager.";
28 "Initial revision for the Network Topology Simulator - Next Generation";
30 "O-RAN-SC SIM project";
46 "The name of the running instance. It is the same as the docker container name which exposes this network function.";
48 container networking {
52 "The IP address of the docker container implementing the network function instance.";
54 leaf-list docker-port {
55 type inet:port-number;
57 "The ports which are exposed inside the docker container implementing the network function instance.";
62 "The Host machine IP address pointing to the docker container implementing the network function instance.";
65 type inet:port-number;
67 "The Host machine ports mapped to the docker container implementing the network function instance.";
70 "Groups the details about networking information.";
73 "An instance of a network function which is running. The equivalent on the host machine is a docker container.";
75 grouping network-function-g {
78 base ntsc:NTS_FUNCTION_TYPE_BASE;
80 description "Type of network function to be simulated.";
82 leaf started-instances {
86 "How many instances of this type are started.";
88 leaf mounted-instances {
90 must '. <= ../started-instances' {
92 "The number of mounted instances cannot be greater that the number of started instances.";
96 "How many instances of this type are mounted in the SDN Controller.";
99 uses ntsc:mount-point-details-g;
101 leaf docker-instance-name {
105 "The prefix of each docker container being started.";
108 leaf docker-version-tag {
112 "The version tag of the docker image to be started.";
115 leaf docker-repository {
119 "The prefix containing the docker repository information, if needed.";
122 uses ntsc:netconf-config-g;
123 uses ntsc:ves-config-g;
124 container instances {
128 uses ntsc:mount-point-details-g;
131 "Describes a running instance.";
134 "Groups details about instances which are running.";
137 "Contains all the details of a simulated device.";
139 grouping simulation-information-g {
141 type inet:port-number;
144 "The base Host machine port from where the simulation can allocate ports incrementally.";
146 leaf ssh-connections {
150 "The number of SSH Endpoints each network function instance exposes.";
152 leaf tls-connections {
156 "The number of TLS Endpoints each network function instance exposes.";
162 "Specifies the CPU load generated by the simulation.";
168 "Specifies the RAM in MB used by the simulation.";
171 "Groups information about the simulation status.";
174 container simulation {
175 container network-functions {
176 list network-function {
178 unique "docker-instance-name";
179 uses network-function-g;
181 "List containing different simulated network function types and their details.";
184 "Container which encompasses all simulated network functions.";
186 container sdn-controller {
187 uses ntsc:controller-g;
189 "Groups details about the SDN Controller.";
191 container ves-endpoint {
192 uses ntsc:ves-endpoint-g;
194 "Groups details about the VES Collector endpoint.";
196 uses simulation-information-g;
198 "Root level container which controls the NTS.";