...
Flow 1: Design and Distribute First Control Loop
Image Added
Code Block |
---|
title | UML Code for Flow 1 |
---|
collapse | true |
---|
|
@startuml
title This is the design flow that will be tested in Beijing
actor SDC_Tester
participant SDC
participant CLAMP
participant Policy
box "DCAE controller"
participant SCH
database Inventory
end box
autonumber
SDC_Tester -> SDC : Create vCPE service composed\nof one VNF resource
note left
Closed loop 1
end note
SDC_Tester -> SDC : Upload DCAE TCA blueprint\nas artifact
SDC_Tester -> SDC : Test, Certify, Distribute Service
SDC -> CLAMP : Blueprint distribution
SDC -> SCH : Blueprint distribution
SCH -> Inventory : Save blueprint
@enduml |
...
Flow 2: Configure and Deploy First Control Loop
Image Added
Code Block |
---|
title | UML Code for Flow 2 |
---|
collapse | true |
---|
|
@startuml
title This is the install flow that will be tested in Beijing
actor CLAMP_Tester
participant CLAMP
participant Policy
box "DCAE controller"
database Inventory
participant "Deployment-handler" as DH
control Cloudify
participant "Policy-handler" as PH
database "Consul-kv" as consul
participant "Config-binding service" as CBS
end box
participant TCA_Instance
autonumber
hnote right CLAMP_Tester: decided to install TCA
CLAMP_Tester -> CLAMP : Configure thresholds\n of control loop
note left
Closed loop 1
end note
CLAMP_Tester -> CLAMP : Configure actions\n of control loop
CLAMP -> Policy : Create Configuration\n and Operational Policies
CLAMP -> Inventory : Get DCAE Service Id\n based on Distributed Parameters
group install TCA_Instance
CLAMP -> DH : install instance of TCA with policy_id as input
activate DH
DH -> Inventory : get blueprint for TCA
Inventory --> DH : blueprint for TCA
DH -> Cloudify : install TCA_Instance
activate Cloudify
DH -> CLAMP : response--started installation of TCA_Instance
deactivate DH
Cloudify -> PH : get policy\n by policy_id
PH -> Policy : /getConfig policy for policyName = policy_id
Policy --> PH : return found policy
PH --> Cloudify : policy by policy_id
Cloudify -> consul: store config with policies\n for TCA_Instance
create TCA_Instance
Cloudify -> TCA_Instance: create instance of TCA
deactivate Cloudify
activate TCA_Instance
TCA_Instance -> CBS: get Config\n and policies
CBS -> consul: get Config\n and policies
consul --> CBS: Config\n and policies
CBS --> TCA_Instance: Config and policies
TCA_Instance -->]: continue
deactivate TCA_Instance
end group
@enduml |
Image Removed
Flow
...
3: Run Control Loop
Repeat this flow for all control loop use-cases (vCPE, vFirewall, vDNS)
Image Removed
Image Added
Code Block |
---|
title | UML Code for Flow 4 |
---|
collapse | true |
---|
|
@startuml
title This is the flow that will be tested in Beijing
participant VNF
participant VES_Collector
participant TCA_Instance1
participant Policy
participant AppC
autonumber
VNF -> VES_Collector : VES Message\nmeasurementsForVfScaling
VES_Collector -> TCA_Instance1 : VES Message\nmeasurementsForVfScaling
TCA_Instance1 -> Policy : Signature ONSET Message
Policy -> AppC : Action
AppC -> VNF : Action
note left
VNF action taken which
corrects the condition
end note
VNF -> VES_Collector : VES Message\nmeasurementsForVfScaling
note left
Time passes until next
message
end note
VES_Collector -> TCA_Instance1 : VES Message\nmeasurementsForVfScaling
TCA_Instance1 -> Policy : Signature ABATE Message
@enduml |
Flow 5: Reconfigure (Update) Control Loop
Reconfigure
Image Removed
Image Added
Code Block |
---|
title | UML Code for Flow 5 |
---|
collapse | true |
---|
|
@startuml
title This is the policy-update flow that will be tested in Beijing
participantactor CLAMP_Tester
actorparticipant CLAMP_Tester
participant Policy
box "DCAE controller"
participant DCAE_Policy_Handler
participant DCAE_Consul"Policy-handler" as PH
participant "Deployment-handler" as DH
control Cloudify
database "Consul-kv" as consul
participant "Config-binding service" as CBS
end box
participant TCA_Instance
autonumber
CLAMP_Tester -> CLAMP : Update control loop settings
CLAMP -> Policy: update policy
group policy update
Policy -> PH : Reonfigureupdated thresholdspolicy\n of control loop
CLAMP with policyName = policy_id
activate PH
PH -> Policy : Update Configuration Policy
Policy -> DCAE_Policy_Handler : Updated Configuration Policy
DCAE_Policy_Handler -> DCAE_Consul: Store config
participant TCA_Instance
TCA_Instance -> DCAE_Consul: Get Configuration /getConfig latest\n policy for\n policyName = policy_id
Policy --> PH : return found policy
PH -> DH : policy updated
deactivate PH
activate DH
DH -> Cloudify : get components
Cloudify --> DH : components and\n run-time properties
DH -> DH : find TCA_Instance\n by policy_id
DH -> Cloudify : policy updated\n on TCA_Instance
deactivate DH
activate Cloudify
Cloudify -> consul: store updated policies\n for TCA_Instance
Cloudify -> TCA_Instance: notify about updated policies through script
deactivate Cloudify
activate TCA_Instance
hnote over TCA_Instance: policy changed
TCA_Instance -> TCA_Instance: act on\n changed policy
TCA_Instance -->]: continue
deactivate TCA_Instance
end
|||
==alternative to acting on the push-notification through script from DCAE-Controller==
|||
group polling for policy changes
TCA_Instance -> CBS: get Config\n and policies
activate TCA_Instance
CBS -> consul: get Config\n and policies
consul --> CBS: Config\n and policies
CBS --> TCA_Instance: Config and policies
hnote over TCA_Instance: policy might have changed
TCA_Instance -->]: continue
deactivate TCA_Instance
end
@enduml |
Run Control Loop Again
...