Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Delete a composed Resource: Composition service retire or decompose an already composed resource.


ReferenceReferences: 

Redfish Composition Service Mockup

Redfish Schema Supplement

Redfish v1.12 Specification


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.

APIURIHTTP MethodsRemarksJeff H Comments
Computer system Composition/redfish/v1/SystemsPOSTODIM Systems collection need to have this actionPOST 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.AddResourceBlockPOSTSystem instance
Remove resource block

/redfish/v1/Systems/{{id}}/Actions/ComputerSystem.RemoveResourceBlock

POSTSystems instance
Delete a composed resource/redfish/v1/Systems/{{id}}DELETEResources 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

  1. 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.