mirror of
https://github.com/opencontainers/runtime-spec.git
synced 2026-02-05 09:45:57 +01:00
* config-linux: add schemata field to IntelRdt Add a new "schemata" field to the Linux IntelRdt configuration. This addresses the complexity of separate schema fields and resolves the issue of supporting currently uncovered RDT features like L2 cache allocation and CDP (Code and Data Prioritization). The new field is for specifying the complete schemata (all schemas) to be written to the schemata file in Linux resctrl fs. The aim is for simple usage and runtime implementation (by not requiring any parsing/filtering of data or otherwise re-implement parsing or validation of the Linux resctrl interface) and also to support all RDT features now and in the future (i.e. schemas like L2, L2CODE, L2DATA, L3CODE and L3DATA and who knows L4 or something else in the future). Behavior of existing fields is not changed but it is required that the new schemata field is applied last. Signed-off-by: Markus Lehtonen <markus.lehtonen@intel.com> * Add linux.intelRdt.schemata to features.md Signed-off-by: Markus Lehtonen <markus.lehtonen@intel.com> --------- Signed-off-by: Markus Lehtonen <markus.lehtonen@intel.com>
JSON schema
Overview
This directory contains the JSON Schema for validating JSON covered by this specification.
The layout of the files is as follows:
- config-schema.json - the primary entrypoint for the configuration schema
- config-linux.json - the Linux-specific configuration sub-structure
- config-solaris.json - the Solaris-specific configuration sub-structure
- config-windows.json - the Windows-specific configuration sub-structure
- state-schema.json - the primary entrypoint for the state JSON schema
- defs.json - definitions for general types
- defs-linux.json - definitions for Linux-specific types
- defs-windows.json - definitions for Windows-specific types
- validate.go - validation utility source code
Utility
There is also included a simple utility for facilitating validation. To build it:
go get github.com/xeipuuv/gojsonschema
go build ./validate.go
Or you can just use make command to create the utility:
make validate
Then use it like:
./validate config-schema.json <yourpath>/config.json
Or like:
./validate https://raw.githubusercontent.com/opencontainers/runtime-spec/<runtime-spec-version>/schema/config-schema.json <yourpath>/config.json