def _run_command_sequence(self, sequence): seq_passed = True for command in sequence["commands"]: logging.info("Executing command: [%s]", str_command(command)) try: cmd_res = self._run_command(command) except Exception as exc: cmd_res = {"passed": False, "err_msg": "Exception raised."} raise exc finally: if self._res_serializer: self._res_serializer.add_cmd_result(command, cmd_res) logging.debug("Result: %s", str(cmd_res)) if "res_data" in cmd_res: res_data = pformat(cmd_res["res_data"]) logging.info("Result data: %s", (res_data)) if not cmd_res["passed"]: logging.error("Command failed: [%s], Error message: \"%s\"", str_command(command), cmd_res["err_msg"]) seq_passed = False return seq_passed
def _run_command_sequence(self, sequence): seq_passed = True for command in sequence["commands"]: logging.info("Executing command: [%s]", str_command(command)) try: cmd_res = self._run_command(command) except Exception as exc: cmd_res = {"passed": False, "err_msg": "Exception raised."} raise exc finally: if self._res_serializer: self._res_serializer.add_cmd_result(command, cmd_res) logging.debug("Result: %s", str(cmd_res)) if "res_data" in cmd_res: res_data = pformat(cmd_res["res_data"]) logging.info("Result data: %s", (res_data)) if not cmd_res["passed"]: logging.error("Command failed: [%s], Error message: \"%s\"", str_command(command), cmd_res["err_msg"]) seq_passed = False return seq_passed
def _run_command(self, command): logging.info("Executing command: [%s]", str_command(command)) if "desc" in command: logging.info("Cmd description: %s", command["desc"]) if command["type"] == "ctl_wait": sleep(command["seconds"]) cmd_res = { "passed": True, "res_header": "%-9s%ss" % ("ctl_wait", command["seconds"]), "msg": "", "res_data": None } if self._res_serializer: self._res_serializer.add_cmd_result(command, cmd_res) return cmd_res machine_id = command["host"] machine = self._machines[machine_id] try: cmd_res = machine.run_command(command) except (KeyboardInterrupt, Exception) as exc: cmd_res = { "passed": False, "res_data": { "Exception": str(exc) }, "msg": "Exception raised.", "res_header": "EXCEPTION", "report": str(exc) } raise finally: if self._res_serializer: self._res_serializer.add_cmd_result(command, cmd_res) if cmd_res["passed"]: res_str = decorate_with_preset("PASS", "pass") else: res_str = decorate_with_preset("FAIL", "fail") logging.info("Result: %s" % res_str) if "report" in cmd_res and cmd_res["report"] != "": logging.info("Result data:") for line in cmd_res["report"].splitlines(): logging.info(4 * " " + line) if "msg" in cmd_res and cmd_res["msg"] != "": logging.info("Status message from slave: \"%s\"" % cmd_res["msg"]) return cmd_res
def _run_command(self, command): logging.info("Executing command: [%s]", str_command(command)) if "desc" in command: logging.info("Cmd description: %s", command["desc"]) if command["type"] == "ctl_wait": sleep(command["seconds"]) cmd_res = {"passed": True, "res_header": "%-9s%ss" % ("ctl_wait", command["seconds"]), "msg": "", "res_data": None} if self._res_serializer: self._res_serializer.add_cmd_result(command, cmd_res) return cmd_res machine_id = command["host"] machine = self._machines[machine_id] try: cmd_res = machine.run_command(command) except Exception as exc: cmd_res = {"passed": False, "res_data": {"Exception": str(exc)}, "msg": "Exception raised.", "res_header": "EXCEPTION", "report": str(exc)} raise finally: if self._res_serializer: self._res_serializer.add_cmd_result(command, cmd_res) if cmd_res["passed"]: res_str = decorate_with_preset("PASS", "pass") else: res_str = decorate_with_preset("FAIL", "fail") logging.info("Result: %s" % res_str) if "report" in cmd_res and cmd_res["report"] != "": logging.info("Result data:") for line in cmd_res["report"].splitlines(): logging.info(4*" " + line) if "msg" in cmd_res and cmd_res["msg"] != "": logging.info("Status message from slave: \"%s\"" % cmd_res["msg"]) return cmd_res