Update namespaces according to RFC8515 61/5761/5
authordemx8as6 <martin.skorupski@highstreet-technologies.com>
Sun, 14 Mar 2021 16:10:52 +0000 (17:10 +0100)
committerMartin Skorupski <martin.skorupski@highstreet-technologies.com>
Wed, 17 Mar 2021 09:02:39 +0000 (09:02 +0000)
The existing o-ran-sc yang models follow now this format
   "urn:o-ran-sc:yang:<yang-module-name>"

IssueID: OAM-168
Change-Id: I8e2d720b816a228122f24547337050622756d480
Signed-off-by: demx8as6 <martin.skorupski@highstreet-technologies.com>
19 files changed:
data-model/yang/working/o-ran-sc/near-rt-ric/o-ran-sc-ric-alarms-v1.yang
data-model/yang/working/o-ran-sc/near-rt-ric/o-ran-sc-ric-gnb-status-v1.yang
data-model/yang/working/o-ran-sc/near-rt-ric/o-ran-sc-ric-ueec-config-v1.yang
data-model/yang/working/o-ran-sc/near-rt-ric/o-ran-sc-ric-xapp-desc-v1.yang
data-model/yang/working/o-ran-sc/o-ran-cu-cp/o-ran-sc-cu-cp-alarms-v1.yang
data-model/yang/working/o-ran-sc/o-ran-cu-cp/o-ran-sc-cu-cp-v1.yang
data-model/yang/working/o-ran-sc/o-ran-cu-up/o-ran-sc-cu-up-alarms-v1.yang
data-model/yang/working/o-ran-sc/o-ran-cu-up/o-ran-sc-cu-up-v1.yang
data-model/yang/working/o-ran-sc/o-ran-du/o-ran-sc-du-alarms-v1.yang
data-model/yang/working/o-ran-sc/o-ran-du/o-ran-sc-du-v1.yang
data-model/yang/working/o-ran-sc/o-ran-ru/o-ran-sc-ru-alarms-v1.yang
data-model/yang/working/o-ran-sc/o-ran-ru/o-ran-sc-ru-v1.yang
data-model/yang/working/o-ran-sc/template/o-ran-sc-TEMPLATE-v1.yang
data-model/yang/working/o-ran-sc/template/o-ran-sc-alarms-v1.yang
data-model/yang/working/o-ran-sc/template/o-ran-sc-common-alarms-v1.yang
data-model/yang/working/o-ran-sc/template/o-ran-sc-hardware-v1.yang
data-model/yang/working/o-ran-sc/template/o-ran-sc-interfaces-v1.yang
data-model/yang/working/o-ran-sc/template/o-ran-sc-root-v1.yang
data-model/yang/working/o-ran-sc/template/o-ran-sc-types-v1.yang

index a6089c2..35f35f7 100644 (file)
@@ -49,18 +49,20 @@ module o-ran-sc-ric-alarms-v1 {
        Instructions:
        Check if reconnect happened, e.g. using the health check in RIC-95.";
   }
+
   identity time-out {
     base alarm-type-id;
     description
       "Internal routing table update distribution might be incomplete
-            due to time out.
+       due to time out.
        Instructions:
        Operator to check if there were any failures in any of the components
-                  involved (xApp restarts, for example)if no such failures, operator
-                  might have to update time out settings in the configuration to
-                  adjust RIC system to scheduling latencies of the underlying cloud
-                  platform.";
+       involved (xApp restarts, for example)if no such failures, operator
+       might have to update time out settings in the configuration to
+       adjust RIC system to scheduling latencies of the underlying cloud
+       platform.";
   }
