-
Notifications
You must be signed in to change notification settings - Fork 656
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add storage counters related to errors (#1091)
Add /components/component/storage/state/counters/ as a container to represent storage device counters
- Loading branch information
Showing
4 changed files
with
182 additions
and
6 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
164 changes: 164 additions & 0 deletions
164
release/models/platform/openconfig-platform-storage.yang
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,164 @@ | ||
module openconfig-platform-storage { | ||
|
||
yang-version "1"; | ||
|
||
// namespace | ||
namespace "http://openconfig.net/yang/platform/storage"; | ||
|
||
prefix "oc-storage"; | ||
|
||
import openconfig-platform { | ||
prefix oc-platform; | ||
} | ||
import openconfig-extensions { | ||
prefix oc-ext; | ||
} | ||
import openconfig-yang-types { | ||
prefix oc-yang; | ||
} | ||
|
||
// meta | ||
organization | ||
"OpenConfig working group"; | ||
|
||
contact | ||
"OpenConfig working group | ||
www.openconfig.net"; | ||
|
||
description | ||
"This module defines data related to STORAGE components in the | ||
OpenConfig platform model. | ||
Portions of this code were derived from the following copyright holders. | ||
References to each copyright holder are mentioned where related content | ||
is used. | ||
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"; | ||
|
||
// identity statements | ||
// typedef statements | ||
// grouping statements | ||
grouping storage-counters-state { | ||
description | ||
"Operational state for storage component statistics. These leaves | ||
are derived from a list of commonly supported S.M.A.R.T. counters. | ||
Note that while common, these attributes may not be supported by | ||
all storage device vendors and media types."; | ||
|
||
leaf soft-read-error-rate { | ||
type oc-yang:counter64; | ||
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"; | ||
} | ||
|
||
leaf end-to-end-error { | ||
type oc-yang:counter64; | ||
description | ||
"Count of parity errors which occur in the data path to the media. | ||
SMART ID 184."; | ||
reference | ||
"Acronis Drive Monitor: Disk Health Calculation Knowledge Base - | ||
kb.acronis.com"; | ||
} | ||
|
||
leaf offline-uncorrectable-sectors-count { | ||
type oc-yang:counter64; | ||
description | ||
"The total count of uncorrectable errors when reading/writing a | ||
sector. SMART ID 198."; | ||
reference | ||
"Acronis Drive Monitor: Disk Health Calculation Knowledge Base - | ||
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 | ||
linux kernel block layer statistics in /sys/block/<dev>/stat. | ||
Implementations which do not use the linux kernel to access | ||
storage should provide equivalent counters."; | ||
reference | ||
"https://www.kernel.org/doc/Documentation/block/stat.txt"; | ||
|
||
container counters { | ||
description | ||
"A collection of storage specific statistics entitites."; | ||
|
||
uses storage-counters-state; | ||
} | ||
} | ||
|
||
// data definition statements | ||
// augment statements | ||
augment "/oc-platform:components/oc-platform:component/" + | ||
"oc-platform:storage/oc-platform:state" { | ||
description | ||
"Adding storage data to component model"; | ||
|
||
uses storage-state; | ||
} | ||
} | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters