From 910f9e1f8ff3a7bdad648a8ef9074939014e602b Mon Sep 17 00:00:00 2001 From: dplore Date: Thu, 12 Sep 2024 10:22:01 -0700 Subject: [PATCH] update copyright and add storage life leaves --- .../platform/openconfig-platform-storage.yang | 133 ++++++++++++------ 1 file changed, 89 insertions(+), 44 deletions(-) diff --git a/release/models/platform/openconfig-platform-storage.yang b/release/models/platform/openconfig-platform-storage.yang index d367d451b..3b655940c 100644 --- a/release/models/platform/openconfig-platform-storage.yang +++ b/release/models/platform/openconfig-platform-storage.yang @@ -1,51 +1,68 @@ module openconfig-platform-storage { - yang-version "1"; +yang-version "1"; - // namespace - namespace "http://openconfig.net/yang/platform/storage"; +// namespace +namespace "http://openconfig.net/yang/platform/storage"; - prefix "oc-storage"; +prefix "oc-storage"; - import openconfig-platform { - prefix oc-platform; - } - import openconfig-extensions { - prefix oc-ext; - } - import openconfig-yang-types { - prefix oc-yang; - } +import openconfig-platform { + prefix oc-platform; +} +import openconfig-extensions { + prefix oc-ext; +} +import openconfig-yang-types { + prefix oc-yang; +} +import openconfig-types { + prefix oc-types; +} - // meta - organization - "OpenConfig working group"; +// meta +organization + "OpenConfig working group"; - contact - "OpenConfig working group - www.openconfig.net"; +contact + "OpenConfig working group + www.openconfig.net"; - description - "This module defines data related to STORAGE components in the - OpenConfig platform model."; +description + "This module defines data related to STORAGE components in the + OpenConfig platform model. - oc-ext:openconfig-version "0.1.0"; + Portions of this code were derived from the following copyright holders. + References to each copyright holder are mentioned where related content + is used. - revision "2024-08-26" { - description - "Initial revision."; - reference - "0.1.0"; - } + NVM Express Base Specification Revision 2.0a + https://nvmexpress.org/wp-content/uploads/NVMe-NVM-Express-2.0a-2021.07.26-Ratified.pdf + (c) Copyright 2007 to 2021 NVM Express, Inc. ALL RIGHTS RESERVED. + This NVM Express Base Specification, revision 2.0a is proprietary to the + NVM Express, Inc. (also referred to as “Company”) and/or its successors + and assigns. + + S.M.A.R.T. Attribute: Reallocated Sectors Count | Knowledge Base + http://kb.acronis.com."; + +oc-ext:openconfig-version "0.1.0"; + +revision "2024-08-26" { + description + "Initial revision."; + reference + "0.1.0"; +} - // OpenConfig specific extensions for module metadata. - oc-ext:regexp-posix; - oc-ext:catalog-organization "openconfig"; - oc-ext:origin "openconfig"; +// OpenConfig specific extensions for module metadata. +oc-ext:regexp-posix; +oc-ext:catalog-organization "openconfig"; +oc-ext:origin "openconfig"; - // identity statements - // typedef statements - // grouping statements +// identity statements +// typedef statements +// grouping statements grouping storage-counters-state { description "Operational state for storage component statistics. These leaves @@ -58,16 +75,19 @@ module openconfig-platform-storage { description "Uncorrected read errors reported to the operating system. SMART ID 201."; + reference + "S.M.A.R.T. Attribute: Soft Read Error Rate / Off Track Errors (Maxtor) + | Knowledge Base. kb.acronis.com."; } leaf reallocated-sectors { - type oc-yang:counter64; - description - "Count of reallocated sectors. The raw value represents a count of - the bad sectors that have been found and remapped. SMART ID 5."; - reference - "S.M.A.R.T. Attribute: Reallocated Sectors Count | Knowledge Base - - kb.acronis.com"; + type oc-yang:counter64; + description + "Count of reallocated sectors. The raw value represents a count of + the bad sectors that have been found and remapped. SMART ID 5."; + reference + "S.M.A.R.T. Attribute: Reallocated Sectors Count | Knowledge Base - + kb.acronis.com"; } leaf end-to-end-error { @@ -90,8 +110,33 @@ module openconfig-platform-storage { kb.acronis.com"; } - } + leaf life-left { + type uint8; + description + "Indicates the approximate SSD life left, in terms of program/erase + cycles or available reserved blocks. A normalized value of 100 + represents a new drive, with a threshold value at 10 indicating a need + for replacement. A value of 0 may mean that the drive is operating in + read-only mode to allow data recovery. SMART ID 231."; + reference + "SMART attribute details, + https://media.kingston.com/support/downloads/MKP_306_SMART_attribute.pdf"; + } + leaf percentage-used { + type uint8; + description + "Contains a vendor specific estimate of the percentage of NVM + subsystem life used based on the actual usage and the manufacturer’s + prediction of NVM life. A value of 100 indicates that the estimated + endurance of the NVM in the NVM subsystem has been consumed, but may + not indicate an NVM subsystem failure. The value is allowed to exceed + 100. Percentages greater than 254 shall be represented as 255."; + reference + "NVM Express Base Specification Revision 2.0a + https://nvmexpress.org/wp-content/uploads/NVMe-NVM-Express-2.0a-2021.07.26-Ratified.pdf"; + } + } grouping storage-state { description "Storage component state. These counters are derived from the