|
Post by singhjit on Nov 10, 2020 10:11:59 GMT
Hi,
I've created my own custom schema (custom_v1.0.xml) by following steps mentioned in "https://www.dmtf.org/sites/default/files/standards/documents/DSP2055_1.0.0.pdf". Now I have my schema file but not sure how to expose my schema as other schema so that any REST client can access and manipulate data from as below:
https://<Ip>redfish/v1/custom
Regards,
|
|
|
Post by jautor on Nov 10, 2020 15:37:56 GMT
Several ways for you to expose, or "publish" your schema so that users or client applications can find it. - You can just make your schema available on your own website for users to view or download - You can host the schema within your Redfish service (in CSDL XML or JSON schema) and provide the links to the file using Redfish ($metadata file for CSDL and the JsonSchemas resource collection. Note that the JsonSchemaFile resource can also point to your website (the "PublicationUri" property). - You can send your OEM schema to the DMTF for re-publication in the Redfish schema repository. Use the form on the Redfish Developer Hub: redfish.dmtf.org/redfish/portalTo avoid naming conflicts, we'd highly recommend you add your company / OEM name to the front of your schema - so "ContosoCustom_v1.xml" or "ContosoCustom.v1_0_0.json" Jeff
|
|
|
Post by singhjit on Nov 10, 2020 17:09:22 GMT
Hi jautor, Thank you so much for your reply. Just want to understand few things. I'm very new to Redfish so might require little bit more elaboration. >>> - You can host the schema within your Redfish service (in CSDL XML or JSON schema) and provide the links to the file using Redfish ($metadata file for CSDL and the JsonSchemas resource collection. Note that the JsonSchemaFile resource can also point to your website (the "PublicationUri" property). Are you referring, "Redfish-Mockup-Server" ? or Can you point out steps or examples to do the same ? >>> - You can send your OEM schema to the DMTF for re-publication in the Redfish schema repository. Use the form on the Redfish Developer Hub: redfish.dmtf.org/redfish/portal We are monitoring Dell iDRAC controller BMC for our purposes. But our company is not Dell so we are not actual OEM for that. So I think this option is not useful for me. Please correct me if I'm wrong. Thanks,
|
|
|
Post by jautor on Nov 11, 2020 1:13:17 GMT
Hi jautor , Thank you so much for your reply. Just want to understand few things. I'm very new to Redfish so might require little bit more elaboration. >>> - You can host the schema within your Redfish service (in CSDL XML or JSON schema) and provide the links to the file using Redfish ($metadata file for CSDL and the JsonSchemas resource collection. Note that the JsonSchemaFile resource can also point to your website (the "PublicationUri" property). Are you referring, "Redfish-Mockup-Server" ? or Can you point out steps or examples to do the same ? Let's back up a bit - are you trying to publish your "custom schema" as a definition (a schema file, like ComputerSystem_v1.xml or ComputerSystem.v1_10_0.json), or are you trying to make that data available as a resource in an implementation? Our terminology for "OEM" really means "anything vendor-specific that has been added to Redfish, but is not part of the standard". So you can add your own company-defined data to any standard Redfish resource/schema by creating an "Oem" object and placing the data in a structure within the OEM object. But adding data to a payload means you're doing an implementation of a Redfish service. Is that what you're doing? Jeff
|
|
|
Post by singhjit on Nov 11, 2020 6:12:40 GMT
>>>Let's back up a bit - are you trying to publish your "custom schema" as a definition (a schema file, like ComputerSystem_v1.xml or ComputerSystem.v1_10_0.json), or are you trying to make that data available as a resource in an implementation?
Yes, I have a schema file created as "custom_v1.0.xml" from JSON. Now I want REST client to access this resource as: "https://<IP>/redfish/v1/custom" but not sure how redfish will allow this custom schema ?
Do we need to link my custom schema to somewhere or need to copy it to some location so that user can access it ?
|
|
|
Post by jautor on Nov 13, 2020 1:42:17 GMT
>>>Let's back up a bit - are you trying to publish your "custom schema" as a definition (a schema file, like ComputerSystem_v1.xml or ComputerSystem.v1_10_0.json), or are you trying to make that data available as a resource in an implementation? Yes, I have a schema file created as "custom_v1.0.xml" from JSON. Now I want REST client to access this resource as: "https://<IP>/redfish/v1/custom" but not sure how redfish will allow this custom schema ? Do we need to link my custom schema to somewhere or need to copy it to some location so that user can access it ? Assuming you're able to modify the service to add more functionality - you can link your custom (OEM) resources (which are defined by your custom schema) into the Redfish resource tree by adding an "Oem" object structure to the Links object in the ServiceRoot resource at /redfish/v1. You'll add something like this:
"Links": { "Oem": { "MyOemName": { "@odata.type": "#Custom.v1_0_0.Custom", <link property>: { "@odata.id": "/redfish/v1/custom" } } } },
Where you name the link to your custom resource where "<link property>" is shown. Place your OEM (custom) resource at a URI that follows the "OEM resource naming and URI" rules shown in the Redfish specification. Jeff
|
|