monkey/monkey_business/cc/connectors/__init__.py

93 lines
2.0 KiB
Python
Raw Normal View History

def _load_prop_dict(self, target, prop):
for property in prop:
if not target.has_key(property):
continue
if type(prop[property]) is dict:
_load_prop_dict(self, target[property], prop[property])
else:
target[property] = prop[property]
class NetControllerConnector(object):
def __init__(self):
2016-05-29 19:32:06 +08:00
self._properties = {}
2016-05-29 16:44:19 +08:00
def is_connected(self):
return False
def connect(self):
return
def get_properties(self):
return self._properties
def load_properties(self, properties):
_load_prop_dict(self, self._properties, properties)
def get_vlans_list(self):
raise NotImplementedError()
def get_entities_on_vlan(self, vlanid):
raise NotImplementedError()
def deploy_monkey(self, vlanid):
raise NotImplementedError()
def disconnect(self):
return
2016-06-05 23:52:04 +08:00
def log(self, text):
pass
def set_logger(self, logger):
self.log = logger
2016-06-06 16:50:33 +08:00
2016-05-29 19:32:06 +08:00
class NetControllerJob(object):
2016-06-05 23:52:04 +08:00
connector_type = NetControllerConnector
2016-06-06 16:50:33 +08:00
2016-06-05 23:52:04 +08:00
_connector = None
_logger = None
_properties = {
# property: value
}
_enumerations = {
}
2016-05-29 19:32:06 +08:00
2016-06-05 23:52:04 +08:00
def __init__(self, existing_connector=None, logger=None):
self._connector = existing_connector
self._logger = logger
if logger:
self._connector.set_logger(self.log)
def log(self, text):
if self._logger:
self._logger.log(text)
2016-05-29 19:32:06 +08:00
# external API
2016-05-29 19:32:06 +08:00
def get_job_properties(self):
return self._properties
def load_job_properties(self, properties):
_load_prop_dict(self, self._properties, properties)
def get_property_function(self, property):
if property in self._enumerations.keys():
return self._enumerations[property]
return None
2016-05-29 19:32:06 +08:00
def run(self):
raise NotImplementedError()
def get_results(self):
return []
def get_state(self):
return None
def stop(self):
raise NotImplementedError()