Versions Compared

Key

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

View file
nameclamp-onap-bejing-cl-take2.mp4
height250

Testing Assumptions


A single VES Collector will be pre-deployed for all flows

...

Assign values to the artifacts as in the below screenshot, and upload the provided blueprint.

Blueprint: 

View file
nametcadocker-service_v3_demo.yaml
height250


Submit the Service for Testing

...

Choose Deploy from Manage Menu

This may take on the order of tens of seconds, as it waits for DCAE to report final success.

Once the Deployment is successful in DCAE, Status will change to "Active"

Image Removed

Flow 3: Run Control Loop After Deployment 

Image Removed

Code Block
titleUML Code for Flow 3
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

...

The deploy window provides a JSON of inputs to provide to the deploy call:

  • The policyId field should be kept as-is
  • The rest of the JSON object should be replaced by the following.  external_port and scn_name need to be unique across existing deployments of TCA microservice
Code Block
titleinputs
collapsetrue
,"aaiEnrichmentHost":"aai","aaiEnrichmentPort":"30233","enableAAIEnrichment":"true","enableRedisCaching":"false","dmaap_host":"10.12.5.127","dmaap_port":"3904","redisHosts":"na","consul_host":"10.12.5.130","consul_port":"8500","cbs_host":"config-binding-service","cbs_port":"10000","tag_version":"nexus3.onap.org:10001/onap/org.onap.dcaegen2.deployments.tca-cdap-container:1.0.0","dh_override":"dockerhost","dh_location_id":"zone1","scn_name":"dcaegen2-analytics_tca_clampinstance_936","external_port":"32138"}


This may take on the order of tens of seconds, as it waits for DCAE to report final success.

Once the Deployment is successful in DCAE, Status will change to "Active"


Image Added

Flow 3: Run Control Loop After Deployment 


Image Added

...

Flow 4: Update Control Loop by Reconfiguring TCA

Reconfigure

Image Removed


Code Block
titleUML Code for Flow 43
collapsetrue
@startuml
title UpdateThis Controlis Loopthe byflow Reconfiguring TCA
actor CLAMP_Tester
participant CLAMPthat will be tested in Beijing
participant VNF
participant VES_Collector
participant TCA_Instance1
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 : notify about\n updated policy
    activate PH
    PH 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 : /getConfig for\n policyName
    Policy --> PH : policy body
    PH -> DH : policy updated
    deactivate PH
    activate DH
    DH -> Cloudify : get components info
    Cloudify --> DH : components
    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
end
==TCA is expected to periodically poll for latest policies==
group polling for policy changes
    activate TCA_Instance
    TCA_Instance <-]: wake up
    activate TCA_Instance #DarkSalmon
    TCA_Instance -> CBS: get Config\n and policies\n (**new API**)
    activate CBS #DarkSalmon
    CBS -> consul: get Config\n and policies
    activate consul #DarkSalmon
    consul --> CBS: Config\n and policies
    deactivate consul
    CBS --> TCA_Instance: Config and\n policies
    deactivate CBS
    hnote over TCA_Instance: check if policy\n changed
    TCA_Instance -> TCA_Instance: act on\n changed\n policy
    TCA_Instance -->]: run
    deactivate TCA_Instance
end
@enduml

Run Control Loop Again

After the control loop is reconfigured, we test that the changes have taken effect.  This is done by running the control loop again.  For example, if the threshold value was increased, we would initiate an event with the old threshold value, and see that the signature is no longer produced.

...

Jira
serverONAP JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyPOLICY-779
Policy update API call does not return; root cause thought to be in
Jira
serverONAP JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyPOLICY-777
- these have been fixed

Signature ABATE Message
@enduml
Step RangeDescriptionStatusNotes
1-5Onset after deploying CL

App-C bug on receiving RESET request -

Jira
serverONAP JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyAPPC-900

6-8Abate after deploying CL






Flow 4: Update Control Loop by Reconfiguring TCA

Reconfigure

Image Added


Code Block
titleUML Code for Flow 4
collapsetrue
@startuml
title Update Control Loop by Reconfiguring 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 : notify about\n updated policy
    activate PH
    PH -> Policy : /getConfig for\n policyName
    Policy --> PH : policy body
    PH -> DH : policy updated
    deactivate PH
    activate DH
    DH -> Cloudify : get components info
    Cloudify --> DH : components
    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
