-
Notifications
You must be signed in to change notification settings - Fork 75
redfish: Add OEM BMC Pairing schema for IBM #1437
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: 1210
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,53 @@ | ||
| <?xml version="1.0" encoding="UTF-8"?> | ||
| <edmx:Edmx xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx" Version="4.0"> | ||
| <edmx:Reference | ||
| Uri="http://docs.oasis-open.org/odata/odata/v4.0/errata03/csd01/complete/vocabularies/Org.OData.Core.V1.xml"> | ||
| <edmx:Include Namespace="Org.OData.Core.V1" Alias="OData" /> | ||
| </edmx:Reference> | ||
| <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/Manager_v1.xml"> | ||
| <edmx:Include Namespace="Manager" /> | ||
| <edmx:Include Namespace="Manager.v1_15_0.Manager" /> | ||
| </edmx:Reference> | ||
| <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/RedfishExtensions_v1.xml"> | ||
| <edmx:Include Namespace="RedfishExtensions.v1_0_0" Alias="Redfish" /> | ||
| </edmx:Reference> | ||
| <edmx:DataServices> | ||
| <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="OemBmcPairing"> | ||
| <Annotation Term="Redfish.OwningEntity" String="IBM" /> | ||
| </Schema> | ||
| <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="OemBmcPairing.v1_0_0"> | ||
| <ComplexType Name="BmcPairing"> | ||
| <Annotation Term="OData.AdditionalProperties" Bool="false" /> | ||
| <Annotation Term="OData.Description" String="BMC Pairing information." /> | ||
| <Annotation Term="OData.LongDescription" | ||
| String="This type shall contain information about the BMC pairing status." /> | ||
| <Property Name="Paired" Type="Edm.Boolean"> | ||
| <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read" /> | ||
| <Annotation Term="OData.Description" | ||
| String="Indicates whether this BMC is paired with another BMC." /> | ||
| <Annotation Term="OData.LongDescription" | ||
| String="This property shall indicate whether this BMC is currently paired with another BMC. A value of true indicates the BMC is paired, false indicates it is not paired." /> | ||
| </Property> | ||
| <Property Name="AvailableBmcs" Type="Collection(Edm.String)"> | ||
| <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read" /> | ||
| <Annotation Term="OData.Description" | ||
| String="The names of BMCs that are available for pairing." /> | ||
| <Annotation Term="OData.LongDescription" | ||
| String="This property shall contain an array of names of BMCs that are discovered and available for pairing with this BMC. This array may be empty if no BMCs are currently available for pairing." /> | ||
| </Property> | ||
| </ComplexType> | ||
| <Action Name="Pair" IsBound="true"> | ||
| <Annotation Term="OData.Description" | ||
| String="This action pairs this BMC with another BMC." /> | ||
| <Annotation Term="OData.LongDescription" | ||
| String="This action shall establish a pairing relationship between this BMC and the specified target BMC." /> | ||
| <Parameter Name="Manager" Type="Manager.v1_0_0.OemActions" /> | ||
| <Parameter Name="BmcName" Type="Edm.String" Nullable="false"> | ||
| <Annotation Term="OData.Description" String="The name of the BMC to pair with." /> | ||
| <Annotation Term="OData.LongDescription" | ||
| String="This parameter shall contain the name or identifier of the BMC to establish pairing with." /> | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. What is meant here by name or identifier? Is this a Redfish link, DBus object path?
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Its not redfish link. It is a string name (peer or self) |
||
| </Parameter> | ||
| </Action> | ||
| </Schema> | ||
| </edmx:DataServices> | ||
| </edmx:Edmx> | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,8 @@ | ||
| { | ||
| "$id": "https://github.com/ibm-openbmc/bmcweb/tree/HEAD/redfish-core/schema/oem/ibm/json-schema/OemBmcPairing.json", | ||
| "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json", | ||
| "copyright": "Copyright 2026 OpenBMC.", | ||
| "definitions": {}, | ||
| "owningEntity": "IBM", | ||
| "title": "#OemBmcPairing" | ||
| } |
| Original file line number | Diff line number | Diff line change | ||
|---|---|---|---|---|
| @@ -0,0 +1,84 @@ | ||||
| { | ||||
| "$id": "https://github.com/ibm-openbmc/bmcweb/tree/HEAD/redfish-core/schema/oem/ibm/json-schema/OemBmcPairing.v1_0_0.json", | ||||
| "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json", | ||||
| "Copyright": "Copyright 2026 OpenBMC.", | ||||
| "definitions": { | ||||
| "BmcPairing": { | ||||
| "additionalProperties": false, | ||||
| "description": "BMC Pairing information", | ||||
| "patternProperties": { | ||||
| "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": { | ||||
| "description": "This property shall specify a valid odata or Redfish property.", | ||||
| "type": [ | ||||
| "array", | ||||
| "boolean", | ||||
| "integer", | ||||
| "number", | ||||
| "null", | ||||
| "object", | ||||
| "string" | ||||
| ] | ||||
| } | ||||
| }, | ||||
| "properties": { | ||||
| "Paired": { | ||||
| "description": "Indicates whether this BMC is paired with another BMC", | ||||
| "longDescription": "This property shall indicate whether this BMC is currently paired with another BMC. A value of true indicates the BMC is paired, false indicates it is not paired.", | ||||
| "type": "boolean", | ||||
| "readonly": true | ||||
| }, | ||||
| "AvailableBmcs": { | ||||
| "description": "The names of BMCs that are available for pairing", | ||||
| "longDescription": "This property shall contain an array of names of BMCs that are discovered and available for pairing with this BMC. This array may be empty if no BMCs are currently available for pairing.", | ||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Same question here on meaning of names
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It is answered above |
||||
| "type": "array", | ||||
| "items": { | ||||
| "type": "string" | ||||
| }, | ||||
| "readonly": true | ||||
| } | ||||
| }, | ||||
| "type": "object" | ||||
| }, | ||||
| "Pair": { | ||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The DMTF schemas define the Actions separately under "Actions". I'm wondering if this should be done similarly?
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. You have any example for it?
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Here is one of them, I'm seeing it in many of them:
|
||||
| "additionalProperties": false, | ||||
| "description": "This action pairs this BMC with another BMC", | ||||
| "parameters": { | ||||
| "BmcName": { | ||||
| "description": "The name of the BMC to pair with", | ||||
| "longDescription": "This parameter shall contain the name or identifier of the BMC to establish pairing with.", | ||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Same question here on meaning of name
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Answered above |
||||
| "requiredParameter": true, | ||||
| "type": "string" | ||||
| } | ||||
| }, | ||||
| "patternProperties": { | ||||
| "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": { | ||||
| "description": "This property shall specify a valid odata or Redfish property.", | ||||
| "type": [ | ||||
| "array", | ||||
| "boolean", | ||||
| "integer", | ||||
| "number", | ||||
| "null", | ||||
| "object", | ||||
| "string" | ||||
| ] | ||||
| } | ||||
| }, | ||||
| "properties": { | ||||
| "target": { | ||||
| "description": "Link to invoke action", | ||||
| "format": "uri-reference", | ||||
| "type": "string" | ||||
| }, | ||||
| "title": { | ||||
| "description": "Friendly action name", | ||||
| "type": "string" | ||||
| } | ||||
| }, | ||||
| "type": "object" | ||||
| } | ||||
| }, | ||||
| "OwningEntity": "OpenBMC", | ||||
| "release": "1.0", | ||||
| "title": "#OemBmcPairing.v1_0_0" | ||||
| } | ||||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -8,6 +8,7 @@ schemas = [ | |
| 'IBMPCIeDevice', | ||
| 'IBMPCIeSlots', | ||
| 'IBMServiceRoot', | ||
| 'OemBmcPairing', | ||
| 'OemUpdateService', | ||
| ] | ||
|
|
||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What is meant here by "names of BMCs"? Is this a Redfish link, DBus object path?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No. It is a unique identifier for BMC(String) . In our case it will be "peer" and "self". This will be passed as argument for pairing action.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For clarity I think the long description should specify this level of detail.