Ansible Blocks:“;“始终”;及;块;不在main.yml中工作
我尝试使用此处定义的“始终”和“块”功能- 我有一个main.yml文件,看起来像这样-Ansible Blocks:“;“始终”;及;块;不在main.yml中工作,ansible,Ansible,我尝试使用此处定义的“始终”和“块”功能- 我有一个main.yml文件,看起来像这样- - block: - include: git_clone_and_combining.yml run_once: yes delegate_to: localhost - include: combined_repo_push.yml run_once: yes delegate_to: localhost - include: deploy_code.ym
- block:
- include: git_clone_and_combining.yml
run_once: yes
delegate_to: localhost
- include: combined_repo_push.yml
run_once: yes
delegate_to: localhost
- include: deploy_code.yml
always:
- include: resume_asg.yml
delegate_to: localhost
它按预期在剧本中运行,但“resume_asg.yml”脚本之前的始终
块似乎被忽略,因为它不会在失败时运行。在播放中不支持这种块的使用吗
编辑-用Redhat打开了一张关于这个的票证,他们在这里打开了一个Bug报告-<当指定了run_once
参数时,code>始终和块
在main.yml中似乎不起作用
谢谢。引用
这个模块仍将支持一段时间,但我们正在考虑在不久的将来取消它
我可以用include重现这个问题。要解决此问题,请使用。比如说
shell>cat pb.yml
-主机:本地主机
任务:
-区块:
-包括任务:test\u fail.yml
跑一次:对
始终:
-包括任务:tasks-always.yml
shell>cat测试失败.yml
-命令:“{cmd | default('true')}”
shell>cat tasks-always.yml
-调试:
味精:总是
给出(节略)
shell>ansible剧本pb.yml
任务[命令]****
已更改:[localhost]
任务[调试]****
确定:[本地主机]=>
味精:总是
shell>ansible剧本pb.yml-e“cmd=false”
任务[命令]****
致命:[localhost]:失败!=>更改=真
命令:
-“假”
增量:“0:00:00.003130”
完:“2020-12-1121:29:26.481652”
msg:非零返回码
rc:1
开始:“2020-12-1121:29:26.478522”
stderr:'
标准线路:
标准输出:“”
标准输出线:
任务[调试]****
确定:[本地主机]=>
味精:总是
“始终”部分按预期工作 示例
shell>cat pb.yml
-主机:本地主机
任务:
-区块:
-命令:“{cmd | default('true')}”
始终:
-调试:
味精:总是
shell>ansible剧本pb.yml
播放[本地主机]****
任务[命令]****
已更改:[localhost]
任务[调试]****
确定:[本地主机]=>
味精:总是
...
shell>ansible剧本pb.yml-e“cmd=false”
播放[本地主机]****
任务[命令]****
致命:[localhost]:失败!=>更改=真
命令:
-“假”
增量:“0:00:00.004007”
完:“2020-12-1106:57:10.055177”
msg:非零返回码
rc:1
开始:“2020-12-1106:57:10.051170”
stderr:'
标准线路:
标准输出:“”
标准输出线:
任务[调试]****
确定:[本地主机]=>
味精:总是
...
包含的任务给出相同的结果
shell>cat pb.yml
-主机:本地主机
任务:
-区块:
-命令:“{cmd | default('true')}”
始终:
-包括:tasks-always.yml
shell>cat tasks-always.yml
-调试:
味精:总是
这个角色给出了相同的结果
shell>cat pb.yml
-主机:本地主机
角色:
-测试-01
shell>cat角色/test-01/tasks/main.yml
-区块:
-命令:“{cmd | default('true')}”
始终:
-包括:tasks-always.yml
shell>cat角色/test-01/tasks/tasks-always.yml
-调试:
味精:总是
细节不见了。去吧,谢谢你的回复。实际上,我打开了一张红帽的罚单,他们的回答是:“如果在block部分的失败任务中指定了
run\u once:yes
,则always部分的任务将不会运行”。已在此处打开错误报告-“”。