Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

The following was provided by Michael Hwang


DCAE MOD + CLAMP

The goal of this project is for CLAMP to use the DCAE flows that have been designed through the new DCAE MOD.

The implementation plan for the Frankfurt release is for DCAE MOD to populate the DCAE flows into DCAE inventory and for CLAMP to query the DCAE flows from DCAE inventory.

What DCAE MOD will do

For a given DCAE flow that is distributed from DCAE MOD's design tool, DCAE MOD runtime API will generate a Cloudify blueprint per node in the flow and create a corresponding dcae service type in DCAE inventory per node.

The structure of a dcae service type can be found in the inventory swagger YAML. Look for the DCAEServiceType definition.

Here is an example snippet of a single dcae service type:

{ 
"typeId": "01daccf2-a8db-4935-b34b-cc08c6b38c52",
"typeName": "machine-learning-flow_etl-component",
..
"blueprintTemplate": "# Blueprint goes here. YAML as string..",
"asdcServiceId": "9bb854b-cafd-40b9-98a5-62d287f19622",
"asdcResourceId": "0",
"selfLink": "http://dcae-inventory:8080/dcae-service-types/01daccf2-a8db-4935-b34b-cc08c6b38c52"
}

If a flow has three nodes, there will be three different dcae service types in inventory. How those three dcae service types will be joined is via asdcServiceId and asdcResourceId . The attribute asdcServiceId will be populated with the design time flow ID and the attribute asdcResourceId will be populated with a sequence number. The dcae service types that belong to the same flow will all have the same asdcServiceId and the asdcResourceId is to be used to determine the order of the dcae service types.
A limitation of this implementation is that it will only support sequences and not topologies.
What CLAMP will do
CLAMP will query DCAE inventory to retrieve a list of all dcae service types using the GET /dcae-service-types method and endpoint. See inventory swagger YAML for more details about API.
In handling the list of dcae service types returned, CLAMP will be able to construct the target flow by:
1. Group the dcae service types by asdcServiceId because as mentioned above, the design time flow Id will be stored in the attribute's value 2. Construct the flow sequence from the members of the flow group by examining the asdcResourceId which will contain an integer as a string that should be used in sorting the members
Note that the if CLAMP knows the flow ID in advance, it can have DCAE inventory filter for only dcae service types that match on a specific asdcServiceId aka flow ID using the following query:
GET /dcae-service-types?asdcServiceId=9bb854b-cafd-40b9-98a5-62d287f19622

  • No labels