X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=osm_openvim%2Fopenflow_thread.py;h=24fc77f80c07283ae1249ac3f0ee46fc0c5477a9;hb=1b20f6629867e1f1fcdb8d6c0218869b8927a856;hp=cd873e7dc72949851e5f4dda740df2dd7da88c30;hpb=9f6571090b203922cabb0382226be0fa48d6e046;p=osm%2Fopenvim.git diff --git a/osm_openvim/openflow_thread.py b/osm_openvim/openflow_thread.py index cd873e7..24fc77f 100644 --- a/osm_openvim/openflow_thread.py +++ b/osm_openvim/openflow_thread.py @@ -93,18 +93,22 @@ class openflow_thread(threading.Thread): """ This thread interacts with a openflow controller to create dataplane connections """ - def __init__(self, of_uuid, of_connector, db, db_lock, of_test, pmp_with_same_vlan=False, debug='ERROR'): + def __init__(self, of_uuid, of_connector, db, db_lock, of_test, pmp_with_same_vlan=False, logger_name=None, + debug=None): 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-' + of_uuid) - self.logger.setLevel(getattr(logging, debug)) - self.logger.name = of_connector.name + " " + self.OF_connector.dpid + if logger_name: + self.logger_name = logger_name + else: + self.logger_name = "openvim.ofc." + of_uuid + self.logger = logging.getLogger(self.logger_name) + if debug: + self.logger.setLevel(getattr(logging, debug)) self.queueLock = threading.Lock() self.taskQueue = Queue.Queue(2000) @@ -115,7 +119,7 @@ class openflow_thread(threading.Thread): self.queueLock.release() return 1, None except Queue.Full: - return -1, "timeout inserting a task over openflow thread " + self.name + return -1, "timeout inserting a task over openflow thread " + self.of_uuid def run(self): self.logger.debug("Start openflow thread") @@ -165,7 +169,10 @@ class openflow_thread(threading.Thread): else: self.logger.error("unknown task %s", str(task)) except openflow_conn.OpenflowconnException as e: + self.logger.error("OpenflowconnException: " + str(e)) self.set_openflow_controller_status(OFC_STATUS_ERROR, str(e)) + except Exception as e: + self.logger.critical("Unexpected exception at run: " + str(e), exc_info=True) def terminate(self): pass