The composition service provides infrastructure to compose a logical system called composed node and associate the required hardware resources on demand. The composition service provides RESTful APIs to compose a node based on the requirements provided as a JSON payload. The composition service keeps the inventory of hardware resources available from the ODIM resource aggregator service. The payload includes one or more of hardware requirements like chassis, computer system, processor, memory, ethernet interfaces, local and remote storage. The composition takes place in two steps, allocate and assemble. Allocate action reserves the best suitable hardware resources from the global pool of available hardware resources. Assemble action links hardware resources as needed, to the computer system associated. After resources get allocated administrator can review and make sure that resources allocated are best suitable before assembling it.
Composition service provides additional features like attach and detach resources at run time. There is an option to delete the composed node when not needed. The node deletion will release the reserved hardware resource to the global resource pool and they will be available for next node composition. composition Service also provides resource specific actions like power reset, Boot source override, etc.
There is an API to initiate the resource inventory from the resource aggregator to update the latest set of available resources.
API | URI | HTTP Methods | Remarks |
Composed Node Collection | /redfish/v1/Nodes | GET | |
Composed Node Instance | /redfish/v1/Nodes/{Id} | GET, POST, PATCH, DELETE | |
Allocate Action | /redfish/v1/Nodes/Actions/ComposedNode.Allocate | POST | |
Assemble | /redfish/v1/Nodes/{Id}/Actions/ComposedNode.Assemble | POST | |
Attach Resource | /redfish/v1/Nodes/{Id}/Actions/ComposedNode.AttachResource | POST | |
Detach Resource | /redfish/v1/Nodes/{Id}/Actions/ComposedNode.DetachResource | POST | |
Initiate Inventory | /redfish/v1/Configurations/Actions/Configurations.InitiateInventory | POST | OEM Action |
Power Reset | /redfish/v1/Nodes/{Id}/Actions/ComposedNode.Reset | POST | |
Boot Source Override | /redfish/v1/Nodes/{Id} | PATCH |