+
   identity overload {
     base alarm-type-id;
     description
index 2fefaf2..e8c2e9a 100644 (file)
 module o-ran-sc-ric-gnb-status-v1 {
-    yang-version 1.1;
-    namespace "urn:o-ran:ric:gnb-status:1.0";
-    prefix rgnb;
+  yang-version 1.1;
+  namespace "urn:o-ran-sc:yang:o-ran-sc-ric-gnb-status-v1";
+  prefix rgnb;
 
-    import o-ran-sc-ric-xapp-desc-v1 {
-        prefix rxad;
+  import o-ran-sc-ric-xapp-desc-v1 {
+    prefix rxad;
+  }
+  import o-ran-sc-root-v1 {
+    prefix root;
+  }
+  import o-ran-sc-types-v1 {
+    prefix ot;
+  }
+  import ietf-inet-types {
+    prefix inet;
+    reference
+      "RFC 6991: Common YANG Data Types";
+  }
+
+  organization
+    "O-RAN Software Community";
+  contact
+    "www.o-ran.org";
+  description
+    "This module defines the gNB status and other information visible to operators
+
+     Copyright 2021 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 2020-02-25 {
+    description
+      "Dependency to a common and abstract root module added.";
+    reference
+      "O-RAN-OAM-architecture-Specification (O1)";
+  }
+  revision 2020-01-29 {
+    description
+      "initial revision";
+    reference
+      "O-RAN-OAM-Interface-Specification (O1)";
+  }
+
+  grouping nodeb-info {
+    uses root:control-base-grp;
+    leaf ip {
+      type inet:ip-address;
+      description
+        "The IP address of the node";
     }
-    import o-ran-sc-root-v1 {
-        prefix root;
+    leaf port {
+      type inet:port-number;
+      description
+        "The port of the node";
     }
-    import o-ran-sc-types-v1 {
-        prefix ot;
+    leaf e2ap-protocol {
+      type ot:e2ap-protocol-type;
+      description
+        "Specifies the protocol type of the connection";
     }
-    import ietf-inet-types {
-        prefix inet;
-        reference
-          "RFC 6991: Common YANG Data Types";
+    leaf connection-status {
+      type ot:connection-status-type;
+      description
+        "Specifies the connection type of the node";
     }
-
-    organization
-      "O-RAN Software Community";
-    contact
-      "www.o-ran.org";
-    description
-      "This module defines the gNB status and other information visible to operators
-       
-       Copyright 2020 the O-RAN Alliance.
-       
-       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 2020-02-25 {
-        description
-          "Dependency to a common and abstract root module added.";
-        reference
-          "O-RAN-OAM-architecture-Specification (O1)";
+    leaf plmn-id {
+      type ot:sized-printable-string;
+      description
+        "PLMN id TODO: who is responsible for this identifier?";
     }
-    revision 2020-01-29 {
-        description
-          "initial revision";
-        reference
-          "O-RAN-OAM-Interface-Specification (O1)";
+    leaf nb-id {
+      type ot:sized-printable-string;
+      description
+        "eNB id TODO: who is responsible for this identifier?";
     }
-
-    grouping nodeb-info {
-        uses root:control-base-grp;
-
-        leaf ip {
-            type inet:ip-address;
-            description
-              "The IP address of the node";
-        }
-        leaf port {
-            type inet:port-number;
-            description
-              "The port of the node";
-        }
-        leaf e2ap-protocol {
-            type ot:e2ap-protocol-type;
-            description
-              "Specifies the protocol type of the connection";
-        }
-        leaf connection-status {
-            type ot:connection-status-type;
-            description
-              "Specifies the connection type of the node";
-        }
-        leaf plmn-id {
-            type ot:sized-printable-string;
-            description
-              "PLMN id TODO: who is responsable for thiis identifier?";
-        }
-        leaf nb-id {
-            type ot:sized-printable-string;
-            description
-              "eNB id TODO: who is responsibale for this identifier?";
-        }
-        leaf node {
-            type identityref {
-                base ot:control-element-type;
-            }
-            description
-              "The type of the node: eNB or gNB";
-        }
-        description
-          "Node information";
+    leaf node {
+      type identityref {
+        base ot:control-element-type;
+      }
+      description
+        "The type of the node: eNB or gNB";
     }
+    description
+      "Node information";
+  }
 
-    grouping ric-specific-grp {
-        container nodes {
-            config false;
-            list node {
-                key identifier;
-                uses nodeb-info;
-                description
-                  "The list of the gNBs currently discovered by RIC";
-            }
-            description
-              "State data container of the nodes";
-        }
+  grouping ric-specific-grp {
+    container nodes {
+      config false;
+      list node {
+        key "identifier";
+        uses nodeb-info;
         description
-          "Root object for gNB status";
+          "The list of the gNBs currently discovered by RIC";
+      }
+      description
+        "State data container of the nodes";
     }
+    description
+      "Root object for gNB status";
+  }
 
-    // Inherit from controlled-function
-    augment "/root:controlled-element/root:controlled-function" {
-        when "derived-from-or-self(./root:function-type, 'rxad:near-realtime-ran-intelligent-controller')";
-        uses ric-specific-grp;
-        description
-          "Inheritance from root object class.";
-    }
+  // Inherit from controlled-function
+
+  augment "/root:controlled-element/root:controlled-function" {
+    when "derived-from-or-self(./root:function-type, 'rxad:near-realtime-ran-intelligent-controller')";
+    uses ric-specific-grp;
+    description
+      "Inheritance from root object class.";
+  }
 }
index 4fae3a7..c39bfba 100644 (file)
 module o-ran-sc-ric-ueec-config-v1 {
-    yang-version 1.1;
-    namespace "urn:o-ran:ric:ueec-config:1.0";
-    prefix ruc;
+  yang-version 1.1;
+  namespace "urn:o-ran-sc:yang:o-ran-sc-ric-ueec-config-v1";
+  prefix ruc;
 
-    import o-ran-sc-ric-xapp-desc-v1 {
-        prefix rxad;
-    }
-    import o-ran-sc-root-v1 {
-        prefix root;
-    }
-    import o-ran-sc-types-v1 {
-        prefix ot;
-    }
+  import o-ran-sc-ric-xapp-desc-v1 {
+    prefix rxad;
+  }
+  import o-ran-sc-root-v1 {
+    prefix root;
+  }
+  import o-ran-sc-types-v1 {
+    prefix ot;
+  }
+
+  organization
+    "O-RAN Software Community";
+  contact
+    "www.o-ran.org";
+  description
+    "This module defines configuration parameters of UEEC xApp
+
+     Copyright 2021 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
 
-    organization
-      "O-RAN Software Community";
-    contact
-      "www.o-ran.org";
+     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 2021-03-09 {
+    description
+      "The namespace was updated according to O-RAN-SC yang guidelines.
+       The namespace must end with the full module name.";
+    reference
+      "https://jira.o-ran-sc.org/browse/OAM-168";
+  }
+  revision 2020-02-25 {
     description
-      "This module defines configuration parameters of UEEC xApp
-       
-       Copyright 2020 the O-RAN Alliance.
-       
-       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.";
+      "Dependency to a common and abstract root module added.";
+    reference
+      "O-RAN-OAM-architecture-Specification (O1)";
+  }
+  revision 2020-01-29 {
+    description
+      "initial revision";
+    reference
+      "O-RAN-OAM-Interface-Specification (O1)";
+  }
 
-    revision 2020-02-25 {
-        description
-          "Dependency to a common and abstract root module added.";
-        reference
-          "O-RAN-OAM-architecture-Specification (O1)";
+  grouping subscription {
+    leaf active {
+      type boolean;
+      description
+        "Subscription status: active or deactive
+         TODO: please see other subscription modules.";
     }
-    revision 2020-01-29 {
-        description
-          "initial revision";
-        reference
-          "O-RAN-OAM-Interface-Specification (O1)";
-    }
-
-    grouping subscription {
-        leaf active {
-            type boolean;
-            description
-              "Subscription status: active or deactive
-               TODO: please see other subscription modules.";
+    container interfaceId {
+      container globalENBId {
+        leaf plmnId {
+          type ot:sized-printable-string;
+          description
+            "PLMN ID";
         }
-        container interfaceId {
-            container globalENBId {
-                leaf plmnId {
-                    type ot:sized-printable-string;
-                    description
-                      "PLMN ID";
-                }
-                leaf eNBId {
-                    type uint64;
-                    description
-                      "eNB ID";
-                }
-                description
-                  "Global ID";
-            }
-            description
-              "gNB interface ID - TODO: is this container needed?";
+        leaf eNBId {
+          type uint64;
+          description
+            "eNB ID";
         }
         description
-          "Subscription related parameters";
+          "Global ID";
+      }
+      description
+        "gNB interface ID - TODO: is this container needed?";
     }
+    description
+      "Subscription related parameters";
+  }
 
-    grouping ric-specific-grp {
-        container config {
-            uses root:control-base-grp;
-            leaf namespace {
-                type string;
-                description
-                  "The namespace";
-            }
-            container control {
-                uses subscription;
-                description
-                  "The control object";
-            }
-            description
-              "The container for configuration data";
-        }
+  grouping ric-specific-grp {
+    container config {
+      uses root:control-base-grp;
+      leaf namespace {
+        type string;
         description
-          "Root object for gNB status";
-    }
-
-    // Inherit from controlled-function
-    augment "/root:controlled-element/root:controlled-function" {
-        when "derived-from-or-self(./root:function-type, 'rxad:near-realtime-ran-intelligent-controller')";
-        uses ric-specific-grp;
+          "The namespace";
+      }
+      container control {
+        uses subscription;
         description
-          "Inheritance from root object class.";
+          "The control object";
+      }
+      description
+        "The container for configuration data";
     }
-}
\ No newline at end of file
+    description
+      "Root object for gNB status";
+  }
+
+  // Inherit from controlled-function
+
+  augment "/root:controlled-element/root:controlled-function" {
+    when "derived-from-or-self(./root:function-type, 'rxad:near-realtime-ran-intelligent-controller')";
+    uses ric-specific-grp;
+    description
+      "Inheritance from root object class.";
+  }
+}
index 9e53578..2850150 100644 (file)
 module o-ran-sc-ric-xapp-desc-v1 {
-    yang-version 1.1;
-    namespace "urn:o-ran:ric:xapp-desc:1.0";
-    prefix rxad;
+  yang-version 1.1;
+  namespace "urn:o-ran-sc:yang:o-ran-sc-ric-xapp-desc-v1";
+  prefix rxad;
 
-    import o-ran-sc-root-v1 {
-        prefix root;
-    }
-    import o-ran-sc-types-v1 {
-        prefix ot;
-    }
+  import o-ran-sc-root-v1 {
+    prefix root;
+  }
+  import o-ran-sc-types-v1 {
+    prefix ot;
+  }
+
+  organization
+    "O-RAN Software Community";
+  contact
+    "www.o-ran.org";
+  description
+    "This module defines a generic xApp descriptor used for
+     xApp lifecycle management
+
+     Copyright 2021 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.";
 
-    organization
-      "O-RAN Software Community";
-    contact
-      "www.o-ran.org";
+  revision 2021-03-09 {
     description
-      "This module defines a generic xApp descriptor used for 
-       xApp lifecycle management
-       
-       Copyright 2020 the O-RAN Alliance.
-       
-       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.";
+      "The namespace was updated according to O-RAN-SC yang guidelines.
+       The namespace must end with the full module name.";
+    reference
+      "https://jira.o-ran-sc.org/browse/OAM-168";
+  }
+  revision 2020-02-25 {
+    description
+      "Dependency to a common and abstract root module added.";
+    reference
+      "O-RAN-OAM-architecture-Specification (O1)";
+  }
+  revision 2020-01-29 {
+    description
+      "initial revision";
+    reference
+      "O-RAN-OAM-Interface-Specification (O1)";
+  }
 
-    revision 2020-02-25 {
-        description
-          "Dependency to a common and abstract root module added.";
-        reference
-          "O-RAN-OAM-architecture-Specification (O1)";
+  // identity
+
+  identity near-realtime-ran-intelligent-controller {
+    base ot:control-function-type;
+    description
+      "Defines the identitiy near-rt-ric as contoll-function type.";
+  }
+
+  // grouping
+  // LCM: Generic xApp descriptor passed to xApp Manager (or OCO) during xApp deployment/undeployment
+
+  grouping xapp-descriptor {
+    uses root:control-base-grp;
+    leaf release-name {
+      type string;
+      description
+        "Name of the xapp to be visible in Kubernetes";
     }
-    revision 2020-01-29 {
-        description
-          "initial revision";
-        reference
-          "O-RAN-OAM-Interface-Specification (O1)";
+    leaf version {
+      type string;
+      description
+        "The exact xapp helm chart version to install";
     }
-
-    // identity
-    identity near-realtime-ran-intelligent-controller {
-        base ot:control-function-type;
-        description
-          "Defines the identitiy near-rt-ric as contoll-function type.";
+    leaf namespace {
+      type string;
+      description
+        "Name of the namespace to which xApp is deployed in Kubernetes";
+    }
+    leaf override-file {
+      type string;
+      description
+        "JSON string of override file for 'helm install' command";
     }
+    description
+      "xApp descriptor";
+  }
 
-    // grouping
-    // LCM: Generic xApp descriptor passed to xApp Manager (or OCO) during xApp deployment/undeployment
-    grouping xapp-descriptor {
-        uses root:control-base-grp;
-        leaf release-name {
-            type string;
-            description
-              "Name of the xapp to be visible in Kubernetes";
-        }
-        leaf version {
-            type string;
-            description
-              "The exact xapp helm chart version to install";
-        }
-        leaf namespace {
-            type string;
-            description
-              "Name of the namespace to which xApp is deployed in Kubernetes";
-        }
-        leaf override-file {
-            type string;
-            description
-              "JSON string of override file for 'helm install' command";
-        }
+  grouping ric-specific-grp {
+    container xapps {
+      list xapp {
+        key "name";
+        uses xapp-descriptor;
         description
           "xApp descriptor";
+      }
+      description
+        "List of xApps to be managed.";
     }
+    description
+      "Groups xApps realted artifacts. ";
+  }
 
-    grouping ric-specific-grp {
-        container xapps {
-            list xapp {
-                key "name";
-                uses xapp-descriptor;
-                description
-                  "xApp descriptor";
-            }
-            description
-              "List of xApps to be managed.";
-        }
-        description
-          "Groups xApps realted artifacts. ";
-    }
+  // Inherit from controlled-function
 
-    // Inherit from controlled-function
-    augment "/root:controlled-element/root:controlled-function" {
-        when "derived-from-or-self(./root:function-type, 'rxad:near-realtime-ran-intelligent-controller')";
-        uses ric-specific-grp;
-        description
-          "Inheritance from root object class.";
-    }
-}
\ No newline at end of file
+  augment "/root:controlled-element/root:controlled-function" {
+    when "derived-from-or-self(./root:function-type, 'rxad:near-realtime-ran-intelligent-controller')";
+    uses ric-specific-grp;
+    description
+      "Inheritance from root object class.";
+  }
+}
index e29ff2d..2d86b34 100644 (file)
@@ -1,6 +1,6 @@
 module o-ran-sc-cu-cp-alarms-v1 {
   yang-version 1.1;
-  namespace "urn:o-ran-sc:cu:cp:alarms:1.0";
+  namespace "urn:o-ran-sc:yang:o-ran-sc-cu-cp-alarms-v1";
   prefix osc-cu-cp-al;
 
   import ietf-alarms {
@@ -15,7 +15,7 @@ module o-ran-sc-cu-cp-alarms-v1 {
     "This module defines the alarm identities for the O-RAN-SC Central Unit
      Control Plane.
 
-     Copyright 2020 the O-RAN Software Community.
+     Copyright 2021 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.
@@ -29,6 +29,13 @@ module o-ran-sc-cu-cp-alarms-v1 {
      See the License for the specific language governing permissions and
      limitations under the License.";
 
+  revision 2021-03-09 {
+    description
+      "The namespace was updated according to O-RAN-SC yang guidelines.
+       The namespace must end with the full module name.";
+    reference
+      "https://jira.o-ran-sc.org/browse/OAM-168";
+  }
   revision 2020-01-18 {
     description
       "initial revision";
@@ -49,7 +56,7 @@ module o-ran-sc-cu-cp-alarms-v1 {
       "A generic alarm which is under development and analysis,
        must not happen in production environment.
        Instructions:
-         Create an JIRA issue and provide the following intormation:
+         Create an JIRA issue and provide the following information:
          - SMO version, build number or git hash
          - O-CU-CP version, build number or git hash
          - A procedure to reproduce the alarm.";
index 27d9833..e8d30d5 100644 (file)
@@ -1,6 +1,6 @@
 module o-ran-sc-cu-cp-v1 {
   yang-version 1.1;
-  namespace "urn:o-ran:sc:centalized-unit:control-plane:1.0";
+  namespace "urn:o-ran-sc:yang:o-ran-sc-cu-cp-v1";
   prefix ocucp;
 
   import o-ran-sc-root-v1 {
@@ -18,7 +18,7 @@ module o-ran-sc-cu-cp-v1 {
     "This module contains the O-RAN Software Community CentralizedUnit
      Control Plane specific O1 interface APIs.
 
-     Copyright 2020 the O-RAN Alliance.
+     Copyright 2021 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.
@@ -32,6 +32,13 @@ module o-ran-sc-cu-cp-v1 {
      See the License for the specific language governing permissions and
      limitations under the License.";
 
+  revision 2021-03-09 {
+    description
+      "The namespace was updated according to O-RAN-SC yang guidelines.
+       The namespace must end with the full module name.";
+    reference
+      "https://jira.o-ran-sc.org/browse/OAM-168";
+  }
   revision 2020-02-20 {
     description
       "initial revision";
@@ -55,6 +62,7 @@ module o-ran-sc-cu-cp-v1 {
   }
 
   // Inherit from controlled-function
+
   augment "/root:controlled-element/root:controlled-function" {
     when "derived-from-or-self(./root:function-type, 'ocucp:o-cu-cp')";
     uses o-cu-cp-specific-grp;
index 020103f..5fee029 100644 (file)
@@ -1,6 +1,6 @@
 module o-ran-sc-cu-up-alarms-v1 {
   yang-version 1.1;
-  namespace "urn:o-ran-sc:cu:up:alarms:1.0";
+  namespace "urn:o-ran-sc:yang:o-ran-sc-cu-up-alarms-v1";
   prefix osc-cu-up-al;
 
   import ietf-alarms {
@@ -15,7 +15,7 @@ module o-ran-sc-cu-up-alarms-v1 {
     "This module defines the alarm identities for the O-RAN-SC Central Unit
      User Plane.
 
-     Copyright 2020 the O-RAN Software Community.
+     Copyright 2021 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.
@@ -29,6 +29,13 @@ module o-ran-sc-cu-up-alarms-v1 {
      See the License for the specific language governing permissions and
      limitations under the License.";
 
+  revision 2021-03-09 {
+    description
+      "The namespace was updated according to O-RAN-SC yang guidelines.
+       The namespace must end with the full module name.";
+    reference
+      "https://jira.o-ran-sc.org/browse/OAM-168";
+  }
   revision 2020-01-18 {
     description
       "initial revision";
@@ -49,7 +56,7 @@ module o-ran-sc-cu-up-alarms-v1 {
       "A generic alarm which is under development and analysis,
        must not happen in production environment.
        Instructions:
-         Create an JIRA issue and provide the following intormation:
+         Create an JIRA issue and provide the following information:
          - SMO version, build number or git hash
          - O-CU-UP version, build number or git hash
          - A procedure to reproduce the alarm.";
index 9f6aee6..9544e7f 100644 (file)
@@ -1,6 +1,6 @@
 module o-ran-sc-cu-up-v1 {
   yang-version 1.1;
-  namespace "urn:o-ran:sc:centalized-unit:user-plane:1.0";
+  namespace "urn:o-ran-sc:yang:o-ran-sc-cu-up-v1";
   prefix ocuup;
 
   import o-ran-sc-root-v1 {
@@ -15,10 +15,10 @@ module o-ran-sc-cu-up-v1 {
   contact
     "www.o-ran.org";
   description
-    "This module contains the O-RAN Software Community CentralizedUnit
+    "This module contains the O-RAN Software Community Centralized Unit
      User Plane specific O1 interface APIs.
 
-     Copyright 2020 the O-RAN Alliance.
+     Copyright 2021 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.
@@ -32,6 +32,13 @@ module o-ran-sc-cu-up-v1 {
      See the License for the specific language governing permissions and
      limitations under the License.";
 
+  revision 2021-03-09 {
+    description
+      "The namespace was updated according to O-RAN-SC yang guidelines.
+       The namespace must end with the full module name.";
+    reference
+      "https://jira.o-ran-sc.org/browse/OAM-168";
+  }
   revision 2020-02-20 {
     description
       "initial revision";
@@ -55,6 +62,7 @@ module o-ran-sc-cu-up-v1 {
   }
 
   // Inherit from controlled-function
+
   augment "/root:controlled-element/root:controlled-function" {
     when "derived-from-or-self(./root:function-type, 'ocuup:o-cu-up')";
     uses o-cu-up-specific-grp;
index e19c245..53ac683 100644 (file)
@@ -1,76 +1,85 @@
 module o-ran-sc-du-alarms-v1 {
-    yang-version 1.1;
-    namespace "urn:o-ran-sc:du:alarms:1.0";
-    prefix osc-du-al;
+  yang-version 1.1;
+  namespace "urn:o-ran-sc:yang:o-ran-sc-du-alarms-v1";
+  prefix osc-du-al;
 
-    import ietf-alarms {
-        prefix al;
-    }
+  import ietf-alarms {
+    prefix al;
+  }
 
-    organization
-      "O-RAN Software Community";
-    contact
-      "www.o-ran-sc.org";
+  organization
+    "O-RAN Software Community";
+  contact
+    "www.o-ran-sc.org";
+  description
+    "This module defines the alarm identities for the O-RAN-SC Distributed Unit.
+
+     Copyright 2021 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 2021-03-09 {
+    description
+      "The namespace was updated according to O-RAN-SC yang guidelines.
+       The namespace must end with the full module name.";
+    reference
+      "https://jira.o-ran-sc.org/browse/OAM-168";
+  }
+  revision 2020-03-08 {
     description
-      "This module defines the alarm identities for the O-RAN-SC Distributed Unit.
-       
-       Copyright 2020 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.";
+      "initial revision";
+    reference
+      "O-RAN-OAM-Interface-Specification (O1)";
+  }
 
-    revision 2020-03-08 {
-        description
-          "initial revision";
-        reference
-          "O-RAN-OAM-Interface-Specification (O1)";
-    }
+  identity alarm-type-id {
+    base al:alarm-type-id;
+    description
+      "An abstract alarm type used for all O-RAN-SC specific alarm types for
+       Managed Function O-DU.";
+  }
 
-    identity alarm-type-id {
-        base al:alarm-type-id;
-        description
-          "An abstract alarm type used for all O-RAN-SC specific alarm types for
-           Managed Function O-DU.";
-    }
+  identity loss-of-timing-synchronization {
+    base alarm-type-id;
+    description
+      "O-DU loss of time synchronization.
+        Instructions:
+        1) Verify the configuration of time synchronization on the O-DU.
+        2) Verify the connectivity between the O-DU and the synchronization
+           source in terms of routing and firewall settings along the path.
+        3) Check if QoS requirements between O-DU and synchronization source
+           are met.";
+  }
 
-    identity loss-of-timing-synchronization {
-        base alarm-type-id;
-        description
-          "O-DU loss of time synchronization.
-            Instructions:
-            1) Verify the configuration of time synchronization on the O-DU.
-            2) Verify the connectivity between the O-DU and the synchronization
-               source in terms of routing and firewall settings along the path.
-            3) Check if QoS requirements between O-DU and synchronization source
-               are met.";
-    }
-    identity connection-loss-to-o-ru {
-        base alarm-type-id;
-        description
-          "O-DU loss of connection to O-RU.
-            Instructions:
-              1) Verify the configuration on O-DU and on O-RU.
-              2) Verify the connectivity between O-DU and O-RU in terms of 
-                 routing
-           and firewall settings along the path.";
-    }
-    identity o-du-low-configuration-loss-from-o-du-high {
-        base alarm-type-id;
-        description
-          "O-DU Low loss of configuration from O-DU High.
-           Instructions:
-             Create an JIRA issue and provide the following information:
-             - SMO version, build number or git hash
-             - O-DU version, build number or git hash
-             - A procedure to reproduce the alarm.";
-    }
-}
\ No newline at end of file
+  identity connection-loss-to-o-ru {
+    base alarm-type-id;
+    description
+      "O-DU loss of connection to O-RU.
+        Instructions:
+          1) Verify the configuration on O-DU and on O-RU.
+          2) Verify the connectivity between O-DU and O-RU in terms of
+             routing
+       and firewall settings along the path.";
+  }
+
+  identity o-du-low-configuration-loss-from-o-du-high {
+    base alarm-type-id;
+    description
+      "O-DU Low loss of configuration from O-DU High.
+       Instructions:
+         Create an JIRA issue and provide the following information:
+         - SMO version, build number or git hash
+         - O-DU version, build number or git hash
+         - A procedure to reproduce the alarm.";
+  }
+}
index bbcab1f..eb0d30b 100644 (file)
@@ -1,6 +1,6 @@
 module o-ran-sc-du-v1 {
   yang-version 1.1;
-  namespace "urn:o-ran:sc:distributed-unit:1.0";
+  namespace "urn:o-ran-sc:yang:o-ran-sc-du-v1";
   prefix odu;
 
   import o-ran-sc-root-v1 {
@@ -18,7 +18,7 @@ module o-ran-sc-du-v1 {
     "This module contains the O-RAN Software Community DistributedUnit specific
      O1 interface APIs.
 
-     Copyright 2020 the O-RAN Alliance.
+     Copyright 2021 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.
@@ -32,6 +32,13 @@ module o-ran-sc-du-v1 {
      See the License for the specific language governing permissions and
      limitations under the License.";
 
+  revision 2021-03-09 {
+    description
+      "The namespace was updated according to O-RAN-SC yang guidelines.
+       The namespace must end with the full module name.";
+    reference
+      "https://jira.o-ran-sc.org/browse/OAM-168";
+  }
   revision 2020-02-20 {
     description
       "initial revision";
@@ -55,6 +62,7 @@ module o-ran-sc-du-v1 {
   }
 
   // Inherit from controlled-function
+
   augment "/root:controlled-element/root:controlled-function" {
     when "derived-from-or-self(./root:function-type, 'odu:o-du')";
     uses o-du-specific-grp;
index c52414d..dc18c96 100644 (file)
@@ -1,6 +1,6 @@
 module o-ran-sc-ru-alarms-v1 {
   yang-version 1.1;
-  namespace "urn:o-ran-sc:ru:alarms:1.0";
+  namespace "urn:o-ran-sc:yang:o-ran-sc-ru-alarms-v1";
   prefix osc-ru-al;
 
   import ietf-alarms {
@@ -14,7 +14,7 @@ module o-ran-sc-ru-alarms-v1 {
   description
     "This module defines the alarm identities for the O-RAN-SC Components.
 
-     Copyright 2020 the O-RAN Software Community.
+     Copyright 2021 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.
@@ -28,6 +28,13 @@ module o-ran-sc-ru-alarms-v1 {
      See the License for the specific language governing permissions and
      limitations under the License.";
 
+  revision 2021-03-09 {
+    description
+      "The namespace was updated according to O-RAN-SC yang guidelines.
+       The namespace must end with the full module name.";
+    reference
+      "https://jira.o-ran-sc.org/browse/OAM-168";
+  }
   revision 2020-01-18 {
     description
       "initial revision";
@@ -48,7 +55,7 @@ module o-ran-sc-ru-alarms-v1 {
       "A generic alarm which is under development and analysis,
        must not happen in production environment.
        Instructions:
-         Create an JIRA issue and provide the following intormation:
+         Create an JIRA issue and provide the following information:
          - SMO version, build number or git hash
          - O-RU version, build number or git hash
          - A procedure to reproduce the alarm.";
index 1566ec9..409149b 100644 (file)
@@ -1,6 +1,6 @@
 module o-ran-sc-ru-v1 {
   yang-version 1.1;
-  namespace "urn:o-ran:sc:radio-unit:1.0";
+  namespace "urn:o-ran-sc:yang:o-ran-sc-ru-v1";
   prefix oru;
 
   import o-ran-sc-root-v1 {
@@ -18,7 +18,7 @@ module o-ran-sc-ru-v1 {
     "This module contains the O-RAN Software Community RadioUnit specific
      O1 interface APIs.
 
-     Copyright 2020 the O-RAN Alliance.
+     Copyright 2021 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.
@@ -32,6 +32,13 @@ module o-ran-sc-ru-v1 {
      See the License for the specific language governing permissions and
      limitations under the License.";
 
+  revision 2021-03-09 {
+    description
+      "The namespace was updated according to O-RAN-SC yang guidelines.
+       The namespace must end with the full module name.";
+    reference
+      "https://jira.o-ran-sc.org/browse/OAM-168";
+  }
   revision 2020-02-20 {
     description
       "initial revision";
@@ -55,6 +62,7 @@ module o-ran-sc-ru-v1 {
   }
 
   // Inherit from controlled-function
+
   augment "/root:controlled-element/root:controlled-function" {
     when "derived-from-or-self(./root:function-type, 'oru:o-ru')";
     uses o-ru-specific-grp;
index ffd81c4..49b084e 100644 (file)
@@ -1,6 +1,6 @@
 module o-ran-sc-TEMPLATE-v1 {
   yang-version 1.1;
-  namespace "urn:o-ran:sc:TEMPLATE:1.0";
+  namespace "urn:o-ran-sc:yang:o-ran-sc-TEMPLATE-v1";
   prefix template;
 
   import o-ran-sc-root-v1 {
@@ -18,7 +18,7 @@ module o-ran-sc-TEMPLATE-v1 {
     "This module shows how to add component specific artifacts to
      a common root module -> TEMPLATE.
 
-     Copyright 2020 the O-RAN Alliance.
+     Copyright 2021 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.
@@ -32,6 +32,13 @@ module o-ran-sc-TEMPLATE-v1 {
      See the License for the specific language governing permissions and
      limitations under the License.";
 
+  revision 2021-03-09 {
+    description
+      "The namespace was updated according to O-RAN-SC yang guidelines.
+       The namespace must end with the full module name.";
+    reference
+      "https://jira.o-ran-sc.org/browse/OAM-168";
+  }
   revision 2020-02-20 {
     description
       "initial revision";
@@ -55,6 +62,7 @@ module o-ran-sc-TEMPLATE-v1 {
   }
 
   // Inherit from controlled-function
+
   augment "/root:controlled-element/root:controlled-function" {
     when "derived-from-or-self(./root:function-type, 'template:template')";
     uses template-specific-grp;
index a55ed7c..1d9789f 100644 (file)
@@ -1,6 +1,6 @@
 module o-ran-sc-alarms-v1 {
   yang-version 1.1;
-  namespace "urn:o-ran:sc:alarms:1.0";
+  namespace "urn:o-ran-sc:yang:o-ran-sc-alarms-v1";
   prefix oal;
 
   import o-ran-sc-root-v1 {
@@ -17,10 +17,10 @@ module o-ran-sc-alarms-v1 {
   contact
     "www.o-ran-sc.org";
   description
-    "This module augements the  o-ran-sc-controlled-element and  
+    "This module augments the  o-ran-sc-controlled-element and
      o-ran-sc-controlled-function object by adding ietf-alarms.
 
-     Copyright 2020 the O-RAN Alliance.
+     Copyright 2021 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.
@@ -34,6 +34,13 @@ module o-ran-sc-alarms-v1 {
      See the License for the specific language governing permissions and
      limitations under the License.";
 
+  revision 2021-03-09 {
+    description
+      "The namespace was updated according to O-RAN-SC yang guidelines.
+       The namespace must end with the full module name.";
+    reference
+      "https://jira.o-ran-sc.org/browse/OAM-168";
+  }
   revision 2020-03-09 {
     description
       "initial revision";
@@ -78,21 +85,21 @@ module o-ran-sc-alarms-v1 {
           "The alarm qualifier for the related alarm.";
       }
     }
-    description 
+    description
       "A group adding ietf-alarm references.";
   }
 
   augment "/root:controlled-element" {
     uses alarms-grp;
     description
-      "An augmentation, which adds ietf-alarms 
+      "An augmentation, which adds ietf-alarms
        to root:controlled-element.";
   }
 
   augment "/root:controlled-element/root:controlled-function" {
     uses alarms-grp;
     description
-      "An augmentation, which adds ietf-alarms 
+      "An augmentation, which adds ietf-alarms
        to root:controlled-function.";
   }
 }
index 930bba3..f8bb5c7 100644 (file)
@@ -1,6 +1,6 @@
 module o-ran-sc-common-alarms-v1 {
   yang-version 1.1;
-  namespace "urn:o-ran-sc:alarms:1.0";
+  namespace "urn:o-ran-sc:yang:o-ran-sc-common-alarms-v1";
   prefix osc-al;
 
   import ietf-alarms {
@@ -14,7 +14,7 @@ module o-ran-sc-common-alarms-v1 {
   description
     "This module defines the alarm identities for the O-RAN-SC Components.
 
-     Copyright 2020 the O-RAN Software Community.
+     Copyright 2021 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.
@@ -28,6 +28,13 @@ module o-ran-sc-common-alarms-v1 {
      See the License for the specific language governing permissions and
      limitations under the License.";
 
+  revision 2021-03-09 {
+    description
+      "The namespace was updated according to O-RAN-SC yang guidelines.
+       The namespace must end with the full module name.";
+    reference
+      "https://jira.o-ran-sc.org/browse/OAM-168";
+  }
   revision 2020-01-18 {
     description
       "initial revision";
@@ -45,7 +52,7 @@ module o-ran-sc-common-alarms-v1 {
   identity smo-o1-ves-collector-not-reachable {
     base alarm-type-id;
     description
-      "The configured VES end-point for asynchron messages is not reachable.
+      "The configured VES end-point for asynchronous messages is not reachable.
        Instructions:
          1) Verify the VES configuration on the O-RAN component.
          2) Verify the connectivity between the O-RAN component and the
index fc08229..4277bc0 100644 (file)
@@ -1,6 +1,6 @@
 module o-ran-sc-hardware-v1 {
   yang-version 1.1;
-  namespace "urn:o-ran:sc:hardware:1.0";
+  namespace "urn:o-ran-sc:yang:o-ran-sc-hardware-v1";
   prefix ohw;
 
   import o-ran-sc-root-v1 {
@@ -17,10 +17,10 @@ module o-ran-sc-hardware-v1 {
   contact
     "www.o-ran-sc.org";
   description
-    "This module augements the  o-ran-sc-controlled-element and  
+    "This module augments the  o-ran-sc-controlled-element and
      o-ran-sc-controlled-function object by adding ietf-hardware.
 
-     Copyright 2020 the O-RAN Alliance.
+     Copyright 2021 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.
@@ -34,6 +34,13 @@ module o-ran-sc-hardware-v1 {
      See the License for the specific language governing permissions and
      limitations under the License.";
 
+  revision 2021-03-09 {
+    description
+      "The namespace was updated according to O-RAN-SC yang guidelines.
+       The namespace must end with the full module name.";
+    reference
+      "https://jira.o-ran-sc.org/browse/OAM-168";
+  }
   revision 2020-03-09 {
     description
       "initial revision";
@@ -42,7 +49,7 @@ module o-ran-sc-hardware-v1 {
   }
 
   /*
-   * Typedefs
+   * Type definitions
    */
 
   typedef hardware-ref {
@@ -59,13 +66,13 @@ module o-ran-sc-hardware-v1 {
    */
 
   grouping hardware-grp {
-    leaf-list hardware-reference  {
+    leaf-list hardware-reference {
       type hardware-ref;
       config false;
-      description 
+      description
         "A list of ietf-hardware references using the hardware name as key.";
     }
-    description 
+    description
       "A group adding ietf-hardware references.";
   }
 
@@ -76,14 +83,14 @@ module o-ran-sc-hardware-v1 {
   augment "/root:controlled-element" {
     uses hardware-grp;
     description
-      "An augmentation, which adds ietf-hardware 
+      "An augmentation, which adds ietf-hardware
        to root:controlled-element.";
   }
 
   augment "/root:controlled-element/root:controlled-function" {
     uses hardware-grp;
     description
-      "An augmentation, which adds ietf-hardware 
+      "An augmentation, which adds ietf-hardware
        to root:controlled-function.";
   }
 }
index 1e88d52..8a2810c 100644 (file)
@@ -1,6 +1,6 @@
 module o-ran-sc-interfaces-v1 {
   yang-version 1.1;
-  namespace "urn:o-ran:sc:interfaces:1.0";
+  namespace "urn:o-ran-sc:yang:o-ran-sc-interfaces-v1";
   prefix oif;
 
   import o-ran-sc-root-v1 {
@@ -17,10 +17,10 @@ module o-ran-sc-interfaces-v1 {
   contact
     "www.o-ran-sc.org";
   description
-    "This module augements the o-ran-sc-controlled-function object by adding
+    "This module augments the o-ran-sc-controlled-function object by adding
      ietf-interfaces.
 
-     Copyright 2020 the O-RAN Alliance.
+     Copyright 2021 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.
@@ -34,6 +34,13 @@ module o-ran-sc-interfaces-v1 {
      See the License for the specific language governing permissions and
      limitations under the License.";
 
+  revision 2021-03-09 {
+    description
+      "The namespace was updated according to O-RAN-SC yang guidelines.
+       The namespace must end with the full module name.";
+    reference
+      "https://jira.o-ran-sc.org/browse/OAM-168";
+  }
   revision 2020-03-09 {
     description
       "initial revision";
@@ -42,19 +49,20 @@ module o-ran-sc-interfaces-v1 {
   }
 
   grouping interfaces-grp {
-    leaf-list interface-reference  {
+    leaf-list interface-reference {
       type if:interface-ref;
       config false;
-      description 
+      description
         "A list of ietf-interfaces references using the interface name as key.";
     }
-    description 
+    description
       "A group adding ietf-interface references.";
   }
+
   augment "/root:controlled-element/root:controlled-function" {
     uses interfaces-grp;
     description
-      "An augmentation, which adds ietf-interfaces 
+      "An augmentation, which adds ietf-interfaces
        to root:controlled-function.";
   }
 }
index 1acd553..a536253 100644 (file)
@@ -1,6 +1,6 @@
 module o-ran-sc-root-v1 {
   yang-version 1.1;
-  namespace "urn:o-ran:sc:root:1.0";
+  namespace "urn:o-ran-sc:yang:o-ran-sc-root-v1";
   prefix or;
 
   import o-ran-sc-types-v1 {
@@ -20,7 +20,7 @@ module o-ran-sc-root-v1 {
     "This module defines the root controlled object classes for a
      disaggregated RAN.
 
-     Copyright 2020 the O-RAN Alliance.
+     Copyright 2021 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.
@@ -34,6 +34,13 @@ module o-ran-sc-root-v1 {
      See the License for the specific language governing permissions and
      limitations under the License.";
 
+  revision 2021-03-09 {
+    description
+      "The namespace was updated according to O-RAN-SC yang guidelines.
+       The namespace must end with the full module name.";
+    reference
+      "https://jira.o-ran-sc.org/browse/OAM-168";
+  }
   revision 2020-02-20 {
     description
       "initial revision";
@@ -47,8 +54,8 @@ module o-ran-sc-root-v1 {
     leaf authority-ref {
       type ot:sized-printable-string;
       description
-        "A name or indentifier referencing the authority to which is
-         responsable to create, modify or delete
+        "A name or identifier referencing the authority to which is
+         responsible to create, modify or delete
          the controlled identifier. ";
     }
     leaf identifer {
@@ -60,7 +67,7 @@ module o-ran-sc-root-v1 {
          object.";
     }
     description
-      "An object class specifiing an object identifier, which is caluculated
+      "An object class specifying an object identifier, which is calculated
        or generated by the consumer of the API..";
   }
 
index 5bf46d9..a26ebdd 100644 (file)
 module o-ran-sc-types-v1 {
-    yang-version 1.1;
-    namespace "urn:o-ran:sc:types:1.0";
-    prefix ot;
-
-    organization
-      "O-RAN Software Community";
-    contact
-      "www.o-ran-sc.org";
+  yang-version 1.1;
+  namespace "urn:o-ran-sc:yang:o-ran-sc-types-v1";
+  prefix ot;
+
+  organization
+    "O-RAN Software Community";
+  contact
+    "www.o-ran-sc.org";
+  description
+    "This module defines common type definitions related to O-RAN.
+
+     Copyright 2021 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 2021-03-09 {
     description
-      "This module defines common type definitions related to O-RAN.
-       
-       Copyright 2020 the O-RAN Alliance.
-       
-       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 2020-02-20 {
-        description
-          "initial revision";
-        reference
-          "O-RAN-OAM-Interface-Specification (O1)";
-    }
+      "The namespace was updated according to O-RAN-SC yang guidelines.
+       The namespace must end with the full module name.";
+    reference
+      "https://jira.o-ran-sc.org/browse/OAM-168";
+  }
+  revision 2020-02-20 {
+    description
+      "initial revision";
+    reference
+      "O-RAN-OAM-Interface-Specification (O1)";
+  }
 
-    // Identity
-    identity control-element-type {
-        description
-          "Base identity for the different and upcoming control-element types.";
-    }
+  // Identity
 
-    identity e-node-b {
-        base control-element-type;
-        description
-          "Indicates a control element representing an eNodeB.";
-        reference
-          "O-RAN OAM Architecture Specification";
-    }
+  identity control-element-type {
+    description
+      "Base identity for the different and upcoming control-element types.";
+  }
 
-    identity g-node-b {
-        base control-element-type;
-        description
-          "Indicates a managed element representing an gNodeB.";
-        reference
-          "O-RAN OAM Architecture Specification";
-    }
+  identity e-node-b {
+    base control-element-type;
+    description
+      "Indicates a control element representing an eNodeB.";
+    reference
+      "O-RAN OAM Architecture Specification";
+  }
 
-    identity control-function-type {
-        description
-          "Base identity for the different and upcoming control-function types.";
-    }
+  identity g-node-b {
+    base control-element-type;
+    description
+      "Indicates a managed element representing an gNodeB.";
+    reference
+      "O-RAN OAM Architecture Specification";
+  }
 
-    // administrative-state
-    identity administrative-state {
-        description
-          "The administrative state is used to show whether use of a resource
-           is allowed or prohibited.
-           The administrative state can be observed and directly controlled by
-           certain operational roles.
-           Typically, only a user in the provider context with administrative
-           privileges is allowed to write the administrative state,
-           any other users are restricted to read only.";
-        reference
-          "ftp://www.3gpp.org/tsg_ran/WG3_Iu/TSGR3_07/Docs/Pdfs/R3-99b77.PDF";
-    }
+  identity control-function-type {
+    description
+      "Base identity for the different and upcoming control-function types.";
+  }
 
-    identity administrative-state-locked {
-        base administrative-state;
-        description
-          "Users are administratively prohibited from making use of the
-           resource.";
-    }
+  // administrative-state
 
-    identity administrative-state-unlocked {
-        base administrative-state;
-        description
-          "Users are allowed to use the resource.";
-    }
+  identity administrative-state {
+    description
+      "The administrative state is used to show whether use of a resource
+       is allowed or prohibited.
+       The administrative state can be observed and directly controlled by
+       certain operational roles.
+       Typically, only a user in the provider context with administrative
+       privileges is allowed to write the administrative state,
+       any other users are restricted to read only.";
+    reference
+      "ftp://www.3gpp.org/tsg_ran/WG3_Iu/TSGR3_07/Docs/Pdfs/R3-99b77.PDF";
+  }
 
-    identity administrative-state-shutting-down {
-        base administrative-state;
-        description
-          "The entity is administratively restricted to existing instances of
-           use only. There may be specific actions to remove existing uses.
-           No new instances of use can be enabled.
-           The resource automatically transitions to “locked” when the last
-           user quits.
-           The administrative state is not visible in the client context.
-           The life cycle state “pending removal” should be used to indicate to
-           the client that the provider intends to remove the resource.";
-    }
+  identity administrative-state-locked {
+    base administrative-state;
+    description
+      "Users are administratively prohibited from making use of the
+       resource.";
+  }
 
-    // administrative-control
-    identity administrative-control {
-        description
-          "Reflects the current control action when the entity is not in the
-           desired state.";
-    }
+  identity administrative-state-unlocked {
+    base administrative-state;
+    description
+      "Users are allowed to use the resource.";
+  }
 
-    identity administrative-control-unlock {
-        base administrative-control;
-        description
-          "The intention is for the entity to become unlocked.
-           The entity may already be UNLOCKED.";
-    }
+  identity administrative-state-shutting-down {
+    base administrative-state;
+    description
+      "The entity is administratively restricted to existing instances of
+       use only. There may be specific actions to remove existing uses.
+       No new instances of use can be enabled.
+       The resource automatically transitions to “locked” when the last
+       user quits.
+       The administrative state is not visible in the client context.
+       The life cycle state “pending removal” should be used to indicate to
+       the client that the provider intends to remove the resource.";
+  }
 
-    identity administrative-control-lock-passive {
-        base administrative-control;
-        description
-          "The intention is for the entity to become locked but no effort is
-           expected to move to the Locked state (the state will be achieved once
-           all users stop using the resource).
-           The entity may be LOCKED.";
-    }
+  // administrative-control
 
-    identity administrative-control-lock-active {
-        base administrative-control;
-        description
-          "The intention is for the entity to become locked and it is expected
-           that effort will be made to move to the Locked state (users will be
-           actively removed).
-           The entity may already be LOCKED.";
-    }
+  identity administrative-control {
+    description
+      "Reflects the current control action when the entity is not in the
+       desired state.";
+  }
 
-    identity administrative-control-lock-immediate {
-        base administrative-control;
-        description
-          "The intention is for the entity to become locked and it is expected
-           to move to the Locked state immediately (users will be force removed).
-           The entity may already be LOCKED.";
-    }
+  identity administrative-control-unlock {
+    base administrative-control;
+    description
+      "The intention is for the entity to become unlocked.
+       The entity may already be UNLOCKED.";
+  }
 
-    identity administrative-control-quiescent {
-        base administrative-control;
-        description
-          "The administrative state is at a stable value (LOCKED/UNLOCKED) and
-           no action is being taken.";
-    }
+  identity administrative-control-lock-passive {
+    base administrative-control;
+    description
+      "The intention is for the entity to become locked but no effort is
+       expected to move to the Locked state (the state will be achieved once
+       all users stop using the resource).
+       The entity may be LOCKED.";
+  }
 
-    // operational-state
-    identity operational-state {
-        description
-          "The operational state base identity to be used to indicate whether
-           or not the resource is installed and working.";
-        reference
-          "https://www.3gpp.org/ftp/tsg_ran/WG3_Iu/TSGR3_06/Docs/Pdfs/r3-99994.pdf";
-    }
+  identity administrative-control-lock-active {
+    base administrative-control;
+    description
+      "The intention is for the entity to become locked and it is expected
+       that effort will be made to move to the Locked state (users will be
+       actively removed).
+       The entity may already be LOCKED.";
+  }
 
-    identity operational-state-disabled {
-        base operational-state;
-        description
-          "The resource is unable to meet the SLA of the user of the resource.
-           If no (explicit) SLA is defined the resource is disabled if it is
-           totally inoperable and unable to provide service to the user.";
-    }
+  identity administrative-control-lock-immediate {
+    base administrative-control;
+    description
+      "The intention is for the entity to become locked and it is expected
+       to move to the Locked state immediately (users will be force removed).
+       The entity may already be LOCKED.";
+  }
 
-    identity operational-state-enabled {
-        base operational-state;
-        description
-          "The resource is partially or fully operable and available for use.";
-    }
+  identity administrative-control-quiescent {
+    base administrative-control;
+    description
+      "The administrative state is at a stable value (LOCKED/UNLOCKED) and
+       no action is being taken.";
+  }
 
-    identity lifecycle-state {
-        description
-          "This state is used to track the planned deployment, allocation to
-           clients and withdrawal of resources.";
-    }
+  // operational-state
 
-    identity lifecycle-state-planned {
-        base lifecycle-state;
-        description
-          "The resource is planned but is not present in the network.
-           Should include a 'time' when the resources are expected to be
-           installed.";
-    }
+  identity operational-state {
+    description
+      "The operational state base identity to be used to indicate whether
+       or not the resource is installed and working.";
+    reference
+      "https://www.3gpp.org/ftp/tsg_ran/WG3_Iu/TSGR3_06/Docs/Pdfs/r3-99994.pdf";
+  }
 
-    identity lifecycle-state-potential-available {
-        base lifecycle-state;
-        description
-          "The supporting resources are present in the network but are shared
-           with other clients; or require further configuration before they can
-           be used; or both.
-           (1) When a potential resource is configured and allocated to a
-               client it is moved to the INSTALLED state for that client.
-           (2) If the potential resource has been consumed (e.g. allocated to
-               another client) it is moved to the POTENTIAL BUSY state for all
-               other clients.";
-    }
+  identity operational-state-disabled {
+    base operational-state;
+    description
+      "The resource is unable to meet the SLA of the user of the resource.
+       If no (explicit) SLA is defined the resource is disabled if it is
+       totally inoperable and unable to provide service to the user.";
+  }
 
-    identity lifecycle-state-potential-busy {
-        base lifecycle-state;
-        description
-          "The supporting resources are present in the network but have been
-           allocated to other clients.";
-    }
+  identity operational-state-enabled {
+    base operational-state;
+    description
+      "The resource is partially or fully operable and available for use.";
+  }
 
-    identity lifecycle-state-installed {
-        base lifecycle-state;
-        description
-          "The resource is present in the network and is capable of providing
-           the service.";
-    }
+  identity lifecycle-state {
+    description
+      "This state is used to track the planned deployment, allocation to
+       clients and withdrawal of resources.";
+  }
 
-    identity lifecycle-state-pending-removal {
-        base lifecycle-state;
-        description
-          "The resource has been marked for removal. Should include a 'time'
-           when the resources are expected to be removed.";
-    }
+  identity lifecycle-state-planned {
+    base lifecycle-state;
+    description
+      "The resource is planned but is not present in the network.
+       Should include a 'time' when the resources are expected to be
+       installed.";
+  }
+
+  identity lifecycle-state-potential-available {
+    base lifecycle-state;
+    description
+      "The supporting resources are present in the network but are shared
+       with other clients; or require further configuration before they can
+       be used; or both.
+       (1) When a potential resource is configured and allocated to a
+           client it is moved to the INSTALLED state for that client.
+       (2) If the potential resource has been consumed (e.g. allocated to
+           another client) it is moved to the POTENTIAL BUSY state for all
+           other clients.";
+  }
+
+  identity lifecycle-state-potential-busy {
+    base lifecycle-state;
+    description
+      "The supporting resources are present in the network but have been
+       allocated to other clients.";
+  }
 
-    // Type definitions
-    typedef e2ap-protocol-type {
-        // TODO switch to identity
-        type enumeration {
-            enum not-specified {
-                description
-                  "None";
-            }
-            enum x2-setup-request {
-                description
-                  "X2 setup request";
-            }
-            enum endc-x2-setup-request {
-                description
-                  "ENDC X2 setup request";
-            }
-        }
+  identity lifecycle-state-installed {
+    base lifecycle-state;
+    description
+      "The resource is present in the network and is capable of providing
+       the service.";
+  }
+
+  identity lifecycle-state-pending-removal {
+    base lifecycle-state;
+    description
+      "The resource has been marked for removal. Should include a 'time'
+       when the resources are expected to be removed.";
+  }
+
+  // Type definitions
+
+  typedef e2ap-protocol-type {
+    // TODO switch to identity
+    type enumeration {
+      enum not-specified {
+        description
+          "None";
+      }
+      enum x2-setup-request {
         description
-          "The E2AP protocol setup types";
+          "X2 setup request";
+      }
+      enum endc-x2-setup-request {
+        description
+          "ENDC X2 setup request";
+      }
     }
+    description
+      "The E2AP protocol setup types";
+  }
 
-    typedef connection-status-type {
-        // TODO swtitch to identity
-        type enumeration {
-            enum not-specified {
-                description
-                  "None";
-            }
-            enum connected {
-                description
-                  "Connected";
-            }
-            enum connecting {
-                description
-                  "Connecting";
-            }
-            enum disconnected {
-                description
-                  "Disconnected";
-            }
-            enum setup-failed {
-                description
-                  "Setup failed";
-            }
-            enum shutting-down {
-                description
-                  "Shutting down";
-            }
-            enum shutdown {
-                description
-                  "Shutdown";
-            }
-        }
+  typedef connection-status-type {
+    // TODO switch to identity
+    type enumeration {
+      enum not-specified {
+        description
+          "None";
+      }
+      enum connected {
+        description
+          "Connected";
+      }
+      enum connecting {
+        description
+          "Connecting";
+      }
+      enum disconnected {
+        description
+          "Disconnected";
+      }
+      enum setup-failed {
         description
-          "The connection status of gNB";
+          "Setup failed";
+      }
+      enum shutting-down {
+        description
+          "Shutting down";
+      }
+      enum shutdown {
+        description
+          "Shutdown";
+      }
     }
+    description
+      "The connection status of gNB";
+  }
 
-    typedef sized-printable-string {
-        type string {
-            length "1..63";
-            pattern
-              '[\\x20-\\x7E]';
-        }
-        description
-          "A string of printable ASCII characters with a size of
-           1 to 64 characters.";
+  typedef sized-printable-string {
+    type string {
+      length "1..63";
+      pattern '[\\x20-\\x7E]';
     }
+    description
+      "A string of printable ASCII characters with a size of
+       1 to 64 characters.";
+  }
 }