WIP- Initial changes to find_host to work with Mac addresses instead of IPs
diff --git a/TestON/drivers/common/cli/onosclidriver.py b/TestON/drivers/common/cli/onosclidriver.py
index fd9df50..63acde9 100644
--- a/TestON/drivers/common/cli/onosclidriver.py
+++ b/TestON/drivers/common/cli/onosclidriver.py
@@ -1001,12 +1001,11 @@
             main.cleanup()
             main.exit()
 
-    def find_host(self,RestIP,RestPort,RestAPI,hostIP):
-        retcode = 0
-        retswitch = []
-        retport = []
-        retmac = []
-        foundIP = []
+    def find_host(self,RestIP,RestPort,RestAPI,hostMAC):
+        retcode = 0 # number of devices found with given MAC
+        retswitch = [] # Switch DPID's of devices found with MAC
+        retport = [] # Switch port connected to to devices found with MAC
+        foundHost = []
         try:
             ##### device rest API is: 'host:8080/wm/onos/topology/switches/json' ###
             url ="http://%s:%s%s" %(RestIP,RestPort,RestAPI)
@@ -1021,22 +1020,39 @@
                 parsedResult = ""
 
             if parsedResult == "":
-                return (retcode, "Rest API has an error", retport, retmac)
+                return (retcode, "Rest API has an error", retport)
             else:
+                for host in enumerate(parsedResult):
+                    print host
+                    if (host[1] != []):
+                        try:
+                            foundHost = host[1]['mac']
+                        except:
+                            print "Error in detecting MAC address."
+                        print foundHost
+                        print hostMAC
+                        if foundHost == hostMAC:
+                            for switch in enumerate(host[1]['attachmentPoints']):
+                                retswitch.append(switch[1]['dpid'])
+                                retport.append(switch[1]['port'])
+                            retcode = retcode +1
+                            foundHost ='' 
+                '''
                 for switch in enumerate(parsedResult):
                     for port in enumerate(switch[1]['ports']):
                         if ( port[1]['devices'] != [] ):
                             try:
-                                foundIP = port[1]['devices'][0]['ipv4addresses'][0]['ipv4']
+                                foundHost = port[1]['devices'][0]['ipv4addresses'][0]['ipv4']
                             except:
-                                print "Error in detecting IP address."
-                            if foundIP == hostIP:
+                                print "Error in detecting MAC address."
+                            if foundHost == hostMAC:
                                 retswitch.append(switch[1]['dpid'])
                                 retport.append(port[1]['desc'])
                                 retmac.append(port[1]['devices'][0]['mac'])
                                 retcode = retcode +1
-                                foundIP =''
-            return(retcode, retswitch, retport, retmac)
+                                foundHost =''
+                '''
+            return(retcode, retswitch, retport)
         except pexpect.EOF:
             main.log.error(self.name + ": EOF exception found")
             main.log.error(self.name + ":     " + self.handle.before)
diff --git a/TestON/drivers/common/cli/remotetestbed/flowvisorclidriver.py b/TestON/drivers/common/cli/remotetestbed/flowvisorclidriver.py
deleted file mode 100644
index 936ce9d..0000000
--- a/TestON/drivers/common/cli/remotetestbed/flowvisorclidriver.py
+++ /dev/null
@@ -1,110 +0,0 @@
-#!/usr/bin/env python
-'''
-Created on 12-Feb-2013
-
-@author: Anil Kumar (anilkumar.s@paxterrasolutions.com)
-
-
-    TestON is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 2 of the License, or
-    (at your option) any later version.
-
-    TestON is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with TestON.  If not, see <http://www.gnu.org/licenses/>.		
-
-
-FlowVisorCliDriver is the basic driver which will handle the Mininet functions
-'''
-
-import pexpect
-import struct
-import fcntl
-import os
-import signal
-import re
-import sys
-import time
-
-sys.path.append("../")
-
-from drivers.common.cli.remotetestbeddriver import RemoteTestBedDriver
-
-class FlowVisorCliDriver(RemoteTestBedDriver):
-    '''
-        FlowVisorCliDriver is the basic driver which will handle the Mininet functions
-    '''
-    def __init__(self):
-        super(RemoteTestBedDriver, self).__init__()
-        
-    def connect(self,**connectargs):
-        for key in connectargs:
-            vars(self)[key] = connectargs[key]
-        
-        self.name = self.options['name']
-
-        self.handle = super(FlowVisorCliDriver,self).connect(user_name = self.user_name, ip_address = self.ip_address,port = self.port, pwd = self.pwd)
-        if self.handle :
-            main.log.info(self.name+" connected successfully")
-            return self.handle
-        else :
-            main.log.error("Failed to connect "+self.name)
-            return main.FALSE
-    
-    def removeFlowSpace(self,id):
-        if id == "all":
-            flow_space = self.listFlowSpace()
-            flow_ids = re.findall("\,id=\[(\d+)\]", flow_space)
-            for id in flow_ids :
-                self.removeFlowSpace(id)
-        else :
-            self.execute(cmd="clear",prompt="\$",timeout=10)
-            self.execute(cmd="fvctl removeFlowSpace "+id,prompt="passwd:",timeout=10)
-            self.execute(cmd="\r",prompt="\$",timeout=10)
-            main.log.info("Removed flowSpace which is having id :"+id)
-            
-        return main.TRUE
-        
-    def addFlowSpace(self,flow_space):
-        self.execute(cmd="clear",prompt="\$",timeout=10)
-        self.execute(cmd="fvctl addFlowSpace "+flow_space,prompt="passwd:",timeout=10)
-        self.execute(cmd="\r",prompt="\$",timeout=10)
-        sucess_match = re.search("success\:\s+(\d+)", main.last_response)
-        if sucess_match :
-            main.log.info("Added flow Space and id is "+sucess_match.group(1))
-            return main.TRUE
-        else :
-            return main.FALSE
-    
-    def listFlowSpace(self):
-        self.execute(cmd="clear",prompt="\$",timeout=10)
-        self.execute(cmd="fvctl listFlowSpace ",prompt="passwd:",timeout=10)
-        self.execute(cmd="\r",prompt="\$",timeout=10)
-        flow_space = main.last_response
-        flow_space = self.remove_contol_chars( flow_space)
-        flow_space = re.sub("rule\s(\d+)\:", "\nrule "+r'\1'+":",flow_space)
-        #main.log.info(flow_space)
-        
-        return main.TRUE
-        
-    def listDevices(self):
-        self.execute(cmd="clear",prompt="\$",timeout=10)
-        self.execute(cmd="fvctl listDevices ",prompt="passwd:",timeout=10)
-        self.execute(cmd="\r",prompt="\$",timeout=10)
-        devices_list = ''
-        last_response = re.findall("(Device\s\d+\:\s((\d|[a-z])(\d|[a-z])\:)+(\d|[a-z])(\d|[a-z]))", main.last_response)
-        
-        for resp in last_response :
-            devices_match = re.search("(Device\s\d+\:\s((\d|[a-z])(\d|[a-z])\:)+(\d|[a-z])(\d|[a-z]))", str(resp))
-            if devices_match:
-                devices_list = devices_list+devices_match.group(0)+"\n"
-        main.log.info("List of Devices \n"+devices_list)  
-        return main.TRUE
-    
-    
-