SEBA-686 Enable multiple Ponsim OLTs

Change-Id: I0128903474f31b6e00d0fc1eed5cfad604d87475
diff --git a/src/test/cord-api/Framework/DHCP.robot b/src/test/cord-api/Framework/DHCP.robot
index 8f1a08d..c8b40d2 100644
--- a/src/test/cord-api/Framework/DHCP.robot
+++ b/src/test/cord-api/Framework/DHCP.robot
@@ -35,6 +35,6 @@
     [Arguments]    ${ip_should_exist}    ${iface}    ${ip}    ${user}    ${pass}=${None}    ${container_type}=${None}    ${container_name}=${None}
     [Documentation]    Check if the sepcified interface has an IPv4 address assigned
     ${output}=    Login And Run Command On Remote System    ip address show ${iface}    ${ip}    ${user}    ${pass}    ${container_type}    ${container_name}
-    ${ipv4_regex}=    Set Variable If    '${container_type}' != 'K8S'    \\b([0-9]{1,3}\\.){3}[0-9]{1,3}\\b    \\b(172)\.(18)(\.([0-9])){1,3}\\b
+    ${ipv4_regex}=    Set Variable If    '${container_type}' != 'K8S'    \\b([0-9]{1,3}\\.){3}[0-9]{1,3}\\b    \\b(172)\\.(18)(\\.([0-9]{1,3})){2}\\b
     Run Keyword If    '${ip_should_exist}' == 'True'    Should Match Regexp    ${output}    ${ipv4_regex}
     Run Keyword If    '${ip_should_exist}' == 'False'    Should Not Match Regexp    ${output}    ${ipv4_regex}
\ No newline at end of file
diff --git a/src/test/cord-api/Framework/Subscriber.robot b/src/test/cord-api/Framework/Subscriber.robot
index ad9bb68..4065a73 100644
--- a/src/test/cord-api/Framework/Subscriber.robot
+++ b/src/test/cord-api/Framework/Subscriber.robot
@@ -133,7 +133,7 @@
     ...                                          ELSE    Wait Until Keyword Succeeds    60s    2s    Check Ping    False    ${dst_dp_ip}    ${src_iface}    ${src_ip}    ${src_user}    ${src_pass}    ${src_container_type}    ${src_container_name}
 
 Send Dhclient Request K8S
-    ${RG_CONTAINER}=    Wait Until Keyword Succeeds    60s    1s    Run    kubectl -n voltha get pod|grep "^rg-"|cut -d' ' -f1
+    ${RG_CONTAINER}=    Wait Until Keyword Succeeds    60s    1s    Run    kubectl -n voltha get pod|grep "^rg[0-]"|cut -d' ' -f1
     Run    kubectl -n voltha exec ${RG_CONTAINER} -- sed -i 's/timeout 300;/timeout 30;/' /etc/dhcp/dhclient.conf
     Run    kubectl -n voltha exec ${RG_CONTAINER} -- ifconfig eth0 0.0.0.0
     Run    kubectl -n voltha exec ${RG_CONTAINER} -- dhclient
diff --git a/src/test/cord-api/Tests/WorkflowValidations/SIAB.robot b/src/test/cord-api/Tests/WorkflowValidations/SIAB.robot
index 8d72f1f..d14bdf2 100644
--- a/src/test/cord-api/Tests/WorkflowValidations/SIAB.robot
+++ b/src/test/cord-api/Tests/WorkflowValidations/SIAB.robot
@@ -319,7 +319,7 @@
     Set Suite Variable    ${whitelist_id}
     ${att_si_id}=    Retrieve ATT Service Instance ID    ${onu_device}
     Set Suite Variable    ${att_si_id}
-    ${RG_CONTAINER}=    Run    kubectl -n voltha get pod|grep "^rg-"|cut -d' ' -f1
+    ${RG_CONTAINER}=    Run    kubectl -n voltha get pod|grep "^rg[0-]"|cut -d' ' -f1
     Set Suite Variable    ${RG_CONTAINER}
     ## Validate ATT Workflow SI
     Wait Until Keyword Succeeds    60s    2s    Validate ATT Workflow Driver SI    ENABLED    AWAITING    ${onu_device}
@@ -366,7 +366,7 @@
 Simple Setup
     ${datetime}=    Run    date +"%Y-%m-%dT%H:%M:%S.%NZ"
     Set Suite Variable    ${datetime}
-    ${RG_CONTAINER}=    Run    kubectl -n voltha get pod|grep "^rg-"|cut -d' ' -f1
+    ${RG_CONTAINER}=    Run    kubectl -n voltha get pod|grep "^rg[0-]"|cut -d' ' -f1
     Set Suite Variable    ${RG_CONTAINER}
 
 Test Cleanup
@@ -384,7 +384,7 @@
 
 Restart RG Pod
     Run    kubectl -n voltha delete pod ${RG_CONTAINER}
-    ${RG_CONTAINER}=    Wait Until Keyword Succeeds    60s    1s    Run    kubectl -n voltha get pod|grep "^rg-"|cut -d' ' -f1
+    ${RG_CONTAINER}=    Wait Until Keyword Succeeds    60s    1s    Run    kubectl -n voltha get pod|grep "^rg[0-]"|cut -d' ' -f1
     Set Suite Variable    ${RG_CONTAINER}
     Run    kubectl wait -n voltha pod/${RG_CONTAINER} --for condition=Ready --timeout=180s
 
@@ -426,7 +426,7 @@
     Wait Until Keyword Succeeds    60s    2s    Create Subscriber
     Wait Until Keyword Succeeds    60s    2s    Create Whitelist
     Subscriber Ready to Authenticate
-    ${RG_CONTAINER}=    Run    kubectl -n voltha get pod|grep "^rg-"|cut -d' ' -f1
+    ${RG_CONTAINER}=    Run    kubectl -n voltha get pod|grep "^rg[0-]"|cut -d' ' -f1
     Set Suite Variable    ${RG_CONTAINER}
 
 Validate XConnect in ONOS
diff --git a/src/test/cord-api/Tests/WorkflowValidations/data/SIABOLT0Device.json b/src/test/cord-api/Tests/WorkflowValidations/data/SIABOLT0Device.json
new file mode 100644
index 0000000..75021c7
--- /dev/null
+++ b/src/test/cord-api/Tests/WorkflowValidations/data/SIABOLT0Device.json
@@ -0,0 +1,15 @@
+{
+    "VOLTDeviceInfo" : [
+    {
+            "device_type": "ponsim_olt",
+            "host": "olt0.voltha.svc",
+            "port": 50060,
+            "switch_datapath_id": "of:0000000000000001",
+            "switch_port": "2",
+            "outer_tpid": "0x8100",
+            "name": "PONSIM OLT",
+            "uplink": "2",
+            "volt_service_id": 2
+    }
+  ]
+}
diff --git a/src/test/cord-api/Tests/WorkflowValidations/data/SIABSubscriberLatest.json b/src/test/cord-api/Tests/WorkflowValidations/data/SIABSubscriberLatest.json
index 8458513..c483383 100644
--- a/src/test/cord-api/Tests/WorkflowValidations/data/SIABSubscriberLatest.json
+++ b/src/test/cord-api/Tests/WorkflowValidations/data/SIABSubscriberLatest.json
@@ -1,10 +1,10 @@
 {
     "SubscriberInfo" : [
      {
-            "name": "QQClient",
+            "name": "QQClient0",
             "s_tag": 222,
             "c_tag": 111,
-            "onu_device": "PSMO12345678",
+            "onu_device": "PSMO00000000",
             "status": "pre-provisioned",
             "upstream_bps_id": 2,
             "downstream_bps_id": 2
diff --git a/src/test/cord-api/Tests/WorkflowValidations/data/SIABWhitelistLatest.json b/src/test/cord-api/Tests/WorkflowValidations/data/SIABWhitelistLatest.json
new file mode 100644
index 0000000..67da827
--- /dev/null
+++ b/src/test/cord-api/Tests/WorkflowValidations/data/SIABWhitelistLatest.json
@@ -0,0 +1,10 @@
+{
+    "AttWhiteListInfo" : [
+    {
+            "serial_number": "PSMO00000000",
+            "device_id" : "of:0000d0d3e158fede",
+            "pon_port_id" : 1,
+            "owner_id" : "1"
+    }
+  ]
+}