Versions Compared

Key

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

...

Flow 4: Update Control Loop by Reconfiguring TCA

Reconfigure

Image RemovedImage Added


Code Block
titleUML Code for Flow 4
collapsetrue
@startuml
title ThisUpdate isControl theLoop policy-updateby flow that will be tested in BeijingReconfiguring TCA
actor CLAMP_Tester
participant CLAMP
participant Policy
box "DCAE controller"
participant "Policy-handler" as PH
participant "Deployment-handler" as DH
control "Cloudify+plugin" as Cloudify
database "Consul-kv" as consul
participant "Config-binding service" as CBS
end box
participant TCA_Instance
autonumber
CLAMP_Tester -> CLAMP : Update control\n loop settings
CLAMP -> Policy: update policy
group policy update
    Policy -> PH : updatednotify policyabout\n with policyNameupdated = policy_id
    activate PH
    PH -> Policy : /getConfig latest\n policy for\n policyName = policy_id
    Policy --> PH : returnpolicy found policybody
    PH -> DH : policy updated
    deactivate PH
    activate DH
    DH -> Cloudify : get components info
    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\n policies\n for TCA_Instance
    deactivate Cloudify -> TCA_Instance: notify about updated policies through script
    deactivate Cloudify
end
==TCA is expected to periodically poll for latest policies==
group polling for policy changes
    activate TCA_Instance
    hnote over TCA_Instance <-]: policywake changedup
    TCA_Instance -> activate TCA_Instance: act on\n changed policy #DarkSalmon
    TCA_Instance -->] CBS: continue
get Config\n and  deactivate TCA_Instance
end
|||
==alternative to acting on the push-notification through script from DCAE-Controller==
|||
group polling for policy changes
    TCA_Instance -> CBSpolicies\n (**new API**)
    activate CBS #DarkSalmon
    CBS -> consul: get Config\n and policies
    activate TCA_Instanceconsul #DarkSalmon
    CBSconsul --> consulCBS: get Config\n and policies
    deactivate consul
    CBS --> CBSTCA_Instance: Config and\n and policies
    deactivate CBS -->
    hnote over TCA_Instance: Config and policiescheck if policy\n changed
    hnote overTCA_Instance -> TCA_Instance: policyact might have changedon\n changed\n policy
    TCA_Instance -->]: continuerun
    deactivate TCA_Instance
end
@enduml

...