Handle ofcs thread creation form db and openvim.cfg

	- start_service create a ofc thread per sdn in db, during ofc creation and default openvimd.cfg
	- stop_service kill ofcs thread
	- OFC creation/delete via REST interface, handel creation/delete of thread

Change-Id: I0c1869b870b296bfb459c2f678bc7afe4d1938bb
Signed-off-by: mirabal <leonardo.mirabal@altran.com>
diff --git a/openflow_thread.py b/openflow_thread.py
index 265b167..638ab19 100644
--- a/openflow_thread.py
+++ b/openflow_thread.py
@@ -84,16 +84,18 @@
     flow['actions'] = actions
 
 
-
 class of_test_connector():
     '''This is a fake openflow connector for testing.
         It does nothing and it is used for running openvim without an openflow controller 
     '''
     def __init__(self, params):
-        self.name = "ofc_test"
-        self.rules={}
+        name = params.get("name", "test-ofc")
+        self.name = name
+        self.dpid = params.get("dpid")
+        self.rules= {}
         self.logger = logging.getLogger('vim.OF.TEST')
-        self.logger.setLevel( getattr(logging, params.get("of_debug", "ERROR") ) )
+        self.logger.setLevel(getattr(logging, params.get("of_debug", "ERROR")))
+
     def get_of_switches(self):
         return 0, ()
     def obtain_port_correspondence(self):
@@ -121,18 +123,18 @@
 
 
 class openflow_thread(threading.Thread):
-    def __init__(self, OF_connector, db, db_lock, of_test, pmp_with_same_vlan, debug='ERROR'):
+    def __init__(self, of_uuid, OF_connector, db, db_lock, of_test, pmp_with_same_vlan=False, debug='ERROR'):
         threading.Thread.__init__(self)
-
+        self.of_uuid = of_uuid
         self.db = db
         self.pmp_with_same_vlan = pmp_with_same_vlan
         self.name = "openflow"
         self.test = of_test
         self.db_lock = db_lock
         self.OF_connector = OF_connector
-        self.logger = logging.getLogger('vim.OF')
+        self.logger = logging.getLogger('vim.OF-' + of_uuid)
         self.logger.setLevel( getattr(logging, debug) )
-
+        self.logger.name = OF_connector.name + " " + self.OF_connector.dpid
         self.queueLock = threading.Lock()
         self.taskQueue = Queue.Queue(2000)
         
@@ -146,6 +148,7 @@
             return -1, "timeout inserting a task over openflow thread " + self.name
 
     def run(self):
+        self.logger.debug("Start openflow thread")
         while True:
             self.queueLock.acquire()
             if not self.taskQueue.empty():