...
Delete a composed Resource: Composition service retire or decompose an already composed resource.
ReferenceReferences:
Redfish Composition Service Mockup
API | URI | HTTP Methods | Remarks |
Composition Service | /redfish/v1/CompositionService | GET | |
Resource Blocks | /redfish/v1/CompositionService/ResourceBlocks | GET, POST | POST to add a resource block manually. Not in Redfish specification. |
Resource Zones | /redfish/v1/CompositionService/ResourceZones | GET, POST, PATCH, DELETE |
Dependencies
Composition Service depends on additional APIs to be supported in other ODIM modules. Listed down the APIs required for Computer system Composition. Later this list will be extended for other composable resources.
API | URI | HTTP Methods | Remarks | Jeff H Comments |
---|---|---|---|---|
Computer system Composition | /redfish/v1/Systems | POST | ODIM Systems collection need to have this action | POST is the wrong answer. Ask DMTF to make it possible to insert and delete from the collection |
Add resource block | /redfish/v1/Systems/{{id}}/Actions/ComputerSystem.AddResourceBlock | POST | System instance | |
Remove resource block | /redfish/v1/Systems/{{id}}/Actions/ComputerSystem.RemoveResourceBlock | POST | Systems instance | |
Delete a composed resource | /redfish/v1/Systems/{{id}} | DELETE | Resources will be deleted and available for next composition |
ODIM kind of aggregation services includes servers and hardware resources identified using different technologies and operates on a heterogeneous environment. Building the composition resources in a standard way is not sufficient. We are listing some of the real time use cases below, on the possible options to build the composition resources.
...
After the discussion in TSC review meeting, it is decided to add a POST action in resource blocks. Later, this enhancement will be proposed to DMTF Redfish Composability TF.
Computer System Resource Block - Sample
POST /redfish/v1/CompositionService/ResourceBlocks
{
"Name": "ComputerSystemBlock",
"Description": "Computer System Block",
"ComputerSystems": [
{
"@odata.id": "/redfish/v1/Systems/System1"
}
],
"ResourceBlockType": "ComputerSystem",
"ResourceBlockLimits": {
"MaxComputerSystem": 1,
"MinComputerSystem": 1
},
"CompositionStatus": {
"CompositionState": "Unused",
"MaxCompositions": 1,
"NumberOfCompositions": 0,
"Reserved": false,
"SharingCapable": false,
"SharingEnabled": false
}
}
Storage Resource Block - Sample
POST /redfish/v1/CompositionService/ResourceBlocks
{
"Name": "Drive Block",
"Description": "Drive Block",
"Drives": [
{
"@odata.id": "/redfish/v1/Chassis/chassis1/Drives/drive1"
}
],
"NetworkInterfaces": [],
"SimpleStorage": [],
"Storage": [],
"ResourceBlockType": "Storage",
"ResourceBlockLimits": {
"MaxStorage": 1,
"MinStorage": 1
},
"CompositionStatus": {
"CompositionState": "Unused",
"MaxCompositions": 3,
"NumberOfCompositions": 0,
"Reserved": false,
"SharingCapable": true,
"SharingEnabled": true
}
}
Use Case 2: Build the composition resources automatically.
...
The constrained composition, and other resource composition will be added later versions. Also, future versions of composition service adopts new features added by DMTF Redfish Composability task force.
Questions to DMTF
- Redfish Composition service schema is not allowing POST action for new resource blocks creation.
Resource block collection schema defines resource blocks are not insertable.
"deletable": false,
"insertable": false,
"updatable": false,
We should be able to support CRUD operations on the resource blocks.
To TSC:
2. System capabilities are global to the the system collection. ODIM collects resources from many redfish services that has its own capabilities. How to handle this in the multi vendor environment like ODIM.