end
==TCA is expected to periodically poll for latest policies==
group polling for policy changes
    activate TCA_Instance
    TCA_Instance <-]: wake up
    activate TCA_Instance #DarkSalmon
    TCA_Instance -> CBS: get Config\n and policies\n (**new API**)
    activate CBS #DarkSalmon
    CBS -> consul: get Config\n and policies
    activate consul #DarkSalmon
    consul --> CBS: Config\n and policies
    deactivate consul
    CBS --> TCA_Instance: Config and\n policies
    deactivate CBS
    hnote over TCA_Instance: check if policy\n changed
    TCA_Instance -> TCA_Instance: act on\n changed\n policy
    TCA_Instance -->]: run
    deactivate TCA_Instance
end
@enduml


Run Control Loop Again


After the control loop is reconfigured, we test that the changes have taken effect.  This is done by running the control loop again.  For example, if the threshold value was increased, we would initiate an event with the old threshold value, and see that the signature is no longer produced.


Testing Directions


Click on either the Policy box or the TCA box in order to bring up the details of the given policy

Update the values on the policy

Choose Update from the Manage CL Menu


Step RangeDescriptionStatusNotes
1-2CLAMP updates policy

Jira
serverONAP JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyPOLICY-779
Policy update API call does not return; root cause thought to be in
Jira
serverONAP JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyPOLICY-777
- these have been fixed

3-5Updated policy sent to DCAE

6-11Updated policy stored in DCAE

12-17TCA retrieves new policy

Flow 5: Stop and Restart Control Loop

Image Added


Code Block
titleUML Code for Flow 5
collapsetrue
@startuml
participant CLAMP
actor CLAMP_Tester
participant Policy
autonumber
CLAMP_Tester -> CLAMP : Stop operation\nof control loop
CLAMP -> Policy : Disable Operational Policy
participant VNF
participant VES_Collector
participant TCA_Instance1
participant AppC
autonumber
group Runtime Test
VNF -> VES_Collector : VES Message\nmeasurementsForVfScaling
VES_Collector -> TCA_Instance1 : VES Message\nmeasurementsForVfScaling
TCA_Instance1 -> Policy : Signature ONSET Message
end
CLAMP_Tester -> CLAMP : Restart operation\nof control loop
CLAMP -> Policy : Enable Operational Policy
participant VNF
participant VES_Collector
participant TCA_Instance1
participant AppC
autonumber
group Runtime Test
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
VNF -> VES_Collector : VES Message\nmeasurementsForVfScaling
VES_Collector -> TCA_Instance1 : VES Message\nmeasurementsForVfScaling
TCA_Instance1 -> Policy : Signature ABATE Message
end
@enduml


Testing Directions


Choose Stop from the Manage Menu

The Status will change to "Stopped"

To verify, check Policy GUI to confirm that the BRMS policy under the control loop's scope has been removed


Choose Restart from the Manage Menu

The Status will change back to "Active"

To verify, check Policy GUI to confirm that the BRMS policy under the control loop's scope has been returned


Step RangeDescriptionStatusNotes
1-2

...

Flow 5: Stop and Restart Control Loop

Image Removed

Code Block
titleUML Code for Flow 5
collapsetrue
@startuml
participant CLAMP
actor CLAMP_Tester
participant Policy
autonumber
CLAMP_Tester -> CLAMP : Stop operation\nof control loop
CLAMP -> Policy : Disable Operational Policy
participant VNF
participant VES_Collector
participant TCA_Instance1
participant AppC
autonumber
group Runtime Test
VNF -> VES_Collector : VES Message\nmeasurementsForVfScaling
VES_Collector -> TCA_Instance1 : VES Message\nmeasurementsForVfScaling
TCA_Instance1 -> Policy : Signature ONSET Message
end
CLAMP_Tester -> CLAMP : Restart operation\nof control loop
CLAMP -> Policy : Enable Operational Policy
participant VNF
participant VES_Collector
participant TCA_Instance1
participant AppC
autonumber
group Runtime Test
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
VNF -> VES_Collector : VES Message\nmeasurementsForVfScaling
VES_Collector -> TCA_Instance1 : VES Message\nmeasurementsForVfScaling
TCA_Instance1 -> Policy : Signature ABATE Message
end
@enduml
Notes
Step RangeDescriptionStatusOperational Policy (action) is disabled


Disabling of action is tested


Operational Policy (action) is enabled


Onset is tested after enabling action


Abatement is tested after enabling action

...

Flow 6: Undeploy Control Loop


Choose Undeploy from the Manage Menu

The Status will change to "Distributed"

To verify, check DCAE to make sure that the TCA instance has been removed

Dashboard