3 namespace "urn:o-ran-sc:params:xml:ns:yang:nts:manager";
6 import ietf-inet-types {
16 " Web: <https://wiki.o-ran-sc.org/display/SIM/SIM>
18 Alex Stancu <mailto:alexandru.stancu@highstreet-technologies.com>
19 Adrian Lita <mailto:adrian.lita@highstreet-technologies.com>
20 Martin Skorupski <mailto:martin.skorupski@highstreet-technologies.com>";
22 "This module contains YANG definitions for the Network Topology Simulator - Manager.";
26 "Moved NTS_PROTOCOL_TYPE_BASE identities to nts-common.";
28 "O-RAN-SC SIM project";
32 "Added NTS_PROTOCOL_TYPE_BASE identities and changed instance/networking container; also added multi-base port support.";
34 "O-RAN-SC SIM project";
38 "Added notifications for sending feedback.";
40 "O-RAN-SC SIM project";
44 "Added available-network-functions.";
46 "O-RAN-SC SIM project";
50 "Cleared revision for nts-common import.";
52 "O-RAN-SC SIM project";
56 "Initial revision for the Network Topology Simulator - Next Generation";
58 "O-RAN-SC SIM project";
72 "An instance of a network function which is running. The equivalent on the host machine is a docker container.";
76 "The name of the running instance. It is the same as the docker container name which exposes this network function.";
81 "Whether the instance is mounted or not to a controller.";
83 container networking {
85 "Groups the details about networking information.";
89 "The IP address of the docker container implementing the network function instance.";
94 "The ports which are exposed inside the docker container implementing the network function instance.";
96 type inet:port-number;
102 base ntsc:NTS_PROTOCOL_TYPE_BASE;
105 "Protocol attached to current port.";
109 type inet:ip-address;
111 "The Host machine IP address pointing to the docker container implementing the network function instance.";
116 "The Host machine ports mapped to the docker container implementing the network function instance.";
118 type inet:port-number;
124 base ntsc:NTS_PROTOCOL_TYPE_BASE;
127 "Protocol attached to current port.";
133 grouping network-function-g {
135 "Contains all the details of a simulated device.";
138 base ntsc:NTS_FUNCTION_TYPE_BASE;
141 "Type of network function to be simulated.";
143 leaf started-instances {
147 "How many instances of this type are started.";
149 leaf mounted-instances {
151 must '. <= ../started-instances' {
152 error-message "The number of mounted instances cannot be greater that the number of started instances.";
156 "How many instances of this type are mounted in the SDN Controller.";
158 uses ntsc:mount-point-details-g;
159 leaf docker-instance-name {
163 "The prefix of each docker container being started.";
165 leaf docker-version-tag {
169 "The version tag of the docker image to be started.";
171 leaf docker-repository {
175 "The prefix containing the docker repository information, if needed.";
178 uses ntsc:netconf-config-g;
179 uses ntsc:ves-config-g;
180 container instances {
183 "Groups details about instances which are running.";
187 "Describes a running instance.";
188 uses ntsc:mount-point-details-g;
194 grouping simulation-information-g {
196 "Groups information about the simulation status.";
200 "Contains information on ports used.";
201 leaf netconf-ssh-port {
202 type inet:port-number;
204 "The base Host machine port from where the simulation can allocate ports incrementally for NETCONF SSH protocol.";
206 leaf netconf-tls-port {
207 type inet:port-number;
209 "The base Host machine port from where the simulation can allocate ports incrementally for NETCONF TLS protocol.";
211 leaf transport-ftp-port {
212 type inet:port-number;
214 "The base Host machine port from where the simulation can allocate ports incrementally for FTP protocol.";
216 leaf transport-sftp-port {
217 type inet:port-number;
219 "The base Host machine port from where the simulation can allocate ports incrementally for SFTP protocol.";
222 leaf ssh-connections {
226 "The number of SSH Endpoints each network function instance exposes.";
228 leaf tls-connections {
232 "The number of TLS Endpoints each network function instance exposes.";
238 "Specifies the CPU load generated by the simulation.";
244 "Specifies the RAM in MB used by the simulation.";
246 leaf last-operation-status {
250 "Specifies the status of the most recent operation performed by the Manager.";
254 grouping network-function-image-g {
256 "Groups details about a NF docker image.";
259 base ntsc:NTS_FUNCTION_TYPE_BASE;
263 "Type of network function to be simulated.";
265 leaf docker-image-name {
270 "The prefix of each docker container being started.";
272 leaf docker-version-tag {
277 "The version tag of the docker image to be started.";
279 leaf docker-repository {
284 "The prefix containing the docker repository information, if needed.";
288 notification instance-changed {
290 "Sent by the Manager every time something occurs in any of the simulated NF instances.";
295 "The status of the change which was executed to the NF instance.";
299 base ntsc:NTS_FUNCTION_TYPE_BASE;
303 "Type of the NF instance.";
312 notification operation-status-changed {
314 "Sent by the Manager every time a user operation is finished.";
315 leaf operation-status {
319 "The status of the operation which was executed by the Manager.";
324 "Detailed error message from the Manager.";
328 container simulation {
329 presence "Enables simulation configuration.";
331 "Root level container which controls the NTS.";
332 container available-images {
335 "Container which encompasses all NF docker images available on the host machine.";
336 list network-function-image {
338 "List containing available network function docker images and their respective details.";
339 uses network-function-image-g;
342 container network-functions {
343 presence "Enables NF configuration.";
345 "Container which encompasses all simulated network functions.";
346 list network-function {
348 unique "docker-instance-name";
350 "List containing different simulated network function types and their details.";
351 uses network-function-g;
354 container sdn-controller {
355 presence "Enables SDN Controller detail configuration.";
357 "Groups details about the SDN Controller.";
358 uses ntsc:controller-g;
360 container ves-endpoint {
361 presence "Enables VES endpoint detail configuration.";
363 "Groups details about the VES Collector endpoint.";
364 uses ntsc:ves-endpoint-g;
366 uses simulation-information-g;