[VOL-4991] Voltha System Test for TIM Mcast Service Model

Change-Id: I5a8ead125773542d8e7c37738b23a7f991c97b23
diff --git a/tests/data/bbsim-kind-tim-2OLTx2PONx2ONU.yaml b/tests/data/bbsim-kind-tim-2OLTx2PONx2ONU.yaml
index ec02b87..af2eecd 100644
--- a/tests/data/bbsim-kind-tim-2OLTx2PONx2ONU.yaml
+++ b/tests/data/bbsim-kind-tim-2OLTx2PONx2ONU.yaml
@@ -32,9 +32,9 @@
     ip: '127.0.0.1'
 
 olts:
-  - ip: bbsim0.voltha.svc
+  - ip: bbsim0
     serial: BBSIM_OLT_10
-  - ip: bbsim1.voltha.svc
+  - ip: bbsim1
     serial: BBSIM_OLT_11
 
 hosts:
@@ -47,6 +47,16 @@
       service_type: 'hsia'
       uni_id: 1
       tp_id: '64'
+    - onu: 'BBSM000a0001'
+      olt: 'BBSIM_OLT_10'
+      uni_tag: '836'
+      c_tag: '101'
+      s_tag: '4096'
+      service_type: 'vod'
+      subMcast:
+        - 224.0.0.22
+      uni_id: 1
+      tp_id: '64'
     - onu: 'BBSM000a0002'
       olt: 'BBSIM_OLT_10'
       uni_tag: '835'
@@ -55,6 +65,16 @@
       service_type: 'hsia'
       uni_id: 1
       tp_id: '64'
+    - onu: 'BBSM000a0002'
+      olt: 'BBSIM_OLT_10'
+      uni_tag: '836'
+      c_tag: '101'
+      s_tag: '4096'
+      service_type: 'vod'
+      subMcast:
+        - 224.0.0.24
+      uni_id: 1
+      tp_id: '64'
     - onu: 'BBSM000a0101'
       olt: 'BBSIM_OLT_10'
       uni_tag: '835'
@@ -63,6 +83,17 @@
       service_type: 'hsia'
       uni_id: 1
       tp_id: '64'
+    - onu: 'BBSM000a0101'
+      olt: 'BBSIM_OLT_10'
+      uni_tag: '836'
+      c_tag: '101'
+      s_tag: '4096'
+      service_type: 'vod'
+      subMcast:
+        - 224.0.0.25
+        - 224.0.0.22
+      uni_id: 1
+      tp_id: '64'
     - onu: 'BBSM000a0102'
       olt: 'BBSIM_OLT_10'
       uni_tag: '835'
@@ -71,6 +102,16 @@
       service_type: 'hsia'
       uni_id: 1
       tp_id: '64'
+    - onu: 'BBSM000a0102'
+      olt: 'BBSIM_OLT_10'
+      uni_tag: '836'
+      c_tag: '101'
+      s_tag: '4096'
+      service_type: 'vod'
+      subMcast:
+        - 224.0.0.24
+      uni_id: 1
+      tp_id: '64'
     - onu: 'BBSM000b0001'
       olt: 'BBSIM_OLT_11'
       uni_tag: '835'
@@ -79,6 +120,16 @@
       service_type: 'hsia'
       uni_id: 1
       tp_id: '64'
+    - onu: 'BBSM000b0001'
+      olt: 'BBSIM_OLT_11'
+      uni_tag: '836'
+      c_tag: '101'
+      s_tag: '4096'
+      service_type: 'vod'
+      subMcast:
+        - 224.0.0.22
+      uni_id: 1
+      tp_id: '64'
     - onu: 'BBSM000b0002'
       olt: 'BBSIM_OLT_11'
       uni_tag: '835'
@@ -87,6 +138,16 @@
       service_type: 'hsia'
       uni_id: 1
       tp_id: '64'
+    - onu: 'BBSM000b0002'
+      olt: 'BBSIM_OLT_11'
+      uni_tag: '836'
+      c_tag: '101'
+      s_tag: '4096'
+      service_type: 'vod'
+      subMcast:
+        - 224.0.0.24
+      uni_id: 1
+      tp_id: '64'
     - onu: 'BBSM000b0101'
       olt: 'BBSIM_OLT_11'
       uni_tag: '835'
