Test: Reorg. cord-tester code in general.
Change test cases to use olt configuration as appropriate when switch isn't running in the test container.
Remove olt multitable config and fold into olt_config.
Rename subscriberMultiTable to cordSubscriber test.
Change the eval script to reflect the new changes/design in cord tester.

Change-Id: I4849b32603ac790a31ba7cfb65b3f87a7c9e2076
diff --git a/src/test/utils/OltConfig.py b/src/test/utils/OltConfig.py
index bb78563..ac5f5db 100644
--- a/src/test/utils/OltConfig.py
+++ b/src/test/utils/OltConfig.py
@@ -38,34 +38,12 @@
     def olt_port_map(self):
         if self.on_olt() and self.olt_conf.has_key('port_map'):
             port_map = {}
-            port_map['ports'] = self.olt_conf['port_map']['ports']
-            port_map['start_vlan'] = 0
-            if self.olt_conf['port_map'].has_key('host'):
-                port_map['host'] = self.olt_conf['port_map']['host']
-            else:
-                port_map['host'] = 'ovsbr0'
-            if self.olt_conf['port_map'].has_key('start_vlan'):
-                port_map['start_vlan'] = int(self.olt_conf['port_map']['start_vlan'])
-                
-            ##Build a rx/tx port number to interface map
-            port_map[1] = self.olt_conf['port_map']['rx']
-            port_map[2] = self.olt_conf['port_map']['tx']
-            port_map[port_map[1]] = 1
-            port_map[port_map[2]] = 2
-            return port_map
-        else:
-            return None
-
-    def olt_port_map_multi(self):
-        if self.on_olt() and self.olt_conf.has_key('port_map'):
-            port_map = {}
             if self.olt_conf['port_map'].has_key('ports'):
                 port_map['ports'] = self.olt_conf['port_map']['ports']
             else:
                 port_map['ports'] = []
                 num_ports = int(self.olt_conf['port_map']['num_ports'])
-                port_map['port'] = self.olt_conf['port_map']['port']
-                for port in xrange(0, num_ports, 2):
+                for port in xrange(0, num_ports*2, 2):
                     port_map['ports'].append('veth{}'.format(port))
             port_num = 1
             port_map['uplink'] = int(self.olt_conf['uplink'])
diff --git a/src/test/utils/OnosCtrl.py b/src/test/utils/OnosCtrl.py
index e323112..9c73b4a 100644
--- a/src/test/utils/OnosCtrl.py
+++ b/src/test/utils/OnosCtrl.py
@@ -16,6 +16,20 @@
 import json
 import requests
 import os,sys,time
+from OltConfig import OltConfig
+import fcntl, socket, struct
+
+def get_mac(iface = 'ovsbr0', pad = 4):
+    s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
+    try:
+        info = fcntl.ioctl(s.fileno(), 0x8927, struct.pack('256s', bytes(iface[:15])))
+    except:
+        info = ['0'] * 24
+    s.close()
+    sep = ''
+    if pad == 0:
+        sep = ':'
+    return '0'*pad + sep.join(['%02x' %ord(char) for char in info[18:24]])
 
 class OnosCtrl:
 
@@ -61,6 +75,24 @@
         return None
 
     @classmethod
+    def get_device_id(cls):
+        '''If running under olt, we get the first switch connected to onos'''
+        olt = OltConfig()
+        if olt.on_olt():
+            devices = cls.get_devices()
+            if devices:
+                dids = map(lambda d: d['id'], devices)
+                if len(dids) == 1:
+                    did = dids[0]
+                else:
+                    ###If we have more than 1, then check for env before using first one
+                    did = os.getenv('OLT_DEVICE_ID', dids[0])
+            else:
+                  did = 'of:' + get_mac('ovsbr0')
+
+        return did
+
+    @classmethod
     def get_flows(cls, device_id):
         url = 'http://%s:8181/onos/v1/flows/' %(cls.controller) + device_id
         result = requests.get(url, auth = cls.auth)
diff --git a/src/test/utils/OnosFlowCtrl.py b/src/test/utils/OnosFlowCtrl.py
index f1b72cf..295a7ab 100644
--- a/src/test/utils/OnosFlowCtrl.py
+++ b/src/test/utils/OnosFlowCtrl.py
@@ -19,19 +19,6 @@
 from nose.tools import *
 from scapy.all import *
 from OnosCtrl import OnosCtrl
-import fcntl, socket, struct
-
-def get_mac(iface = 'ovsbr0', pad = 4):
-    s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
-    try:
-        info = fcntl.ioctl(s.fileno(), 0x8927, struct.pack('256s', iface[:15]))
-    except:
-        info = ['0'] * 24
-    s.close()
-    sep = ''
-    if pad == 0:
-        sep = ':'
-    return '0'*pad + sep.join(['%02x' %ord(char) for char in info[18:24]])
 
 class OnosFlowCtrl: