This module contains a collection of YANG definitions for supporting the Broadband Forum requirements on the general availabilit...
Version: 2022-03-01
module bbf-availability { yang-version 1.1; namespace "urn:bbf:yang:bbf-availability"; prefix bbf-avail; organization "Broadband Forum <https://www.broadband-forum.org> Common YANG Work Area"; contact "Comments or questions about this Broadband Forum YANG module should be directed to <mailto:help@broadband-forum.org>. Editor: Nick Hancock, ADTRAN Editor: Ludwig Pauwels, Nokia PS Leader: Joey Boyd, ADTRAN WA Director: Joey Boyd, ADTRAN WA Director: Sven Ooghe, Nokia"; description "This module contains a collection of YANG definitions for supporting the Broadband Forum requirements on the general availability of specific resources as applicable to access network equipment. As such, this module is specific to access network equipment (e.g., BBF-specified Access Nodes and FTTdp DPUs). Copyright (c) 2017-2022, Broadband Forum Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. The above license is used as a license under copyright only. Please reference the Forum IPR Policy for patent licensing terms <https://www.broadband-forum.org/ipr-policy>. Any moral rights which are necessary to exercise under the above license grant are also deemed granted under this license. This version of this YANG module is part of TR-383a5; see the TR itself for full legal notices."; revision "2022-03-01" { description "Amendment 5. * Approval Date: 2022-03-01. * Publication Date: 2022-03-01."; reference "TR-383a5: Common YANG Modules <https://www.broadband-forum.org/technical/download/ TR-383_Amendment-5.pdf>"; } revision "2020-10-13" { description "Amendment 3. * Approval Date: 2020-10-13. * Publication Date: 2020-10-13."; reference "TR-383a3: Common YANG Modules <https://www.broadband-forum.org/technical/download/ TR-383_Amendment-3.pdf>"; } revision "2018-07-13" { description "Amendment 1. * Approval Date: 2018-06-04. * Publication Date: see revision date above."; reference "TR-383: Common YANG Modules <https://www.broadband-forum.org/technical/download/ TR-383_Amendment-1.pdf>"; } feature availability { description "Indicates support for retrieving availability of resources."; } identity issue-tag { description "The base identity for issue tags to enable categorizing types issues which affect the availability of resources."; } identity hardware-fault { base bbf-avail:issue-tag; description "The resource has an hardware fault that prevents it from operating."; } identity peer-not-reachable { base bbf-avail:issue-tag; description "A peer resource for which the resource inter-operates is not reachable."; } identity feature-not-supported { base bbf-avail:issue-tag; description "A feature which the resource needs to provide the required service is not supported on the device which has to provide the service."; } identity invalid-configuration { base bbf-avail:issue-tag; description "The current configuration is not valid for some reason."; } identity unknown { base bbf-avail:issue-tag; description "The type of issue which is affecting the availability of resources is unknown."; } typedef availability-status { type bits { bit in-test { position 0; description "The resource is undergoing a test procedure."; } bit failed { position 1; description "The resource has an internal fault that prevents it from operating."; } bit offline { position 2; description "The resource requires a routine operation to be performed to place it online and make it available for use. The operation may be manual or automatic, or both."; } bit off-duty { position 3; description "The resource has been made inactive by a control process in accordance with a predetermined time schedule. Under normal conditions the control process can be expected to reactivate the resource at some scheduled time."; } bit dependency { position 4; description "The resource cannot operate because some other resource on which it depends is unavailable."; } bit degraded { position 5; description "The service available from the resource is degraded in some respect, such as in speed or operating capacity. Failure of a test or an unacceptable performance measurement has established that some or all services are not functional or are degraded, for example, due to the presence of a defect or an inappropriate configuration. However, the resource remains available for service, either because some services are satisfactory or because degraded service is preferable to no service at all. Further information indicating, for example, which services are not functional or which configuration is inappropriate and the nature of the degradation, may be found in the container 'issues'."; } bit not-installed { position 6; description "The resource or resources represented by the data nodes are not present or are incomplete."; } bit log-full { position 7; description "This indicates a log full condition."; } } description "A set of availability status conditions. An empty set of bits implies that none of the status conditions are present, i.e., the entity is available."; reference "ITU-T X.731 clause 8.1.2.3."; } typedef unspecified-availability-status { type enumeration { enum "unspecified" { value 0; description "The resource is impaired, but the X.731 availability status condition(s) cannot be determined or X.731 availability condition(s) are not supported by the device. This permits devices that do not support X.731 availability status condition(s) to nevertheless make use of the availability status parameters."; } } description "Defines an alternative definition of availability where a device may not support specification of the availability status according to that defined by ITU-T X.731."; } typedef resource { type union { type instance-identifier; type string; } description "This identifies a resource, such as an interface, which is a cause of one or more availability status conditions. It should be as fine-grained as possible both to guide the operator. If the instrumentation can detect a broken config, this should be identified as the resource. If the resource is modeled in YANG, this type will be an instance-identifier. If the resource is anything else, for example a distinguished name, this type will be a string."; } grouping availability-parameters { description "Defines the availability of entities."; leaf availability-status { type union { type availability-status; type unspecified-availability-status; } mandatory true; description "The set of availability status conditions currently defining the availability status of the resource. An empty set of bits implies that none of the status conditions are present, i.e., the entity is available."; reference "ITU-T X.731 clause 8.1.2.3."; } container issues { description "Issues that have been identified by the instrumentation that are affecting the availability status"; list issue { key "tag code"; description "An issue affecting the availability status."; leaf tag { type identityref { base issue-tag; } description "The specific issue tag indicating the type of issue encountered, if any."; } leaf code { type uint16; must "not(../tag='bbf-avail:unknown') or (../tag='bbf-avail:unknown' and .=0)"; description "A well-known code uniquely identifying the specific condition, if any. This code may be vendor-specific."; } leaf message { type string; description "A string suitable for human display that describes the condition causing the issue."; } leaf-list root-cause { type resource; description "Identifies a resource, such as an interface, if any, which can be identified as a possible root cause of the issue."; } } // list issue } // container issues } // grouping availability-parameters grouping availability { description "Defines the availability of entities."; container availability { if-feature bbf-avail:availability; presence "If present, this container indicates supports for retrieving the availability of the entity for which it is used."; config false; description "Operational status defining the availability of an entity."; uses availability-parameters; } // container availability } // grouping availability } // module bbf-availability
© 2023 YumaWorks, Inc. All rights reserved.