@@ -95,6 +156,17 @@
       service_type: 'hsia'
       uni_id: 1
       tp_id: '64'
+    - onu: 'BBSM000b0101'
+      olt: 'BBSIM_OLT_11'
+      uni_tag: '836'
+      c_tag: '101'
+      s_tag: '4096'
+      service_type: 'vod'
+      subMcast:
+        - 224.0.0.25
+        - 224.0.0.22
+      uni_id: 1
+      tp_id: '64'
     - onu: 'BBSM000b0102'
       olt: 'BBSIM_OLT_11'
       uni_tag: '835'
@@ -103,6 +175,16 @@
       service_type: 'hsia'
       uni_id: 1
       tp_id: '64'
+    - onu: 'BBSM000b0102'
+      olt: 'BBSIM_OLT_11'
+      uni_tag: '836'
+      c_tag: '101'
+      s_tag: '4096'
+      service_type: 'vod'
+      subMcast:
+        - 224.0.0.24
+      uni_id: 1
+      tp_id: '64'
 
   dst:
     - ip: null
@@ -113,3 +195,11 @@
     - ip: null
     - ip: null
     - ip: null
+    - ip: null
+    - ip: null
+    - ip: null
+    - ip: null
+    - ip: null
+    - ip: null
+    - ip: null
+    - ip: null
diff --git a/tests/data/bbsim-kind-tim-Mcast-2OLTx2PONx2UNI-single_multi_Sub.yaml b/tests/data/bbsim-kind-tim-Mcast-2OLTx2PONx2UNI-single_multi_Sub.yaml
new file mode 100644
index 0000000..af2eecd
--- /dev/null
+++ b/tests/data/bbsim-kind-tim-Mcast-2OLTx2PONx2UNI-single_multi_Sub.yaml
@@ -0,0 +1,205 @@
+---
+
+# Copyright 2017-present Open Networking Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Automated deployment configuration for systems running BBSim
+
+# Change default values in tests
+workflow: TIM
+has_dataplane: false
+teardown_device: true
+ONOS_REST_PORT: 8181
+ONOS_SSH_PORT: 8101
+OLT_PORT: 50060
+
+# Actual Unused sadis.file but ready to future implementation
+# sadis.file: ../data/tim-sadis-config.json
+
+nodes:
+  -
+    ip: '127.0.0.1'
+
+olts:
+  - ip: bbsim0
+    serial: BBSIM_OLT_10
+  - ip: bbsim1
+    serial: BBSIM_OLT_11
+
+hosts:
+  src:
+    - onu: 'BBSM000a0001'
+      olt: 'BBSIM_OLT_10'
+      uni_tag: '835'
+      c_tag: '100'
+      s_tag: '4096'
+      service_type: 'hsia'
+      uni_id: 1
+      tp_id: '64'
+    - onu: 'BBSM000a0001'
+      olt: 'BBSIM_OLT_10'
+      uni_tag: '836'
+      c_tag: '101'
+      s_tag: '4096'
+      service_type: 'vod'
+      subMcast:
+        - 224.0.0.22
+      uni_id: 1
+      tp_id: '64'
+    - onu: 'BBSM000a0002'
+      olt: 'BBSIM_OLT_10'
+      uni_tag: '835'
+      c_tag: '100'
+      s_tag: '4096'
+      service_type: 'hsia'
+      uni_id: 1
+      tp_id: '64'
+    - onu: 'BBSM000a0002'
+      olt: 'BBSIM_OLT_10'
+      uni_tag: '836'
+      c_tag: '101'
+      s_tag: '4096'
+      service_type: 'vod'
+      subMcast:
+        - 224.0.0.24
+      uni_id: 1
+      tp_id: '64'
+    - onu: 'BBSM000a0101'
+      olt: 'BBSIM_OLT_10'
+      uni_tag: '835'
+      c_tag: '100'
+      s_tag: '4096'
+      service_type: 'hsia'
+      uni_id: 1
+      tp_id: '64'
+    - onu: 'BBSM000a0101'
+      olt: 'BBSIM_OLT_10'
+      uni_tag: '836'
+      c_tag: '101'
+      s_tag: '4096'
+      service_type: 'vod'
+      subMcast:
+        - 224.0.0.25
+        - 224.0.0.22
+      uni_id: 1
+      tp_id: '64'
+    - onu: 'BBSM000a0102'
+      olt: 'BBSIM_OLT_10'
+      uni_tag: '835'
+      c_tag: '100'
+      s_tag: '4096'
+      service_type: 'hsia'
+      uni_id: 1
+      tp_id: '64'
+    - onu: 'BBSM000a0102'
+      olt: 'BBSIM_OLT_10'
+      uni_tag: '836'
+      c_tag: '101'
+      s_tag: '4096'
+      service_type: 'vod'
+      subMcast:
+        - 224.0.0.24
+      uni_id: 1
+      tp_id: '64'
+    - onu: 'BBSM000b0001'
+      olt: 'BBSIM_OLT_11'
+      uni_tag: '835'
+      c_tag: '100'
+      s_tag: '4096'
+      service_type: 'hsia'
+      uni_id: 1
+      tp_id: '64'
+    - onu: 'BBSM000b0001'
+      olt: 'BBSIM_OLT_11'
+      uni_tag: '836'
+      c_tag: '101'
+      s_tag: '4096'
+      service_type: 'vod'
+      subMcast:
+        - 224.0.0.22
+      uni_id: 1
+      tp_id: '64'
+    - onu: 'BBSM000b0002'
+      olt: 'BBSIM_OLT_11'
+      uni_tag: '835'
+      c_tag: '100'
+      s_tag: '4096'
+      service_type: 'hsia'
+      uni_id: 1
+      tp_id: '64'
+    - onu: 'BBSM000b0002'
+      olt: 'BBSIM_OLT_11'
+      uni_tag: '836'
+      c_tag: '101'
+      s_tag: '4096'
+      service_type: 'vod'
+      subMcast:
+        - 224.0.0.24
+      uni_id: 1
+      tp_id: '64'
+    - onu: 'BBSM000b0101'
+      olt: 'BBSIM_OLT_11'
+      uni_tag: '835'
+      c_tag: '100'
+      s_tag: '4096'
+      service_type: 'hsia'
+      uni_id: 1
+      tp_id: '64'
+    - onu: 'BBSM000b0101'
+      olt: 'BBSIM_OLT_11'
+      uni_tag: '836'
+      c_tag: '101'
+      s_tag: '4096'
+      service_type: 'vod'
+      subMcast:
+        - 224.0.0.25
+        - 224.0.0.22
+      uni_id: 1
+      tp_id: '64'
+    - onu: 'BBSM000b0102'
+      olt: 'BBSIM_OLT_11'
+      uni_tag: '835'
+      c_tag: '100'
+      s_tag: '4096'
+      service_type: 'hsia'
+      uni_id: 1
+      tp_id: '64'
+    - onu: 'BBSM000b0102'
+      olt: 'BBSIM_OLT_11'
+      uni_tag: '836'
+      c_tag: '101'
+      s_tag: '4096'
+      service_type: 'vod'
+      subMcast:
+        - 224.0.0.24
+      uni_id: 1
+      tp_id: '64'
+
+  dst:
+    - ip: null
+    - ip: null
+    - ip: null
+    - ip: null
+    - ip: null
+    - ip: null
+    - ip: null
+    - ip: null
+    - ip: null
+    - ip: null
+    - ip: null
+    - ip: null
+    - ip: null
+    - ip: null
+    - ip: null
+    - ip: null
diff --git a/tests/data/bbsim-kind-tim-Mcast.yaml b/tests/data/bbsim-kind-tim-Mcast.yaml
new file mode 100644
index 0000000..35efe20
--- /dev/null
+++ b/tests/data/bbsim-kind-tim-Mcast.yaml
@@ -0,0 +1,61 @@
+---
+
+# Copyright 2017-present Open Networking Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Automated deployment configuration for systems running BBSim
+
+# Change default values in tests
+workflow: TIM
+has_dataplane: false
+teardown_device: true
+ONOS_REST_PORT: 8181
+ONOS_SSH_PORT: 8101
+OLT_PORT: 50060
+
+# Actual Unused sadis.file but ready to future implementation
+# sadis.file: ../data/tim-sadis-config.json
+
+nodes:
+  -
+    ip: '127.0.0.1'
+
+olts:
+  - ip: bbsim0
+    serial: BBSIM_OLT_10
+
+hosts:
+  src:
+    - onu: 'BBSM000a0001'
+      olt: 'BBSIM_OLT_10'
+      uni_tag: '835'
+      c_tag: '100'
+      s_tag: '4096'
+      service_type: 'hsia'
+      uni_id: 1
+      tp_id: '64'
+    - onu: 'BBSM000a0001'
+      olt: 'BBSIM_OLT_10'
+      uni_tag: '836'
+      c_tag: '101'
+      s_tag: '4096'
+      service_type: 'vod'
+      subMcast:
+        - 224.0.0.22
+      uni_id: 1
+      tp_id: '64'
+
+  dst:
+    - ip: null
+    - ip: null
diff --git a/tests/data/bbsim-kind-tim-OLTx2PONx2ONU.yaml b/tests/data/bbsim-kind-tim-OLTx2PONx2ONU.yaml
index 483ad27..ff67227 100644
--- a/tests/data/bbsim-kind-tim-OLTx2PONx2ONU.yaml
+++ b/tests/data/bbsim-kind-tim-OLTx2PONx2ONU.yaml
@@ -32,7 +32,7 @@
     ip: '127.0.0.1'
 
 olts:
-  - ip: bbsim0.voltha.svc
+  - ip: bbsim0
     serial: BBSIM_OLT_10
 
 hosts:
diff --git a/tests/data/bbsim-kind-tim-OLTxPONx2ONU.yaml b/tests/data/bbsim-kind-tim-OLTxPONx2ONU.yaml
index 8a71814..b65a6f7 100644
--- a/tests/data/bbsim-kind-tim-OLTxPONx2ONU.yaml
+++ b/tests/data/bbsim-kind-tim-OLTxPONx2ONU.yaml
@@ -32,7 +32,7 @@
     ip: '127.0.0.1'
 
 olts:
-  - ip: bbsim0.voltha.svc
+  - ip: bbsim0
     serial: BBSIM_OLT_10
 
 hosts:
diff --git a/tests/data/bbsim-kind-tim.yaml b/tests/data/bbsim-kind-tim.yaml
index 79e9769..f2aef1d 100644
--- a/tests/data/bbsim-kind-tim.yaml
+++ b/tests/data/bbsim-kind-tim.yaml
@@ -32,7 +32,7 @@
     ip: '127.0.0.1'
 
 olts:
-  - ip: bbsim0.voltha.svc
+  - ip: bbsim0
     serial: BBSIM_OLT_10
 
 hosts:
@@ -45,6 +45,15 @@
       service_type: 'hsia'
       uni_id: 1
       tp_id: '64'
+    - onu: 'BBSM000a0001'
+      olt: 'BBSIM_OLT_10'
+      uni_tag: '836'
+      c_tag: '101'
+      s_tag: '4096'
+      service_type: 'vod'
+      uni_id: 1
+      tp_id: '64'
 
   dst:
     - ip: null
+    - ip: null
diff --git a/tests/tim-workflow/Voltha_TIM_PODTests.robot b/tests/tim-workflow/Voltha_TIM_PODTests.robot
index ebd2ed5..dd69b3b 100755
--- a/tests/tim-workflow/Voltha_TIM_PODTests.robot
+++ b/tests/tim-workflow/Voltha_TIM_PODTests.robot
@@ -97,15 +97,15 @@
     [Documentation]    Validate the correct construction of the flow rules in ONOS and in the devices:
     ...    Flow rules in accordance with TIM Workflow.
     ...    Verify the correctness of the flow/group rules generated by ONOS and written in
-    ...    the respective devices (OLT and ONU), about IGMP.
+    ...    the respective devices (OLT and ONU) by MCast ONOS App.
     ...    We use a Transparent VLAN approach.
     ...    Perform a scalability test both for flow rules in ONOS and in devices.
-    [Tags]    sanityTIM-MCast    notready
+    [Tags]    sanityTIM-MCast
     [Setup]    Start Logging    sanityTIM-MCast
     [Teardown]    Run Keywords    Run Keyword If    ${logging}    Collect Logs
     ...           AND             Stop Logging    sanityTIM-MCast
+    Run Keyword     Setup    ${SOAK_TEST}
     Run Keyword If    ${has_dataplane}    Clean Up Linux
-    TODO: Yet to Implement below keyword
     Perform Sanity Test TIM MCAST     supress_add_subscriber=${suppressaddsubscriber}
     ...     maclearning_enabled=${maclearningenabled}