Пример #1
0
 def __init__(self, config):
     self.connectors = {
         "ec2": EC2Connector(config),
         "vsphere": VSphereConnector(config),
         "ipmi": IPMIConnector(config),
     }
     self.socket = None
     self.threads = []
     self.logger = logging.getLogger("hyclops.queue")
Пример #2
0
 def setUp(self):
     logger = logging.getLogger('hyclops.connector.ipmi')
     logger.addHandler(logging.NullHandler())
     self.patchers = [
         patch('hyclops.connector.base.ZabbixAPI', new=MockZabbixAPI),
         patch('subprocess.check_output')
     ]
     for patcher in self.patchers:
         patcher.start()
     config_path = os.path.join(os.path.abspath(os.path.dirname(__file__)),
                                "test.conf")
     self.config = configobj.ConfigObj(config_path, file_error=True)
     self.connector = IPMIConnector(config=self.config)
     self.connector.zabbix_api = MockZabbixAPI()
     self._set_zabbix_mock()
Пример #3
0
params = json.loads(sys.argv[3]) or {}
config_file = "/opt/hyclops/hyclops.conf"

# load config
config = configobj.ConfigObj(config_file)
log_level = config["logging"]["log_level"]
log_file = config["logging"]["log_file"]
log_format = '[%(asctime)s] %(name)s (%(threadName)s) %(levelname)s: %(message)s'
logging.basicConfig(filename=log_file, level=logging.WARNING, format=log_format)
logger = logging.getLogger('request_action')
logger.setLevel(getattr(logging, log_level))
if "environments" in config:
    for key, value in config["environments"].items():
        os.environ[key] = value

# run command
if driver_name == "ec2":
    connector = EC2Connector(config)
elif driver_name == "vsphere":
    connector = VSphereConnector(config)
elif driver_name == "ipmi":
    connector = IPMIConnector(config)
else:
    print "%s driver does not supported." % driver_name
    sys.exit()
try:
    result = connector.run_command(zabbix_hostname, params)
    print result
except Exception, e:
    print e