summaryrefslogtreecommitdiffstats
path: root/sdnr/wt/devicemanager-onap/adapter-manager/provider/src/main/yang/nts-manager@2021-06-08.yang
diff options
context:
space:
mode:
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.yang406
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