Move to 2020.1
Make changes to update_schemas.py needed for the move and run
update_schemas.py.
Need 1.3.6 or later version of Redfish-Service-Validator.
CI uses the master branch of Redfish-Service-Validator, which has
this fix.
Redfish-Service-Validators before 1.3.6 will incorrectly throw errors in
message registries like (Task Event Message Registry)
/redfish/v1/Registries/TaskEvent/TaskEvent and (Base Message Registry)
/redfish/v1/Registries/Base/Base.
For more information:
https://redfishforum.com/thread/323/validator-errors-when-moving-release
This does introduce some "warnDeprecated" due to "Severity" becoming
Deprecated in MessageRegistry v1_4_0. Since all bmcweb Registries are
<v1_4_0, not a real problem. Redfish has no Base Message Registry and
Task Event Message Registry available to move to something that
uses MessageRegistry v1_4_0. Will take up with Redfish.
2020.1 includes new features like AutoRebot (Boot -> AutomaticRetry),
factory reset (ResetToDefaults action), and Modified Event Log property
which are in OpenBMC's D-Bus interfaces today.
Tested: Built bmcweb, loaded on a Witherspoon, and ran
the validator. Validator passed.
See new schemas:
curl -k https://${bmc}/redfish/v1/JsonSchemas/SecureBootDatabase
{
"@odata.context": "/redfish/v1/$metadata#JsonSchemaFile.JsonSchemaFile",
"@odata.id": "/redfish/v1/JsonSchemas/SecureBootDatabase",
"@odata.type": "#JsonSchemaFile.v1_0_2.JsonSchemaFile",
"Name": "SecureBootDatabase Schema File",
Change-Id: If30fcc50276aea44d8a77ed547ee0cbd72e4cf1a
Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
diff --git a/scripts/update_schemas.py b/scripts/update_schemas.py
index d576179..fcb32af 100755
--- a/scripts/update_schemas.py
+++ b/scripts/update_schemas.py
@@ -12,7 +12,7 @@
import xml.etree.ElementTree as ET
-VERSION = "DSP8010_2019.4"
+VERSION = "DSP8010_2020.1"
SCRIPT_DIR = os.path.dirname(os.path.realpath(__file__))
@@ -65,12 +65,8 @@
for zip_filepath in zip_ref.namelist():
if zip_filepath.startswith(VERSION +
- '/' +
- VERSION +
'/csdl/') & (zip_filepath != VERSION +
"/csdl/") & (zip_filepath != VERSION +
- '/' +
- VERSION +
"/csdl/"):
filename = os.path.basename(zip_filepath)
with open(os.path.join(schema_path, filename), 'wb') as schema_file:
@@ -141,7 +137,7 @@
schema_files = {}
for zip_filepath in zip_ref.namelist():
- if zip_filepath.startswith(os.path.join(VERSION, VERSION, 'json-schema/')):
+ if zip_filepath.startswith(os.path.join(VERSION, 'json-schema/')):
filename = os.path.basename(zip_filepath)
filenamesplit = filename.split(".")
if len(filenamesplit) == 3:
@@ -157,7 +153,7 @@
for schema, version in schema_files.items():
basename = schema + "." + version + ".json"
- zip_filepath = os.path.join(VERSION, VERSION, "json-schema", basename)
+ zip_filepath = os.path.join(VERSION, "json-schema", basename)
schemadir = os.path.join(json_schema_path, schema)
os.makedirs(schemadir)
location_json = OrderedDict()