【问题标题】:How do I set a timeout for an Ansible Runner task?如何为 Ansible Runner 任务设置超时?
【发布时间】:2023-04-08 08:45:01
【问题描述】:

在下面的假设示例中,我通过 shell 模块在远程主机上执行 sleep 5 秒。如果远程 shell 进程没有返回,我希望 Ansible Runner 在四秒后超时。这可能吗?

    r = ansible_runner.run(inventory=ansible_inventory, host_pattern="all",
        module="shell",
        module_args=("sleep 5"),
        envvars = {
            "ansible_command_timeout": 4  # This doesn't seem to work
        }
    )

【问题讨论】:

标签: python ansible ansible-runner


【解决方案1】:

这对我有用。 envvars 被分配了这个方法的返回值:

    def runnerenv(self):
     """ansible runner environment"""
     env = os.environ.copy()
     path = f"{env['PATH']}:{self.venvpath}"
     self.logger.debug(f"Updated PATH {path}")
     env['PATH'] = path
     env['ANSIBLE_TASK_TIMEOUT'] = 60
     return env

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-27
    • 1970-01-01
    • 2021-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多