How startPhase is currently implemented
Example using the Demo. The table below shows the startPhase for each Composition Definition Element
Participant | Composition Definition Element | startPhase |
---|---|---|
Policy | onap.policy.clamp.ac.element.Policy_AutomationCompositionElement | 0 |
K8s | onap.policy.clamp.ac.element.K8S_StarterAutomationCompositionElement | 0 |
K8s | onap.policy.clamp.ac.element.K8S_BridgeAutomationCompositionElement | 0 |
K8s | onap.policy.clamp.ac.element.K8S_SinkAutomationCompositionElement | 0 |
Http | onap.policy.clamp.ac.element.Http_StarterAutomationCompositionElement | 1 |
Http | onap.policy.clamp.ac.element.Http_BridgeAutomationCompositionElement | 1 |
Http | onap.policy.clamp.ac.element.Http_SinkAutomationCompositionElement | 1 |
The diagram below shows the flow of messages:Note:
- startPhase is configured in composition definition element and defines the order of execution of instance elements;
- Any instance element is executed only once;
- All instance elements whit same startPhase are executed at same time in parallel;
- startPhase is used by deploy and unlock; startPhase in reverse order is used by lock, undeploy and delete;
Alternative flow with stepPhase
To maintain the backward compatibility, we are introducing a new property stepPhase.
Minimal support for stepPhase:
- Still valid the startPhase definition for backward compatibility;
- stepPhase is configured in composition definition element;
- stepPhase is applied only for migrate operation;
- Any instance element could be executed more then one time;
- All instance elements whit same stepPhase are executed at same time in parallel;
Example of composition definition element stepPhase property:
properties: stepPhase: [0,2]
Default value set to 0.
Full support for stepPhase:
- Still valid the startPhase definition for backward compatibility;
- Using startPhase and stepPhase in a composition definition is not valid;
- stepPhase is configured in composition definition element;
- Any composition definition element could have different sptePhase for each operation: for example the order for deploy could different for migrate;
- Any instance element could be executed more then one time;
- All instance elements whit same stepPhase are executed at same time in parallel;
- stepPhase has not reversal order.
Example of composition definition element stepPhase property:
properties: stepPhase: - deploy: [0,1] - migrate: [0,2] - undeploy: [1] - delete: [1]
All not defined operations will be set to 0.
Example of stepPhase
The table below shows the stepPhase for each Composition Definition Element:
Participant | Composition Definition Element | stepPhase |
---|---|---|
SEF | A1 | 0, 2 |
SEF | A2 | 0, 2 |
CNLCM | B | 1 |
When an instance element has completed a step, not means that the full implementation is completed (DEPLOYED state).
During the execution of the operation how the user is able to see the steps executed by the instance element? Same issue for monitoring, it needs new filed into Instance Element to store what step is executed.