如何使用回调为每个 ansible 剧本任务捕获 stdout/stdmsg?
How to capture stdout/stdmsg for each ansible playbook tasks with using callbacks?
有什么方法可以在每个 ansible playbook 任务(不是整个 playbook)完成时使用回调捕获 stdout、stderr 吗?
预定义的"playbook_on_task_start"不符合实际要求,因此需要提供一个条款来获取整个剧本执行中每个单独任务完成的统计信息。
def playbook_on_task_start(self, name, is_conditional):
pass
这里的方法是在任务开始时创建一个散列,并在任务结束时用数据填充散列。
剧本完成后,您可以分析您的哈希并打印您需要的内容。
请参阅 profile_tasks.py 了解全局 stats
哈希和按 uuid 存储任务的概念。
您需要添加 v2_runner_on_...
处理程序以从结果中获取 stdout
并将其放入 self.stats[result._task._uuid].stdout
.
然后在 v2_playbook_on_stats
.
中计算您的统计数据
有什么方法可以在每个 ansible playbook 任务(不是整个 playbook)完成时使用回调捕获 stdout、stderr 吗?
预定义的"playbook_on_task_start"不符合实际要求,因此需要提供一个条款来获取整个剧本执行中每个单独任务完成的统计信息。
def playbook_on_task_start(self, name, is_conditional):
pass
这里的方法是在任务开始时创建一个散列,并在任务结束时用数据填充散列。
剧本完成后,您可以分析您的哈希并打印您需要的内容。
请参阅 profile_tasks.py 了解全局 stats
哈希和按 uuid 存储任务的概念。
您需要添加 v2_runner_on_...
处理程序以从结果中获取 stdout
并将其放入 self.stats[result._task._uuid].stdout
.
然后在 v2_playbook_on_stats
.