Versions Compared

Key

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

...

Flow 1: Design and Distribute First Control Loop


Image Added


Code Block
titleUML Code for Flow 1
collapsetrue
@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
titleUML Code for Flow 2
collapsetrue
@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 RemovedImage Added


Code Block
titleUML Code for Flow 4
collapsetrue
@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 RemovedImage Added


Code Block
titleUML Code for Flow 5
collapsetrue
@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

...