Remove support for deprecated RAS data version 1
Signed-off-by: Zane Shelley <zshelle@us.ibm.com>
Change-Id: I91572c057169e3416bc543bad5ccab1a505d1485
diff --git a/analyzer/ras-data/meson.build b/analyzer/ras-data/meson.build
index af2f9c9..587c756 100644
--- a/analyzer/ras-data/meson.build
+++ b/analyzer/ras-data/meson.build
@@ -13,8 +13,7 @@
# Install the RAS data schema
-ras_data_schema = files( 'schema/ras-data-schema-v01.json',
- 'schema/ras-data-schema-v02.json' )
+ras_data_schema = files( 'schema/ras-data-schema-v02.json' )
install_data( ras_data_schema, install_dir: join_paths(package_dir, 'schema') )
diff --git a/analyzer/ras-data/ras-data-definition.md b/analyzer/ras-data/ras-data-definition.md
index 43cfd7c..f21e0de 100644
--- a/analyzer/ras-data/ras-data-definition.md
+++ b/analyzer/ras-data/ras-data-definition.md
@@ -20,7 +20,8 @@
A new version number should be used for each new RAS data file format so that
user applications will know how to properly parse the files. The value of this
-keyword is a positive integer. Initially, format version is `1`.
+keyword is a positive integer. Version `1` has been deprecated. The current
+version is `2`.
## 3) `units` keyword
diff --git a/analyzer/ras-data/ras-data-parser.cpp b/analyzer/ras-data/ras-data-parser.cpp
index e9b7bff..c11eab8 100644
--- a/analyzer/ras-data/ras-data-parser.cpp
+++ b/analyzer/ras-data/ras-data-parser.cpp
@@ -228,6 +228,7 @@
// Get the schema version.
auto version = schema.at("version").get<unsigned int>();
+ assert(2 <= version); // check support version
// Keep track of the schemas.
auto ret = schemaFiles.emplace(version, schema);
@@ -262,6 +263,7 @@
// Get the data version.
auto version = data.at("version").get<unsigned int>();
+ assert(2 <= version); // check support version
// Get the schema for this file.
auto schema = schemaFiles.at(version);
@@ -316,15 +318,8 @@
trace::err("No action defined for signature: %s %s %s", id.c_str(),
bit.c_str(), inst.c_str());
- if (1 == i_data.at("version").get<unsigned int>())
- {
- throw; // caught later downstream
- }
- else
- {
- // Default to 'level2_M_th1' if no signature is found.
- action = "level2_M_th1";
- }
+ // Default to 'level2_M_th1' if no signature is found.
+ action = "level2_M_th1";
}
// Return the action.
diff --git a/analyzer/ras-data/schema/ras-data-schema-v01.json b/analyzer/ras-data/schema/ras-data-schema-v01.json
deleted file mode 100644
index b5d203e..0000000
--- a/analyzer/ras-data/schema/ras-data-schema-v01.json
+++ /dev/null
@@ -1,239 +0,0 @@
-{
- "$schema": "https://json-schema.org/draft/2020-12/schema",
- "title": "RAS Data schema for openpower-hw-diags",
- "version": 1,
- "type": "object",
- "definitions": {
- "priority": {
- "type": "string",
- "enum": ["HIGH", "MED", "MED_A", "MED_B", "MED_C", "LOW"]
- }
- },
- "additionalProperties": false,
- "required": ["model_ec", "version", "actions", "signatures"],
- "properties": {
- "model_ec": {
- "type": "string",
- "pattern": "^[0-9A-Fa-f]{8}$"
- },
- "version": {
- "type": "integer",
- "minimum": 1
- },
- "units": {
- "type": "object",
- "additionalProperties": false,
- "patternProperties": {
- "^\\w+$": {
- "type": "string",
- "pattern": "^\\w+(\\/\\w+)*$"
- }
- }
- },
- "buses": {
- "type": "object",
- "additionalProperties": false,
- "patternProperties": {
- "^\\w+$": {
- "type": "object",
- "additionalProperties": false,
- "required": ["type"],
- "properties": {
- "type": {
- "type": "string",
- "enum": ["SMP_BUS", "OMI_BUS"]
- },
- "unit": {
- "type": "string",
- "pattern": "^\\w+$"
- }
- }
- }
- }
- },
- "actions": {
- "type": "object",
- "additionalProperties": false,
- "patternProperties": {
- "^\\w+$": {
- "type": "array",
- "items": {
- "type": "object",
- "required": ["type"],
- "properties": {
- "type": {
- "type": "string",
- "enum": [
- "action",
- "callout_self",
- "callout_unit",
- "callout_connected",
- "callout_bus",
- "callout_clock",
- "callout_procedure",
- "callout_part",
- "plugin"
- ]
- },
- "priority": {
- "$ref": "#/definitions/priority"
- },
- "guard": {
- "type": "boolean"
- },
- "name": {
- "type": "string",
- "pattern": "^\\w+$"
- }
- },
- "allOf": [
- {
- "if": {
- "properties": {
- "type": { "const": "action" }
- }
- },
- "then": {
- "required": ["name"],
- "not": { "required": ["priority", "guard"] }
- }
- },
- {
- "if": {
- "properties": {
- "type": { "const": "callout_self" }
- }
- },
- "then": {
- "required": ["priority", "guard"],
- "not": { "required": ["name"] }
- }
- },
- {
- "if": {
- "properties": {
- "type": { "const": "callout_unit" }
- }
- },
- "then": {
- "required": ["name", "priority", "guard"]
- }
- },
- {
- "if": {
- "properties": {
- "type": { "const": "callout_connected" }
- }
- },
- "then": {
- "required": ["name", "priority", "guard"]
- }
- },
- {
- "if": {
- "properties": {
- "type": { "const": "callout_bus" }
- }
- },
- "then": {
- "required": ["name", "priority", "guard"]
- }
- },
- {
- "if": {
- "properties": {
- "type": { "const": "callout_clock" }
- }
- },
- "then": {
- "required": ["name", "priority", "guard"],
- "properties": {
- "name": {
- "enum": [
- "OSC_REF_CLOCK_0",
- "OSC_REF_CLOCK_1",
- "TOD_CLOCK"
- ]
- }
- }
- }
- },
- {
- "if": {
- "properties": {
- "type": { "const": "callout_procedure" }
- }
- },
- "then": {
- "required": ["name", "priority"],
- "not": { "required": ["guard"] },
- "properties": {
- "name": {
- "enum": ["LEVEL2", "SUE_SEEN"]
- }
- }
- }
- },
- {
- "if": {
- "properties": {
- "type": { "const": "callout_part" }
- }
- },
- "then": {
- "required": ["name", "priority"],
- "not": { "required": ["guard"] },
- "properties": {
- "name": {
- "enum": ["PNOR"]
- }
- }
- }
- },
- {
- "if": {
- "properties": {
- "type": { "const": "plugin" }
- }
- },
- "then": {
- "required": ["name", "instance"],
- "not": {
- "required": ["priority", "guard"]
- },
- "properties": {
- "instance": {
- "type": "integer"
- }
- }
- }
- }
- ]
- }
- }
- }
- },
- "signatures": {
- "type": "object",
- "additionalProperties": false,
- "patternProperties": {
- "^[0-9A-Fa-f]{4}$": {
- "type": "object",
- "additionalProperties": false,
- "patternProperties": {
- "^[0-9A-Fa-f]{2}$": {
- "type": "object",
- "additionalProperties": false,
- "patternProperties": {
- "^[0-9A-Fa-f]{2}$": {
- "type": "string",
- "pattern": "^\\w+$"
- }
- }
- }
- }
- }
- }
- }
- }
-}
diff --git a/analyzer/ras-data/schema/ras-data-schema-v02.json b/analyzer/ras-data/schema/ras-data-schema-v02.json
index 07cb3d5..0d96b4d 100644
--- a/analyzer/ras-data/schema/ras-data-schema-v02.json
+++ b/analyzer/ras-data/schema/ras-data-schema-v02.json
@@ -36,7 +36,8 @@
},
"version": {
"type": "integer",
- "minimum": 1
+ "minimum": 2,
+ "maximum": 2
},
"units": {
"type": "object",