diff options
Diffstat (limited to 'sdnr/wt/devicemanager-onap/adapter-manager/provider/src/main/yang/nts-manager@2021-06-08.yang')
-rw-r--r-- | sdnr/wt/devicemanager-onap/adapter-manager/provider/src/main/yang/nts-manager@2021-06-08.yang | 406 |
1 files changed, 406 insertions, 0 deletions
diff --git a/sdnr/wt/devicemanager-onap/adapter-manager/provider/src/main/yang/nts-manager@2021-06-08.yang b/sdnr/wt/devicemanager-onap/adapter-manager/provider/src/main/yang/nts-manager@2021-06-08.yang new file mode 100644 index 000000000..69a92d8e1 --- /dev/null +++ b/sdnr/wt/devicemanager-onap/adapter-manager/provider/src/main/yang/nts-manager@2021-06-08.yang @@ -0,0 +1,406 @@ +module nts-manager { + yang-version 1.1; + namespace "urn:o-ran-sc:params:xml:ns:yang:nts:manager"; + prefix nts-mng; + + import ietf-inet-types { + prefix inet; + } + + import nts-common { + prefix ntsc; + } + + organization + "O-RAN-SC"; + contact + " Web: <https://wiki.o-ran-sc.org/display/SIM/SIM> + Editors: + Alex Stancu <mailto:alexandru.stancu@highstreet-technologies.com> + Adrian Lita <mailto:adrian.lita@highstreet-technologies.com> + Martin Skorupski <mailto:martin.skorupski@highstreet-technologies.com>"; + description + "This module contains YANG definitions for the Network Topology Simulator - Manager."; + + revision 2021-06-08 { + description + "Moved NTS_PROTOCOL_TYPE_BASE identities to nts-common."; + reference + "O-RAN-SC SIM project"; + } + revision 2021-03-26 { + description + "Added NTS_PROTOCOL_TYPE_BASE identities and changed instance/networking container; also added multi-base port support."; + reference + "O-RAN-SC SIM project"; + } + revision 2021-02-15 { + description + "Added notifications for sending feedback."; + reference + "O-RAN-SC SIM project"; + } + revision 2021-01-20 { + description + "Added available-network-functions."; + reference + "O-RAN-SC SIM project"; + } + revision 2020-11-30 { + description + "Cleared revision for nts-common import."; + reference + "O-RAN-SC SIM project"; + } + revision 2020-10-06 { + description + "Initial revision for the Network Topology Simulator - Next Generation"; + reference + "O-RAN-SC SIM project"; + } + + typedef percent { + type decimal64 { + fraction-digits 2; + range "0 .. 100"; + } + description + "Percentage"; + } + + grouping instance-g { + description + "An instance of a network function which is running. The equivalent on the host machine is a docker container."; + leaf name { + type string; + description + "The name of the running instance. It is the same as the docker container name which exposes this network function."; + } + + leaf is-mounted { + type boolean; + description + "Whether the instance is mounted or not to a controller."; + } + + container networking { + description + "Groups the details about networking information."; + leaf docker-ip { + type inet:ip-address; + description + "The IP address of the docker container implementing the network function instance."; + } + + list docker-ports { + key "port"; + description + "The ports which are exposed inside the docker container implementing the network function instance."; + leaf port { + type inet:port-number; + description + "Port number."; + } + + leaf protocol { + type identityref { + base ntsc:NTS_PROTOCOL_TYPE_BASE; + } + description + "Protocol attached to current port."; + } + } + + leaf host-ip { + type inet:ip-address; + description + "The Host machine IP address pointing to the docker container implementing the network function instance."; + } + + list host-ports { + key "port"; + description + "The Host machine ports mapped to the docker container implementing the network function instance."; + leaf port { + type inet:port-number; + description + "Port number."; + } + + leaf protocol { + type identityref { + base ntsc:NTS_PROTOCOL_TYPE_BASE; + } + description + "Protocol attached to current port."; + } + } + } + } + + grouping network-function-g { + description + "Contains all the details of a simulated device."; + leaf function-type { + type identityref { + base ntsc:NTS_FUNCTION_TYPE_BASE; + } + description + "Type of network function to be simulated."; + } + + leaf started-instances { + type uint16; + mandatory true; + description + "How many instances of this type are started."; + } + + leaf mounted-instances { + type uint16; + must ". <= ../started-instances" { + error-message + "The number of mounted instances cannot be greater that the number of started instances."; + } + mandatory true; + description + "How many instances of this type are mounted in the SDN Controller."; + } + + uses ntsc:mount-point-details-g; + + leaf docker-instance-name { + type string; + mandatory true; + description + "The prefix of each docker container being started."; + } + + leaf docker-version-tag { + type string; + mandatory true; + description + "The version tag of the docker image to be started."; + } + + leaf docker-repository { + type string; + mandatory true; + description + "The prefix containing the docker repository information, if needed."; + } + + uses ntsc:faults-g; + + uses ntsc:netconf-config-g; + + uses ntsc:ves-config-g; + + container instances { + config false; + description + "Groups details about instances which are running."; + list instance { + key "name"; + description + "Describes a running instance."; + uses ntsc:mount-point-details-g; + + uses instance-g; + } + } + } + + grouping simulation-information-g { + description + "Groups information about the simulation status."; + container ports { + config false; + description + "Contains information on ports used."; + leaf netconf-ssh-port { + type inet:port-number; + description + "The base Host machine port from where the simulation can allocate ports incrementally for NETCONF SSH protocol."; + } + + leaf netconf-tls-port { + type inet:port-number; + description + "The base Host machine port from where the simulation can allocate ports incrementally for NETCONF TLS protocol."; + } + + leaf transport-ftp-port { + type inet:port-number; + description + "The base Host machine port from where the simulation can allocate ports incrementally for FTP protocol."; + } + + leaf transport-sftp-port { + type inet:port-number; + description + "The base Host machine port from where the simulation can allocate ports incrementally for SFTP protocol."; + } + } + + leaf ssh-connections { + type uint8; + config false; + description + "The number of SSH Endpoints each network function instance exposes."; + } + + leaf tls-connections { + type uint8; + config false; + description + "The number of TLS Endpoints each network function instance exposes."; + } + + leaf cpu-usage { + type percent; + config false; + description + "Specifies the CPU load generated by the simulation."; + } + + leaf mem-usage { + type uint32; + config false; + description + "Specifies the RAM in MB used by the simulation."; + } + + leaf last-operation-status { + type string; + config false; + description + "Specifies the status of the most recent operation performed by the Manager."; + } + } + + grouping network-function-image-g { + description + "Groups details about a NF docker image."; + leaf function-type { + type identityref { + base ntsc:NTS_FUNCTION_TYPE_BASE; + } + config false; + description + "Type of network function to be simulated."; + } + + leaf docker-image-name { + type string; + config false; + mandatory true; + description + "The prefix of each docker container being started."; + } + + leaf docker-version-tag { + type string; + config false; + mandatory true; + description + "The version tag of the docker image to be started."; + } + + leaf docker-repository { + type string; + config false; + mandatory true; + description + "The prefix containing the docker repository information, if needed."; + } + } + + container simulation { + presence "Enables simulation configuration."; + description + "Root level container which controls the NTS."; + container available-images { + config false; + description + "Container which encompasses all NF docker images available on the host machine."; + list network-function-image { + description + "List containing available network function docker images and their respective details."; + uses network-function-image-g; + } + } + + container network-functions { + presence "Enables NF configuration."; + description + "Container which encompasses all simulated network functions."; + list network-function { + key "function-type"; + unique "docker-instance-name"; + description + "List containing different simulated network function types and their details."; + uses network-function-g; + } + } + + container sdn-controller { + presence "Enables SDN Controller detail configuration."; + description + "Groups details about the SDN Controller."; + uses ntsc:controller-g; + } + + container ves-endpoint { + presence "Enables VES endpoint detail configuration."; + description + "Groups details about the VES Collector endpoint."; + uses ntsc:ves-endpoint-g; + } + + uses simulation-information-g; + } + + notification instance-changed { + description + "Sent by the Manager every time something occurs in any of the simulated NF instances."; + leaf change-status { + type string; + mandatory true; + description + "The status of the change which was executed to the NF instance."; + } + + leaf function-type { + type identityref { + base ntsc:NTS_FUNCTION_TYPE_BASE; + } + mandatory true; + description + "Type of the NF instance."; + } + + uses instance-g { + refine "name" { + mandatory true; + } + } + } + + notification operation-status-changed { + description + "Sent by the Manager every time a user operation is finished."; + leaf operation-status { + type string; + mandatory true; + description + "The status of the operation which was executed by the Manager."; + } + + leaf error-message { + type string; + description + "Detailed error message from the Manager."; + } + } +}
\ No newline at end of file |