View file | ||||
---|---|---|---|---|
|
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 | ||||
---|---|---|---|---|
|
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"
Flow 3: Run Control Loop After Deployment
Code Block | ||||
---|---|---|---|---|
| ||||
@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 4: Update Control Loop by Reconfiguring TCA
Reconfigure
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 | ||||
---|---|---|---|---|
| ||||
,"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"
Flow 3: Run Control Loop After Deployment
Code Block | ||||
---|---|---|---|---|
| ||||
@startuml title UpdateThis Controlis Loopthe byflow Reconfiguring TCA actor CLAMP_Testerthat will be tested in Beijing participant CLAMPVNF participant PolicyVES_Collector box "DCAE controller"participant TCA_Instance1 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.
...
Jira Legacy | ||||||||
---|---|---|---|---|---|---|---|---|
|
Jira Legacy | ||||||||
---|---|---|---|---|---|---|---|---|
|
...
Flow 5: Stop and Restart Control Loop
Code Block | ||||
---|---|---|---|---|
| ||||
@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 |
...
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 |
Step Range | Description | Status | Notes | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1-5 | Onset after deploying CL | App-C bug on receiving RESET request -
| |||||||||||
6-8 | Abate after deploying CL | ||||||||||||
Flow 4: Update Control Loop by Reconfiguring TCA
Reconfigure
Code Block | ||||
---|---|---|---|---|
| ||||
@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 Range | Description | Status | Notes | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1-2 | CLAMP updates policy |
| |||||||||||||||||||||
3-5 | Updated policy sent to DCAE | ||||||||||||||||||||||
6-11 | Updated policy stored in DCAE | ||||||||||||||||||||||
12-17 | TCA retrieves new policy |
Flow 5: Stop and Restart Control Loop
Code Block | ||||
---|---|---|---|---|
| ||||
@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 Range | Description | Status | Notes |
---|---|---|---|
1-2 | Operational 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