Add checks to remove race conditions
Change-Id: I1cf1d12700034f8c11e4850d4db9f41f46e23754
diff --git a/VERSION b/VERSION
index e010258..5410937 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-2.0.5
+2.0.6-dev
diff --git a/src/test/cord-api/Dockerfile.k8s-api-tester b/src/test/cord-api/Dockerfile.k8s-api-tester
index 1546890..1bef8c7 100644
--- a/src/test/cord-api/Dockerfile.k8s-api-tester
+++ b/src/test/cord-api/Dockerfile.k8s-api-tester
@@ -19,7 +19,7 @@
FROM python:2.7
RUN pip install httpie robotframework robotframework-requests pexpect \
- robotframework-sshlibrary robotframework-httplibrary robotframework-ride robotframework-kafkalibrary pygments pyyaml && \
+ robotframework-sshlibrary robotframework-httplibrary robotframework-kafkalibrary pygments pyyaml && \
pip install -U requests && rm -rf /var/lib/apt/lists/*
RUN mkdir -p /src/cord-api
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