...
CLAMP parses service template
Assumptions:
Service template consists of multiple node templates
Topics
MicroservicesÂ
Policies
Microservice: Any node template with a subtype of tosca.dcae.nodes.cdapApp (or some other type such as tosca.dcae.nodes.dockerApp?)
Topics: Any node template with a type of tosca.dcae.nodes.dmaap.topic
Policies: Any node template with a type of tosca.dcae.nodes.policy
There will be only one Microservice node
The microservice node will have two requirements that are fulfilled by topics: one stream subscribe and one stream publish
The two topic nodes will be included in the service template
The microservice node will have a requirement for a policy node, and policy node will be included in the service template
Processing Steps
Display any microservice node template
Display inputs provided to blueprint
Display topics which are used to connect microservice node templates
Retrieve configuration policies and prepare to display and encode
For each microservice node template, identify the node template which fulfills the policy requirement
Retrieve the policy TOSCA corresponding to this policy node, using policyName parameter
(Only needed if there are multiple microservice nodes: Identify the microservice node template which is the last in the flow before the Operational Policy)
Display the Operational Policy as a box after the last (or only) microservice node template
A flow will either be deployed once for all control loops (shared) or deployed per control loop (dedicated)
The microservice node will have a parameter that defines whether it should be a shared or dedicated microservice
CLAMP will use this parameter to decide whether or not to deploy it
Can user edit template inputs that are required
Examples: policy Ids, Topic URLs and AAF credentials (needed to clarify this)
Some cannot be edited, such as policy Id; CLAMP must be provided
Some may be set in configuration files in CLAMP
User can edit any configuration policy in a separate popup created using TOSCA policy model
User can edit operational policy in a separate popup created as is done today, based on local CLAMP configuration
Deploy Step 1
- CLAMP sets the input whose value is used to set policy_id parameter in the node template
- If the flow is a shared deployment, and has not yet been deployed, choose a policy prefix
- If the flow is a shared deployment and has been deployed, no input needs to be set, because blueprint will not be deployed
- If the flow is a dedicated deployment
- Data from Configuration and Operational Policies is used to create policies
- Need to create associated controlLoopIds in Configuration and Operational policiesÂ
Deploy Step 2
- This step only applies when the flow is deployed by CLAMP
- Call deployment handler
- Refer by service UUID, resource UUID and name
- Provide inputs:
- policyId
- Topic information
- AAF authentication
- Others?
- Check on deployment status
- Allow undeploy and redeploy
...
Stop Flow
- Currently the only way to stop a control loop is by deleting the operational policy
- This is the operation that CLAMP will use
...