Create O-RAN-SC extension to TAPI Topology v2.1.3 10/7710/1
authordemx8as6 <martin.skorupski@highstreet-technologies.com>
Tue, 8 Feb 2022 13:36:24 +0000 (14:36 +0100)
committerdemx8as6 <martin.skorupski@highstreet-technologies.com>
Tue, 8 Feb 2022 13:37:14 +0000 (14:37 +0100)
- adding o-ran-sc-topology-common
- adding o-ran-sc-topology

IssueID: OAM-248
Change-Id: Iad91aa202936fb331f00fcd8da87f336363d0852
Signed-off-by: demx8as6 <martin.skorupski@highstreet-technologies.com>
data-model/yang/working/o-ran-sc/o-ran-sc-topology/o-ran-sc-topology-common.yang [new file with mode: 0644]
data-model/yang/working/o-ran-sc/o-ran-sc-topology/o-ran-sc-topology.yang [new file with mode: 0644]

diff --git a/data-model/yang/working/o-ran-sc/o-ran-sc-topology/o-ran-sc-topology-common.yang b/data-model/yang/working/o-ran-sc/o-ran-sc-topology/o-ran-sc-topology-common.yang
new file mode 100644 (file)
index 0000000..ed48d35
--- /dev/null
@@ -0,0 +1,247 @@
+module o-ran-sc-topology-common {
+  yang-version 1.1;
+  namespace "urn:o-ran-sc:yang:o-ran-sc-topology-common:1.0";
+  prefix osctc;
+
+  import ietf-interfaces {
+    prefix if;
+  }
+
+  organization
+    "O-RAN Software Community";
+  contact
+    "www.o-ran.org";
+  description
+    "This module contains YANG definitions for the O-RAN Topology augmentation 
+     of TAPI Topology used as network model. 
+
+     Copyright 2022 the O-RAN Software Community.
+
+     Licensed under the Apache License, Version 2.0 (the 'License');
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an 'AS IS' BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.";
+
+  revision 2022-02-05 {
+    description
+      "Initial revision";
+    reference
+      "O-RAN-SC: https://jira.o-ran-sc.org/browse/OAM-248
+       O-RAN.WG1.O-RAN-Architecture-Description
+       Chapter: 1.3.1  Definitions";
+  }
+
+  // O-RAN functional identity types
+
+  identity function-type {
+    description
+      "Base identity as abstract function type for by O-RAN Alliance and others 
+       entities. 
+       An unique identification of a (network) function. 
+
+       This identity is abstract and MUST NOT be used for alarms.";
+
+    reference
+      "O-RAN.WG1.O-RAN-Architecture-Description
+       Chapter: 1.3.1  Definitions
+       https://jira.o-ran-sc.org/browse/OAM-248";
+  }
+
+  identity smo {
+    base function-type;
+    description
+      "An identity corresponding to an 
+       O-RAN Service Management and Orchestration Function (SMO).";
+  }
+
+  identity non-rt-ric {
+    base function-type;
+    description
+      "An identity corresponding to an 
+       O-RAN Service Management and Orchestration SMO component corresponding to 
+       a Non-real-time RAN Intelligent Controller Function (Near-RT-RIC).";
+  }
+
+  identity oam-controller {
+    base function-type;
+    description
+      "An identity corresponding to an 
+       O-RAN Service Management and Orchestration SMO component corresponding to 
+       an Operation and Maintenance Controller Controller Function 
+       (OAM Controller).";
+  }
+
+  identity ves-collector {
+    base function-type;
+    description
+      "An identity corresponding to an 
+       O-RAN Service Management and Orchestration SMO component corresponding to 
+       an (Virtual) Event Streaming Collector Function 
+       (VES Collector).";
+  }
+
+  identity message-router {
+    base function-type;
+    description
+      "An identity corresponding to an 
+       O-RAN Service Management and Orchestration SMO component corresponding to 
+       Message Router Function (MR).";
+  }
+
+  identity transport-node {
+    base function-type;
+    description
+      "An identity corresponding to a Transport Node Function 
+       (such as  Transponders, Muxponders, ROADM, Wavelength Selected Switch, 
+       Optical Amplifier, Optical Terminal, Optical Repeater, Optical Filter, 
+       Optical Multiplexer, Microwave Terminal, Carrier Ethernet Routers, ... .";
+  }
+
+  identity fronthaul-gateway {
+    base function-type;
+    description
+      "An identity corresponding to an O-RAN Fronthaul Gateway Function.";
+  }
+
+  identity fronthaul-multiplexer {
+    base function-type;
+    description
+      "An identity corresponding to an O-RAN Fronthaul Multiplexer Function.";
+  }
+  
+  identity near-rt-ric {
+    base function-type;
+    description
+      "An identity corresponding to an O-RAN Near real-time RAN intelligent
+       controller Function (NEar-RT-RIC).";
+  }
+
+  identity managed-application {
+    base function-type;
+    description
+      "An identity corresponding to an O-RAN Managed Application Function (MA), 
+       also called 'xApp'.";
+  }
+
+  identity o-cu {
+    base function-type;
+    description
+      "An identity corresponding to an O-RAN Central Unit Functions.";
+  }
+
+  identity o-cu-up {
+    base o-cu-function-type;
+    description
+      "An identity corresponding to an O-RAN Central Unit User Plane Function.";
+  }
+
+  identity o-cu-cp {
+    base o-cu-function-type;
+    description
+      "An identity corresponding to an O-RAN Central Unit Control Plane 
+       Function.";
+  }
+
+  identity o-du {
+    base function-type;
+    description
+      "An identity corresponding to an O-RAN Distributed Unit Function.";
+  }
+
+  identity o-ru {
+    base function-type;
+    description
+      "An identity corresponding to an O-RAN Radio Unit Function.";
+  }
+
+  identity o-enb {
+    base function-type;
+    description
+      "An identity corresponding to an O-RAN E-UTRAN Node B Function.
+       E-UTRAN: evolved UMTS Terrestrial Radio Access";
+  }
+
+  identity user-equipment {
+    base function-type;
+    description
+      "An identity corresponding to an User Equipment Function.";
+  }
+  
+  identity o-cloud-ims {
+    base function-type;
+    description
+      "An identity corresponding to an Infrastructure Management Service 
+       Function (IMS).";
+  }
+
+  identity o-cloud-dms {
+    base function-type;
+    description
+      "An identity corresponding to a 
+       Deployment Management Service Function (DMS).";
+  }
+
+  // O-RAN interface types
+
+  identity interface-type {
+    base if:interface-type
+    description
+      "Base identity for interface types used in RAN, Transport and Core.
+       A unique identification of the management interface.
+       This identity is abstract and MUST NOT be used as a value.";
+  }
+
+  identity a1 {
+    base interface-type;
+    description
+      "An identity for the a1 interface between Non-RT-RIC and Near-RT-RIC.";
+  }
+
+  identity e1 {
+    base interface-type;
+    description
+      "An identity for the e1 interface defined by 3GPP.";
+  }
+
+  identity e2 {
+    base interface-type;
+    description
+      "An identity for the e2 interface as defined by O-RAN Alliance.";
+  }
+
+  identity o1 {
+    base interface-type;
+    description
+      "An identity for the operation and maintenance management interface
+       for network functions as defined by the O-RAN-Alliance as extension
+       to 3GPP NG NRM.";
+  }
+
+  identity o2 {
+    base interface-type;
+    description
+      "An identity for the operation and maintenance management interface
+       for a cloud infrastructure service and a could deployment service
+       (O-Cloud).";
+  }
+
+  identity open-fronthaul-management-plane {
+    base interface-type;
+    description
+      "An identity for the operation and maintenance management interface for
+       O-RU functions.";
+  }
+
+  identity transport-management-interface {
+    base interface-type;
+    description
+      "An identity for a yang based management interface for transport nodes.";
+  }
+}
diff --git a/data-model/yang/working/o-ran-sc/o-ran-sc-topology/o-ran-sc-topology.yang b/data-model/yang/working/o-ran-sc/o-ran-sc-topology/o-ran-sc-topology.yang
new file mode 100644 (file)
index 0000000..bfb4dbe
--- /dev/null
@@ -0,0 +1,116 @@
+module o-ran-sc-topology {
+  yang-version 1.1;
+  namespace "urn:o-ran-sc:yang:o-ran-sc-topology:1.0";
+  prefix osct;
+
+  import tapi-common {
+    prefix tapi-common;
+  }
+  import tapi-topology {
+    prefix tapi-topology;
+  }
+  import o-ran-sc-topology-common {
+    prefix osctc;
+  }
+
+  organization
+    "O-RAN Software Community";
+  contact
+    "www.o-ran.org";
+  description
+    "This module contains YANG definitions for the O-RAN Topology augmentation 
+     of TAPI Topology.
+
+     Copyright 2022 the O-RAN Software Community.
+
+     Licensed under the Apache License, Version 2.0 (the 'License');
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an 'AS IS' BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.";
+
+  revision 2022-02-05 {
+    description
+      "Initial revision";
+    reference
+      "O-RAN-SC: https://jira.o-ran-sc.org/browse/OAM-248";
+  }
+
+  typedef geographic-coordinate-degree {
+    type decimal64 {
+      fraction-digits 8;
+    }
+    description
+      "Decimal degree (DD) used to express latitude and longitude
+       geographic coordinates.
+       Copied from ietf-te-topology@2020-08-06.yang";
+  }
+
+  // geographic-coordinate-degree
+
+  grouping geolocation-container {
+    description
+      "Contains a GPS location.
+       Copied from ietf-te-topology@2020-08-06.yang";
+    container geolocation {
+      description
+        "Contains a GPS location.";
+      leaf altitude {
+        type int64;
+        units "millimeters";
+        description
+          "Distance above sea level.";
+      }
+      leaf latitude {
+        type geographic-coordinate-degree {
+          range "-90..90";
+        }
+        description
+          "Relative position north or south on the Earth's surface.";
+      }
+      leaf longitude {
+        type geographic-coordinate-degree {
+          range "-180..180";
+        }
+        description
+          "Angular distance east or west on the Earth's surface.";
+      }
+    }
+    // geolocation
+  }
+
+  augment "/tapi-common:context/tapi-topology:topology-context/tapi-topology:topology/tapi-topology:node" {
+    description
+      "Augments the TAPI Topology node Context with geolocation information.";
+    uses geolocation-container;
+  }
+
+  augment "/tapi-common:context/tapi-topology:topology-context/tapi-topology:topology/tapi-topology:node" {
+    description
+      "Augments the TAPI Topology node Context with the (network) function type";
+    leaf function {
+      type identityref {
+        base osctc:function-type  ;
+      }
+      description
+        "The type of the (Network) Function.";
+    }
+  }
+  augment "/tapi-common:context/tapi-topology:topology-context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point" {
+    description
+      "Augments the TAPI Topology Owned Node Edge Points with the (network) function type";
+    leaf function {
+      type identityref {
+        base osctc:interface-type  ;
+      }
+      description
+        "The type of the Node Edge Point interface type.";
+    }
+  }
+}