Add checks to remove race conditions
Change-Id: I1cf1d12700034f8c11e4850d4db9f41f46e23754
diff --git a/src/test/cord-api/Tests/WorkflowValidations/SIAB.robot b/src/test/cord-api/Tests/WorkflowValidations/SIAB.robot
index de399ca..0fa0cc7 100644
--- a/src/test/cord-api/Tests/WorkflowValidations/SIAB.robot
+++ b/src/test/cord-api/Tests/WorkflowValidations/SIAB.robot
@@ -50,14 +50,9 @@
... Validate successful authentication/DHCP/E2E ping
[Setup] None
[Tags] stable latest test1
- Wait Until Keyword Succeeds 60s 15s Validate ONU States ACTIVE ENABLED ${onu_device}
- Wait Until Keyword Succeeds 60s 2s Validate ATT Workflow Driver SI ENABLED AWAITING ${onu_device}
- Wait Until Keyword Succeeds 60s 2s Validate Subscriber Status awaiting-auth ${onu_device}
+ Subscriber Ready to Authenticate
Validate Authentication True eth0 wpa_supplicant.conf ${kube_node_ip} ${local_user} ${local_pass} K8S ${RG_CONTAINER}
- Wait Until Keyword Succeeds 60s 2s Validate ATT Workflow Driver SI ENABLED APPROVED ${onu_device}
- Wait Until Keyword Succeeds 60s 2s Validate Subscriber Status enabled ${onu_device}
- Wait Until Keyword Succeeds 60s 2s Validate Subscriber Service Chain ${onu_device} True
- Wait Until Keyword Succeeds 60s 2s Validate Fabric CrossConnect SI ${s_tag} True
+ Subscriber Service Chain Created
Validate DHCP and Ping True True eth0 ${s_tag} ${c_tag} ${dst_host_ip} ${kube_node_ip} ${local_user} ${local_pass} K8S ${RG_CONTAINER}
${subscriber_id}= Retrieve Subscriber ${c_tag}
CORD Put ${VOLT_SUBSCRIBER} {"status":"disabled"} ${subscriber_id}
@@ -65,8 +60,10 @@
Wait Until Keyword Succeeds 60s 2s Validate Fabric CrossConnect SI ${s_tag} False
Validate DHCP and Ping False False eth0 ${s_tag} ${c_tag} ${dst_host_ip} ${kube_node_ip} ${local_user} ${local_pass} K8S ${RG_CONTAINER}
Restart RG Pod
- CORD Put ${VOLT_SUBSCRIBER} {"status":"enabled"} ${subscriber_id}
+ CORD Put ${VOLT_SUBSCRIBER} {"status":"awaiting-auth"} ${subscriber_id}
+ # ATTWD SI auth_state is already "APPROVED" here from previous auth... not sure if this matters
Validate Authentication True eth0 wpa_supplicant.conf ${kube_node_ip} ${local_user} ${local_pass} K8S ${RG_CONTAINER}
+ Subscriber Service Chain Created
Validate DHCP and Ping True True eth0 ${s_tag} ${c_tag} ${dst_host_ip} ${kube_node_ip} ${local_user} ${local_pass} K8S ${RG_CONTAINER}
ONU in Correct Location -> Remove ONU from Whitelist -> Add ONU to Whitelist
@@ -296,7 +293,6 @@
Validate DHCP and Ping False False eth0 ${s_tag} ${c_tag} ${dst_host_ip} ${kube_node_ip} ${local_user} ${local_pass} K8S ${RG_CONTAINER}
Restart RG Pod
Update Whitelist with Correct Location
- Reset ONU
Wait Until Keyword Succeeds 60s 15s Validate ONU States ACTIVE ENABLED ${onu_device}
Wait Until Keyword Succeeds 60s 2s Validate ATT Workflow Driver SI ENABLED AWAITING ${onu_device}
Validate Authentication True eth0 wpa_supplicant.conf ${kube_node_ip} ${local_user} ${local_pass} K8S ${RG_CONTAINER}
@@ -304,8 +300,7 @@
Validate DHCP and Ping False False eth0 ${s_tag} ${c_tag} ${dst_host_ip} ${kube_node_ip} ${local_user} ${local_pass} K8S ${RG_CONTAINER}
Restart RG Pod
Create Subscriber
- Reset ONU
- Wait Until Keyword Succeeds 60s 2s Validate Subscriber Status awaiting-auth ${onu_device}
+ Wait Until Keyword Succeeds 60s 2s Validate Subscriber Status awaiting-auth ${onu_device} pre-provisioned
Validate Authentication True eth0 wpa_supplicant.conf ${kube_node_ip} ${local_user} ${local_pass} K8S ${RG_CONTAINER}
Wait Until Keyword Succeeds 60s 2s Validate ATT Workflow Driver SI ENABLED APPROVED ${onu_device}
Wait Until Keyword Succeeds 60s 2s Validate Subscriber Status enabled ${onu_device}
@@ -366,27 +361,34 @@
Setup Test
${datetime}= Get Current Datetime On Kubernetes Node ${kube_node_ip} ${local_user} ${local_pass}
Set Suite Variable ${datetime}
- Wait Until Keyword Succeeds 60s 2s Create Whitelist
Wait Until Keyword Succeeds 60s 2s Create Subscriber
- Reset ONU
- Wait Until Keyword Succeeds 120s 2s Validate ATT Workflow Driver SI ENABLED AWAITING ${onu_device}
- Wait Until Keyword Succeeds 120s 2s Validate ONU States ACTIVE ENABLED ${onu_device}
+ Wait Until Keyword Succeeds 60s 2s Create Whitelist
+ Subscriber Ready to Authenticate
+
+Subscriber Ready to Authenticate
+ Wait Until Keyword Succeeds 60s 15s Validate ONU States ACTIVE ENABLED ${onu_device}
+ Wait Until Keyword Succeeds 60s 2s Validate ATT Workflow Driver SI ENABLED AWAITING ${onu_device}
Wait Until Keyword Succeeds 60s 2s Validate Subscriber Status awaiting-auth ${onu_device}
- ${RG_CONTAINER}= Run kubectl -n voltha get pod|grep "^rg-"|cut -d' ' -f1
- Set Suite Variable ${RG_CONTAINER}
+
+Subscriber Service Chain Created
+ Wait Until Keyword Succeeds 60s 2s Validate ATT Workflow Driver SI ENABLED APPROVED ${onu_device}
+ Wait Until Keyword Succeeds 60s 2s Validate Subscriber Status enabled ${onu_device}
+ Wait Until Keyword Succeeds 60s 2s Validate Subscriber Service Chain ${onu_device} True
+ Wait Until Keyword Succeeds 60s 2s Validate Fabric CrossConnect SI ${s_tag} True
Simple Setup
${datetime}= Get Current Datetime On Kubernetes Node ${kube_node_ip} ${local_user} ${local_pass}
Set Suite Variable ${datetime}
${RG_CONTAINER}= Run kubectl -n voltha get pod|grep "^rg-"|cut -d' ' -f1
Set Suite Variable ${RG_CONTAINER}
- Reset ONU
Test Cleanup
[Documentation] Restore back to initial state per each test
Log Kubernetes Containers Logs Since Time ${datetime} ${container_list}
Wait Until Keyword Succeeds 60s 2s Clean Up Objects ${VOLT_SUBSCRIBER}
Wait Until Keyword Succeeds 60s 2s Clean Up Objects ${ATT_WHITELIST}
+ Wait Until Keyword Succeeds 30s 2s Validate ONU States UNKNOWN DISABLED ${onu_device}
+ Wait Until Keyword Succeeds 30s 2s Validate ATT Workflow Driver SI DISABLED AWAITING ${onu_device}
Restart RG Pod
Restart RG Pod
@@ -427,18 +429,13 @@
Reset SIAB Environment
Wait Until Keyword Succeeds 60s 2s Clean Up Objects ${VOLT_SUBSCRIBER}
Wait Until Keyword Succeeds 60s 2s Clean Up Objects ${ATT_WHITELIST}
+ Wait Until Keyword Succeeds 30s 2s Validate ONU States UNKNOWN DISABLED ${onu_device}
+ Wait Until Keyword Succeeds 30s 2s Validate ATT Workflow Driver SI DISABLED AWAITING ${onu_device}
Restart RG Pod
- Wait Until Keyword Succeeds 60s 2s Create Whitelist
Wait Until Keyword Succeeds 60s 2s Create Subscriber
- Reset ONU
+ Wait Until Keyword Succeeds 60s 2s Create Whitelist
Wait Until Keyword Succeeds 120s 2s Validate ATT Workflow Driver SI ENABLED AWAITING ${onu_device}
Wait Until Keyword Succeeds 60s 15s Validate ONU States ACTIVE ENABLED ${onu_device}
Wait Until Keyword Succeeds 60s 2s Validate Subscriber Status awaiting-auth ${onu_device}
${RG_CONTAINER}= Run kubectl -n voltha get pod|grep "^rg-"|cut -d' ' -f1
Set Suite Variable ${RG_CONTAINER}
-
-Reset ONU
- CORD Put /xosapi/v1/volt/onudevices {"admin_state": "DISABLED" } 1
- Sleep 10
- CORD Put /xosapi/v1/volt/onudevices {"admin_state": "ENABLED" } 1
- Sleep 10