def _run(self, *module_args, **complex_args): previous_frame = inspect.currentframe().f_back filename, line_number, function_name, lines, index = inspect.getframeinfo(previous_frame) logging.debug("{}::{}#{}: [{}] AnsibleModule::{}, args={}, kwargs={}"\ .format(filename, function_name, line_number, self.hostname, self.module_name, json.dumps(module_args), json.dumps(complex_args))) module_ignore_errors = complex_args.pop('module_ignore_errors', False) module_async = complex_args.pop('module_async', False) if module_async: def run_module(module_args, complex_args): return self.module(*module_args, **complex_args)[self.hostname] pool = ThreadPool() result = pool.apply_async(run_module, (module_args, complex_args)) return pool, result res = self.module(*module_args, **complex_args)[self.hostname] logging.debug("{}::{}#{}: [{}] AnsibleModule::{} Result => {}"\ .format(filename, function_name, line_number, self.hostname, self.module_name, json.dumps(res))) if (res.is_failed or 'exception' in res) and not module_ignore_errors: raise RunAnsibleModuleFail("run module {} failed".format(self.module_name), res) return res
def _run(self, *module_args, **complex_args): module_ignore_errors = complex_args.pop('module_ignore_errors', False) module_async = complex_args.pop('module_async', False) if module_async: def run_module(module_args, complex_args): return self.module(*module_args, **complex_args)[self.hostname] pool = ThreadPool() result = pool.apply_async(run_module, (module_args, complex_args)) return pool, result res = self.module(*module_args, **complex_args)[self.hostname] if res.is_failed and not module_ignore_errors: raise RunAnsibleModuleFail("run module {} failed".format(self.module_name), res) return res
def _run(self, *module_args, **complex_args): module_ignore_errors = complex_args.pop('module_ignore_errors', False) module_async = complex_args.pop('module_async', False) if module_async: q = Queue() def run_module(queue, module_args, complex_args): res = self.module(*module_args, **complex_args) q.put(res[self.hostname]) p = Process(target=run_module, args=(q, module_args, complex_args)) p.start() return p, q res = self.module(*module_args, **complex_args)[self.hostname] if res.is_failed and not module_ignore_errors: raise RunAnsibleModuleFail("run module {} failed, errmsg {}".format(self.module_name, res)) return res