Don';如果上一个失败,则不要跳过ansible 1.9角色。
我有以下ansible剧本:Don';如果上一个失败,则不要跳过ansible 1.9角色。,ansible,ansible-playbook,Ansible,Ansible Playbook,我有以下ansible剧本: - hosts: webservers roles: - start_measurement_script - run_calculations - stop_measurement_script - gather_logs 我想执行角色停止测量\u脚本,即使运行\u计算失败。但是,不应执行收集日志的角色。角色停止测量\u脚本仅包含一个任务。有没有办法做到这一点 我正在使用ansible 1.9.4,因此无法使用ansible
- hosts: webservers
roles:
- start_measurement_script
- run_calculations
- stop_measurement_script
- gather_logs
我想执行角色停止测量\u脚本
,即使运行\u计算
失败。但是,不应执行收集日志的角色。角色停止测量\u脚本
仅包含一个任务。有没有办法做到这一点
我正在使用ansible 1.9.4,因此无法使用ansible 2.0中的
块
功能。我见过始终运行子句,但它的名称似乎有误导性,并且在不同的场景中使用 您可以在步骤中添加忽略错误:True
您还可以添加一个步骤,以在该步骤之后提供真正的故障
在上阅读更多信息您是否需要开始测量脚本
和停止测量脚本
来扮演角色?您是否可以在run\u calculations/tasks/start\u measurement\u script.yml
中添加操作,然后捕获run\u calculations中的错误,包括stop\u measurement\u script.yml
然后失败:
?我不想修改run\u calculations
,因为它在多个剧本中使用,并且只在这个特定的剧本中使用,使用度量脚本。在其他剧本中,如果run\u calculations
失败,我想跳过下一个角色。如果这是唯一的情况,您可以在修改后的run\u calculations
中添加一个标志,允许您包含额外的剧本,例如,enable_measuremnt
,它将始终默认为false,通过run_calculations/defaults/main.yml
,您可以在该剧本中设置vars:enable_measurement:true
。