def _initialize(self, module_name): """Read configuration. @param module_name: module name. """ self.module_name = module_name mmanager_opts = self.options.get(module_name) for machine_id in mmanager_opts["machines"].strip().split(","): try: machine_opts = self.options.get(machine_id.strip()) machine = Dictionary() machine.id = machine_id.strip() machine.label = machine_opts["label"] machine.platform = machine_opts["platform"] machine.tags = machine_opts.get("tags", None) machine.ip = machine_opts["ip"] # If configured, use specific network interface for this # machine, else use the default value. machine.interface = machine_opts.get("interface", None) # If configured, use specific snapshot name, else leave it # empty and use default behaviour. machine.snapshot = machine_opts.get("snapshot", None) # If configured, use specific resultserver IP and port, # else use the default value. opt_resultserver = self.options_globals.resultserver ip = machine_opts.get("resultserver_ip", opt_resultserver.ip) port = machine_opts.get("resultserver_port", opt_resultserver.port) machine.resultserver_ip = ip machine.resultserver_port = port # Strip params. for key in machine.keys(): if machine[key]: # Only strip strings if isinstance(machine[key], (str, unicode)): machine[key] = machine[key].strip() self.db.add_machine(name=machine.id, label=machine.label, ip=machine.ip, platform=machine.platform, tags=machine.tags, interface=machine.interface, snapshot=machine.snapshot, resultserver_ip=ip, resultserver_port=port) except (AttributeError, CuckooOperationalError) as e: log.warning( "Configuration details about machine %s " "are missing: %s", machine_id, e) continue
def _initialize(self, module_name): """Read configuration. @param module_name: module name. """ self.module_name = module_name mmanager_opts = self.options.get(module_name) for machine_id in mmanager_opts["machines"].strip().split(","): try: machine_opts = self.options.get(machine_id.strip()) machine = Dictionary() machine.id = machine_id.strip() machine.label = machine_opts["label"] machine.platform = machine_opts["platform"] machine.tags = machine_opts.get("tags", None) machine.ip = machine_opts["ip"] # If configured, use specific network interface for this # machine, else use the default value. machine.interface = machine_opts.get("interface", None) # If configured, use specific snapshot name, else leave it # empty and use default behaviour. machine.snapshot = machine_opts.get("snapshot", None) # If configured, use specific resultserver IP and port, # else use the default value. opt_resultserver = self.options_globals.resultserver ip = machine_opts.get("resultserver_ip", opt_resultserver.ip) port = machine_opts.get("resultserver_port", opt_resultserver.port) machine.resultserver_ip = ip machine.resultserver_port = port # Strip params. for key in machine.keys(): if machine[key]: # Only strip strings if isinstance(machine[key], (str, unicode)): machine[key] = machine[key].strip() self.db.add_machine(name=machine.id, label=machine.label, ip=machine.ip, platform=machine.platform, tags=machine.tags, interface=machine.interface, snapshot=machine.snapshot, resultserver_ip=ip, resultserver_port=port) except (AttributeError, CuckooOperationalError) as e: log.warning("Configuration details about machine %s " "are missing: %s", machine_id, e) continue