From 721c2220ae37136b8d62533c5ba31d4f2bd409d8 Mon Sep 17 00:00:00 2001 From: demx8as6 Date: Sun, 14 Mar 2021 17:10:52 +0100 Subject: [PATCH] Update namespaces according to RFC8515 The existing o-ran-sc yang models follow now this format "urn:o-ran-sc:yang:" IssueID: OAM-168 Change-Id: I8e2d720b816a228122f24547337050622756d480 Signed-off-by: demx8as6 --- .../near-rt-ric/o-ran-sc-ric-alarms-v1.yang | 12 +- .../near-rt-ric/o-ran-sc-ric-gnb-status-v1.yang | 216 ++++----- .../near-rt-ric/o-ran-sc-ric-ueec-config-v1.yang | 192 ++++---- .../near-rt-ric/o-ran-sc-ric-xapp-desc-v1.yang | 192 ++++---- .../o-ran-cu-cp/o-ran-sc-cu-cp-alarms-v1.yang | 13 +- .../o-ran-sc/o-ran-cu-cp/o-ran-sc-cu-cp-v1.yang | 12 +- .../o-ran-cu-up/o-ran-sc-cu-up-alarms-v1.yang | 13 +- .../o-ran-sc/o-ran-cu-up/o-ran-sc-cu-up-v1.yang | 14 +- .../o-ran-sc/o-ran-du/o-ran-sc-du-alarms-v1.yang | 147 +++--- .../working/o-ran-sc/o-ran-du/o-ran-sc-du-v1.yang | 12 +- .../o-ran-sc/o-ran-ru/o-ran-sc-ru-alarms-v1.yang | 13 +- .../working/o-ran-sc/o-ran-ru/o-ran-sc-ru-v1.yang | 12 +- .../o-ran-sc/template/o-ran-sc-TEMPLATE-v1.yang | 12 +- .../o-ran-sc/template/o-ran-sc-alarms-v1.yang | 19 +- .../template/o-ran-sc-common-alarms-v1.yang | 13 +- .../o-ran-sc/template/o-ran-sc-hardware-v1.yang | 25 +- .../o-ran-sc/template/o-ran-sc-interfaces-v1.yang | 22 +- .../o-ran-sc/template/o-ran-sc-root-v1.yang | 17 +- .../o-ran-sc/template/o-ran-sc-types-v1.yang | 515 +++++++++++---------- 19 files changed, 804 insertions(+), 667 deletions(-) diff --git a/data-model/yang/working/o-ran-sc/near-rt-ric/o-ran-sc-ric-alarms-v1.yang b/data-model/yang/working/o-ran-sc/near-rt-ric/o-ran-sc-ric-alarms-v1.yang index a6089c2..35f35f7 100644 --- a/data-model/yang/working/o-ran-sc/near-rt-ric/o-ran-sc-ric-alarms-v1.yang +++ b/data-model/yang/working/o-ran-sc/near-rt-ric/o-ran-sc-ric-alarms-v1.yang @@ -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 diff --git a/data-model/yang/working/o-ran-sc/near-rt-ric/o-ran-sc-ric-gnb-status-v1.yang b/data-model/yang/working/o-ran-sc/near-rt-ric/o-ran-sc-ric-gnb-status-v1.yang index 2fefaf2..e8c2e9a 100644 --- a/data-model/yang/working/o-ran-sc/near-rt-ric/o-ran-sc-ric-gnb-status-v1.yang +++ b/data-model/yang/working/o-ran-sc/near-rt-ric/o-ran-sc-ric-gnb-status-v1.yang @@ -1,122 +1,122 @@ 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."; + } } diff --git a/data-model/yang/working/o-ran-sc/near-rt-ric/o-ran-sc-ric-ueec-config-v1.yang b/data-model/yang/working/o-ran-sc/near-rt-ric/o-ran-sc-ric-ueec-config-v1.yang index 4fae3a7..c39bfba 100644 --- a/data-model/yang/working/o-ran-sc/near-rt-ric/o-ran-sc-ric-ueec-config-v1.yang +++ b/data-model/yang/working/o-ran-sc/near-rt-ric/o-ran-sc-ric-ueec-config-v1.yang @@ -1,106 +1,114 @@ 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."; + } +} diff --git a/data-model/yang/working/o-ran-sc/near-rt-ric/o-ran-sc-ric-xapp-desc-v1.yang b/data-model/yang/working/o-ran-sc/near-rt-ric/o-ran-sc-ric-xapp-desc-v1.yang index 9e53578..2850150 100644 --- a/data-model/yang/working/o-ran-sc/near-rt-ric/o-ran-sc-ric-xapp-desc-v1.yang +++ b/data-model/yang/working/o-ran-sc/near-rt-ric/o-ran-sc-ric-xapp-desc-v1.yang @@ -1,105 +1,115 @@ 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."; + } +} diff --git a/data-model/yang/working/o-ran-sc/o-ran-cu-cp/o-ran-sc-cu-cp-alarms-v1.yang b/data-model/yang/working/o-ran-sc/o-ran-cu-cp/o-ran-sc-cu-cp-alarms-v1.yang index e29ff2d..2d86b34 100644 --- a/data-model/yang/working/o-ran-sc/o-ran-cu-cp/o-ran-sc-cu-cp-alarms-v1.yang +++ b/data-model/yang/working/o-ran-sc/o-ran-cu-cp/o-ran-sc-cu-cp-alarms-v1.yang @@ -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."; diff --git a/data-model/yang/working/o-ran-sc/o-ran-cu-cp/o-ran-sc-cu-cp-v1.yang b/data-model/yang/working/o-ran-sc/o-ran-cu-cp/o-ran-sc-cu-cp-v1.yang index 27d9833..e8d30d5 100644 --- a/data-model/yang/working/o-ran-sc/o-ran-cu-cp/o-ran-sc-cu-cp-v1.yang +++ b/data-model/yang/working/o-ran-sc/o-ran-cu-cp/o-ran-sc-cu-cp-v1.yang @@ -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; diff --git a/data-model/yang/working/o-ran-sc/o-ran-cu-up/o-ran-sc-cu-up-alarms-v1.yang b/data-model/yang/working/o-ran-sc/o-ran-cu-up/o-ran-sc-cu-up-alarms-v1.yang index 020103f..5fee029 100644 --- a/data-model/yang/working/o-ran-sc/o-ran-cu-up/o-ran-sc-cu-up-alarms-v1.yang +++ b/data-model/yang/working/o-ran-sc/o-ran-cu-up/o-ran-sc-cu-up-alarms-v1.yang @@ -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."; diff --git a/data-model/yang/working/o-ran-sc/o-ran-cu-up/o-ran-sc-cu-up-v1.yang b/data-model/yang/working/o-ran-sc/o-ran-cu-up/o-ran-sc-cu-up-v1.yang index 9f6aee6..9544e7f 100644 --- a/data-model/yang/working/o-ran-sc/o-ran-cu-up/o-ran-sc-cu-up-v1.yang +++ b/data-model/yang/working/o-ran-sc/o-ran-cu-up/o-ran-sc-cu-up-v1.yang @@ -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; diff --git a/data-model/yang/working/o-ran-sc/o-ran-du/o-ran-sc-du-alarms-v1.yang b/data-model/yang/working/o-ran-sc/o-ran-du/o-ran-sc-du-alarms-v1.yang index e19c245..53ac683 100644 --- a/data-model/yang/working/o-ran-sc/o-ran-du/o-ran-sc-du-alarms-v1.yang +++ b/data-model/yang/working/o-ran-sc/o-ran-du/o-ran-sc-du-alarms-v1.yang @@ -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."; + } +} diff --git a/data-model/yang/working/o-ran-sc/o-ran-du/o-ran-sc-du-v1.yang b/data-model/yang/working/o-ran-sc/o-ran-du/o-ran-sc-du-v1.yang index bbcab1f..eb0d30b 100644 --- a/data-model/yang/working/o-ran-sc/o-ran-du/o-ran-sc-du-v1.yang +++ b/data-model/yang/working/o-ran-sc/o-ran-du/o-ran-sc-du-v1.yang @@ -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; diff --git a/data-model/yang/working/o-ran-sc/o-ran-ru/o-ran-sc-ru-alarms-v1.yang b/data-model/yang/working/o-ran-sc/o-ran-ru/o-ran-sc-ru-alarms-v1.yang index c52414d..dc18c96 100644 --- a/data-model/yang/working/o-ran-sc/o-ran-ru/o-ran-sc-ru-alarms-v1.yang +++ b/data-model/yang/working/o-ran-sc/o-ran-ru/o-ran-sc-ru-alarms-v1.yang @@ -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."; diff --git a/data-model/yang/working/o-ran-sc/o-ran-ru/o-ran-sc-ru-v1.yang b/data-model/yang/working/o-ran-sc/o-ran-ru/o-ran-sc-ru-v1.yang index 1566ec9..409149b 100644 --- a/data-model/yang/working/o-ran-sc/o-ran-ru/o-ran-sc-ru-v1.yang +++ b/data-model/yang/working/o-ran-sc/o-ran-ru/o-ran-sc-ru-v1.yang @@ -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; diff --git a/data-model/yang/working/o-ran-sc/template/o-ran-sc-TEMPLATE-v1.yang b/data-model/yang/working/o-ran-sc/template/o-ran-sc-TEMPLATE-v1.yang index ffd81c4..49b084e 100644 --- a/data-model/yang/working/o-ran-sc/template/o-ran-sc-TEMPLATE-v1.yang +++ b/data-model/yang/working/o-ran-sc/template/o-ran-sc-TEMPLATE-v1.yang @@ -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; diff --git a/data-model/yang/working/o-ran-sc/template/o-ran-sc-alarms-v1.yang b/data-model/yang/working/o-ran-sc/template/o-ran-sc-alarms-v1.yang index a55ed7c..1d9789f 100644 --- a/data-model/yang/working/o-ran-sc/template/o-ran-sc-alarms-v1.yang +++ b/data-model/yang/working/o-ran-sc/template/o-ran-sc-alarms-v1.yang @@ -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."; } } diff --git a/data-model/yang/working/o-ran-sc/template/o-ran-sc-common-alarms-v1.yang b/data-model/yang/working/o-ran-sc/template/o-ran-sc-common-alarms-v1.yang index 930bba3..f8bb5c7 100644 --- a/data-model/yang/working/o-ran-sc/template/o-ran-sc-common-alarms-v1.yang +++ b/data-model/yang/working/o-ran-sc/template/o-ran-sc-common-alarms-v1.yang @@ -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 diff --git a/data-model/yang/working/o-ran-sc/template/o-ran-sc-hardware-v1.yang b/data-model/yang/working/o-ran-sc/template/o-ran-sc-hardware-v1.yang index fc08229..4277bc0 100644 --- a/data-model/yang/working/o-ran-sc/template/o-ran-sc-hardware-v1.yang +++ b/data-model/yang/working/o-ran-sc/template/o-ran-sc-hardware-v1.yang @@ -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."; } } diff --git a/data-model/yang/working/o-ran-sc/template/o-ran-sc-interfaces-v1.yang b/data-model/yang/working/o-ran-sc/template/o-ran-sc-interfaces-v1.yang index 1e88d52..8a2810c 100644 --- a/data-model/yang/working/o-ran-sc/template/o-ran-sc-interfaces-v1.yang +++ b/data-model/yang/working/o-ran-sc/template/o-ran-sc-interfaces-v1.yang @@ -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."; } } diff --git a/data-model/yang/working/o-ran-sc/template/o-ran-sc-root-v1.yang b/data-model/yang/working/o-ran-sc/template/o-ran-sc-root-v1.yang index 1acd553..a536253 100644 --- a/data-model/yang/working/o-ran-sc/template/o-ran-sc-root-v1.yang +++ b/data-model/yang/working/o-ran-sc/template/o-ran-sc-root-v1.yang @@ -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.."; } diff --git a/data-model/yang/working/o-ran-sc/template/o-ran-sc-types-v1.yang b/data-model/yang/working/o-ran-sc/template/o-ran-sc-types-v1.yang index 5bf46d9..a26ebdd 100644 --- a/data-model/yang/working/o-ran-sc/template/o-ran-sc-types-v1.yang +++ b/data-model/yang/working/o-ran-sc/template/o-ran-sc-types-v1.yang @@ -1,286 +1,297 @@ 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."; + } } -- 2.16.6