X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?p=sim%2Fo1-interface.git;a=blobdiff_plain;f=ntsimulator%2Fdeploy%2Fo-ran-ru-fh%2Fyang%2Fo-ran-supervision.yang;fp=ntsimulator%2Fdeploy%2Fo-ran-ru-fh%2Fyang%2Fo-ran-supervision%402020-12-10.yang;h=e80b1f8059eea6aa4b921e31d279b5d25ab17e5b;hp=4956f9b1084924f12cd7c33aee307082a62bbda0;hb=75385b2047f59353e3630e93736ddb6c9efa11bb;hpb=aa35a8ecece6592d35971150ee909f7044396bbe diff --git a/ntsimulator/deploy/o-ran-ru-fh/yang/o-ran-supervision@2020-12-10.yang b/ntsimulator/deploy/o-ran-ru-fh/yang/o-ran-supervision.yang similarity index 55% rename from ntsimulator/deploy/o-ran-ru-fh/yang/o-ran-supervision@2020-12-10.yang rename to ntsimulator/deploy/o-ran-ru-fh/yang/o-ran-supervision.yang index 4956f9b..e80b1f8 100644 --- a/ntsimulator/deploy/o-ran-ru-fh/yang/o-ran-supervision@2020-12-10.yang +++ b/ntsimulator/deploy/o-ran-ru-fh/yang/o-ran-supervision.yang @@ -14,7 +14,15 @@ module o-ran-supervision { import ietf-inet-types { prefix "inet"; } - + import ietf-netconf-monitoring { + prefix ncm; + } + + + import o-ran-usermgmt { + prefix "or-user"; + } + organization "O-RAN Alliance"; contact @@ -24,7 +32,7 @@ module o-ran-supervision { "This module defines the configuration data and supervision RPCs that are used to detect loss M-Plane connectivity. - Copyright 2020 the O-RAN Alliance. + Copyright 2021 the O-RAN Alliance. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE @@ -50,6 +58,43 @@ module o-ran-supervision { contributors may be used to endorse or promote products derived from this software without specific prior written permission."; + revision "2022-12-05" { + description + "version 11.0.0 + + 1) NETCONF session supervison with session id"; + + reference "ORAN-WG4.M.0-v11.00"; + } + + revision "2022-08-15" { + description + "version 10.0.0 + + 1) introduced SHARED-ORU-MULTI-ODU and SHARED-ORU-MULTI-OPERATOR features."; + + reference "ORAN-WG4.M.0-v10.00"; + } + + revision "2021-12-01" { + description + "version 5.2.0 + + 1) typographical corrections in descriptions."; + + reference "ORAN-WG4.M.0-v05.00"; + } + + revision "2021-03-22" { + description + "version 5.1.0 + + 1) typographical corrections in descriptions. + 2) removed non-ACSII characters."; + + reference "ORAN-WG4.M.0-v05.00"; + } + revision "2020-12-10" { description "version 5.0.0 @@ -90,6 +135,9 @@ module o-ran-supervision { reference "ORAN-WG4.M.0-v01.00"; } + + + typedef event-collector-id { type union { type inet:ip-address; @@ -99,6 +147,7 @@ module o-ran-supervision { } grouping watchdog-input { + description "a watchdog input grouping"; leaf supervision-notification-interval { type uint16; units seconds; @@ -113,29 +162,31 @@ module o-ran-supervision { default 10; description "This is overhead added to the supervision timer used to calculate the - supervision wathcdog timer. i.e., + supervision watchdog timer. i.e., supervision timer = notification timer + guard-timer-overhead If not specified the default value of 10 seconds shall apply. - Failure to send this rpc again within the timeout sets the radio into + Failure to send this RPC again within the timeout sets the radio into 'loss of supervision' state. - NOTE - The supervision timer MUST not be less that the confimed + NOTE - The supervision timer MUST not be less that the confirmed timeout timer (when the feature is supported). - This type of constraint (using an RPCs input) cannot be formally + This type of constraint (using an RPC's input) cannot be formally expressed in YANG."; } } grouping watchdog-output { + description "a watchdog output grouping"; leaf next-update-at { type yang:date-and-time; description "Indicates the time when the next supervision notification is expected."; } + leaf error-message { type string; @@ -149,19 +200,36 @@ module o-ran-supervision { } } + grouping supervision-notification-data { + description "a supervision notification data grouping"; + leaf session-id { + if-feature or-feat:SUPERVISION-WITH-SESSION-ID; + type leafref { + path "/ncm:netconf-state/ncm:sessions/ncm:session/ncm:session-id"; + } + mandatory true; + description + "This value uniquely identifies the NETCONF session in an O-RU. The value is conveyed to NETCONF client in hello message. + the session-id for the netconf session is sent as part of each supervision-notification notification. + and may be used for create-subscription to filter the relevant + notifications"; + } + } + grouping supervision-group { + description "a supervision grouping"; container cu-plane-monitoring { - description "container describing operation of CU plane monitoring"; presence "Indicates O-RU supports timer based cu-plane monitoring interval. If - this container is NOT present, the opertaion of the O-RU is undefined."; + this container is NOT present, the operation of the O-RU is undefined."; + description "container describing operation of CU plane monitoring"; leaf configured-cu-monitoring-interval { type uint8 { range "0..160"; } - default 160; units milliseconds; + default 160; description "This value corresponds to the configured value of the timer used by the O-RU to monitor the C/U plane connection. @@ -173,10 +241,10 @@ module o-ran-supervision { configuration of the PHY layer and/or C/U plane section types supported and/or any fault tolerant operation. For example, - i) when opertaing with an O-DU supporting non-LAA LTE, this value can + i) when operating with an O-DU supporting non-LAA LTE, this value can be configured to a value according to the repetition time of transmitted reference symbols across the fronthaul interface - ii) when opertaing with an O-DU supporting C-Plane Section Type 0, + ii) when operating with an O-DU supporting C-Plane Section Type 0, this value can configured to a value according to the minimum repetition interval of section type 0. iii) when operating with an O-DU supporting fault tolerant operation, @@ -190,8 +258,8 @@ module o-ran-supervision { leaf heartbeat-interval { type uint8; - default 60; units seconds; + default 60; description "the heartbeat interval"; } @@ -201,9 +269,50 @@ module o-ran-supervision { "A configured Event collector identity, to which the O-RU shall send heartbeat notifications"; } } + container per-odu-monitoring { + if-feature "or-feat:SHARED-ORU-MULTI-ODU or or-feat:SHARED-ORU-MULTI-OPERATOR"; + presence + "Indicates at least one of the O-RU Controllers intends to operate per O-DU supervision."; + description "container describing per-odu monitoring parameters"; + + list odu-ids { + if-feature or-feat:SHARED-ORU-MULTI-ODU; + key odu-id; + description + "an optional list of o-du identities that an O-RU controller intends to use with per + O-DU supervision in a single operator envrionment. The odu-id values are used to match + values received in the supervision-watchdog-reset rpc together with values configured in + o-ran-uplane-conf based configuration. + The O-RU does not further interpret the specific value of odu-id."; + leaf odu-id { + type string; + description "an o-du identity "; + } + } + + list sro-ids-and-odu-ids { + if-feature "or-feat:SHARED-ORU-MULTI-ODU and or-feat:SHARED-ORU-MULTI-OPERATOR"; + key "odu-id sro-id"; + description + "an optional list of sro and o-du identities that an O-RU controller intends to use with per + O-DU supervision in a multi-operator envrionment. The sro-id and odu-id values are used to match + values received in the supervision-watchdog-reset rpc together with values configured in + o-ran-uplane-conf based configuration. + The O-RU does not further interpret the specific value of sro-id or odu-id."; + leaf odu-id { + type string; + description "an o-du identity "; + } + leaf sro-id { + type string; + description "an sro identity "; + } + } + } } container supervision { + description "top leval supervision container"; uses supervision-group; // other WG specific monitoring containers follow here } @@ -213,16 +322,49 @@ module o-ran-supervision { "rpc to reset the watchdog timer"; input { uses watchdog-input; + + container context { + if-feature "or-feat:SHARED-ORU-MULTI-ODU or or-feat:SHARED-ORU-MULTI-OPERATOR"; + description + "an optional container that defines the context associated with the + watchdog reset. Context can be used in supervision operations with + multiple O-DUs"; + + leaf odu-id { + if-feature or-feat:SHARED-ORU-MULTI-ODU; + type string; + description + "an optional o-du identity associated with this + supervision watchdog operation. If an odu-id received is not configured + in the list of tx-array-carriers or list of rx-array carriers, this leaf is ignored. + When it does correspond to an odu-id listed in tx-array-carriers and/or + rx-array-carriers, the odu-id is used in the operatrion of per O-DU supervision."; + } + + leaf sro-id { + if-feature or-feat:SHARED-ORU-MULTI-OPERATOR; + type leafref { + path "/or-user:users/or-user:user/or-user:sro-id"; + } + description + "The shared resource identity associated with the current NETCONF session. + A supervision-watchdog-reset RPC received from NETCONF client + with user-group privileges of 'carrier' MUST be rejected + if it is received without a sro-id leaf. + In other scenarios, this leaf is optional and ignored by the O-RU."; + } + } } - output { + output { uses watchdog-output; - } + } } notification supervision-notification { description "Notification to indicate that NETCONF management interface is up."; + uses supervision-notification-data; } }