Ansible块中的角色未按预期运行

ady*_*531 2 ansible ansible-2.x

我有ansible 2.2.1.0并且我有这个角色:

- block:
    - shell: echo 1
    - shell: fail
    - shell: echo 2
  rescue:
    - shell: echo 3
  always:
    - shell: echo 4

- name: running something after the block
  shell: echo 5
Run Code Online (Sandbox Code Playgroud)

如果我运行这个角色,块的第一部分失败是因为"失败"命令(不存在:)"stderr:/ bin/sh:1:失败:未找到")所以救援开始+总是.但是最后一项任务,就是"在块之后运行的东西"永远不会运行.戏剧结束了!

这是为什么 ?预期的结果我会把它看作:如果块的第一部分失败,则总是(如果有的话)进行救援,然后继续播放其余的任务.

在文档中没有任何关于此的内容.

有解决方法吗?

Kon*_*rov 5

这是2.2.1中的错误.如果这是您需要的工作流程,则降级到2.2.0.