Age | Commit message (Collapse) | Author | Files | Lines |
|
Which schemas are installed should be selectable in both a meson config,
and trivially by forks. This commit gets us closer to that idea.
It does it in several ways, first, the code for generating
JsonSchemaFile resources has been changed to be generated at runtime,
based on files on disk. This is slightly slower, but allows installing
schemas from anywhere, and matches the CSDL handling.
Next, the schema folders are separated into two sets
csdl -> This includes the complete schema pack from dmtf
installed -> this includes only the schemas the bmc includes
Similar folders exist for json-schema and json-schema-installed.
This allows any additional schemas to be a single symlink addition.
Note, this also checks in all of the dmtf json schemas, not just the
versions we use. This allows us to update the schema pack without
needing to break our versions we ship.
Because the static files are now selectable, all files need to be in a
folder. This forces the css and image for the redfish built-in gui to
be moved.
Tested:
/redfish/v1/JsonSchemas returns the correct result
/redfish/v1/JsonSchemas/UpdateService returns a JsonSchemaFile instance
/redfish/v1/JsonSchemas/UpdateService/UpdateService<version>json returns
the JsonSchemaFile contents.
Redfish service validator passes.
Change-Id: Ie96b2e4b623788dc2ec94eb40fcfd80325f0d826
Signed-off-by: Ed Tanous <ed@tanous.net>
|
|
Wrote a quick bash script to update these symlinks.
These are versioned out in json schema directory[1].
The symlinks don't work without this update.
[1]: https://github.com/openbmc/bmcweb/tree/master/redfish-core/schema/dmtf/json-schema
Before:
cat static/redfish/v1/JsonSchemas/redfish-error/redfish-error.json
cat: static/redfish/v1/JsonSchemas/redfish-error/redfish-error.json: No
such file or directory
f2a8e57ede74a8252100b2281e3f4d170aa69391 pulled in 2024.1 but did not
update these links. Long term update_schemas.py should do this. I
figured fix it first, then add update_schemas.py support.
Tested: Cat a few of these links. They appear to work.
Change-Id: Ibe55ab453775476b7a3d5e2fe79b3faaf0d45533
Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
|
|
Now that we have the schemas moved, add symlinks back to the schemas
that we use, so that they will be installed correctly.
The meson option of follow_symlinks: true is added to suppress a
warning about potential change in behavior in meson in the future.
Change-Id: Ie24536ca04038d8137818c201d9411b95361b14f
Signed-off-by: Ed Tanous <ed@tanous.net>
|
|
Reorganize the existing schemas into folders under redfish core.
The existing schema system has some problems:
1. It's hard to add new schemas
2. We have to rerun the script any time we want to change what schemas
we use.
3. Adding schemas optionally takes effort
In an effort to combat this, this patchset moves all the existing
schemas into folders that represent their namespace names
dmtf/csdl represents the CSDL that dmtf publishes
oem/openbmc represents the CSDL that OpenBMC publishes
In theory, this means that in the future we can relax OEM_SCHEMAS.md,
and allow folks to possibly implement their own schemas in a way that
doesn't have to effect all other systems.
This also has the advantage of not requiring changes to
update_schemas.py when we want to add, remove, or modify what version of
a schema we use. "current" schemas are just symlinks, so they can be
updated using git, and not necessarily have merge conflicts with one
another.
Tested: Redfish service validator passes.
Change-Id: I6d4a130bba4cb874ef00a06ed579cc67f53dc7ae
Signed-off-by: Ed Tanous <ed@tanous.net>
|
|
Redfish just released 2023.1, pull it in and update the packs.
This commit was generated automatically using update_schemas.py
Signed-off-by: Ed Tanous <edtanous@google.com>
Change-Id: I8faad8392af88aa7fc3a4fd73c8e0ec3bede56e5
|
|
AggregationService is used to inform a client that some of the results
might be aggregated, and to allow setting up aggregation sources.
Today, this resource only contains the basic fields, as well as
"Enabled", which informs the client of the fact that the service is
aggregation enabled.
AggregationService was one of the schemas we ignored, so this adds it to
the supported list.
Tested: Redfish service validator passes.
Signed-off-by: Ed Tanous <edtanous@google.com>
Change-Id: Ifb16a86ff81e387f01016a83f9e69240c8928614
|
|
Created a list of all used schemas, and a few being added for use in reviews
now. Exclude all other schemas.
Developers if they wish to use a new schema will have to add it to this
list and rerun update_schemas.py.
Size of obmc-phosphor-image-witherspoon-<date>.rootfs.squashfs-xz:
Before 2020.4: 19451904
With 2020.4, before this commit: 19492864
With this commit: 19275776
Tested: Validator passes.
Change-Id: I23272049aa38c51ac7af0d3b0f5b4641a349a487
Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
|
|
2020.4 contains a lot of new schemas.
New feature include: new power and thermal schemas, conditions,
and new account types.
For more information, see:
https://www.dmtf.org/sites/default/files/Redfish_Release_2020.4_Overview.pdf
Tested: Validator passes. Able to see new schemas.
Change-Id: I7fb860c84fa4cff80698dcb26a463b155e6faba7
Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
|
|
Point update_schemas.py at 2020.2 and run the script.
An overview of 2020.2 can be found at:
https://www.dmtf.org/sites/default/files/Redfish_Release_2020.2_Overview.pdf
Tested: Loaded on a Witherspoon and ran the validator.
See the new schemas.
Change-Id: Idb6cbc58efe484dcffa0cc22deff3a4746af67ed
Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
|