ansible处理程序包含不使用标记的任务

ansible处理程序包含不使用标记的任务,ansible,ansible-2.x,Ansible,Ansible 2.x,我在尝试使用处理程序中的标记调用包含任务时遇到问题,但在执行它时,它不会接受标记并执行playbook中的所有任务 服务.亚马尔 -名称:停止服务 变成:真的 系统D: 名称:httpd 状态:停止 标签:停止 -名称:启动服务 变成:真的 系统D: 名称:httpd 国家:开始 标签:开始 梅因·亚马尔 -主机:Web服务器 任务: -名称:询问停止/启动 暂停: 提示:“请键入开始或停止” 回声:是的 注册:询问 更改时间:true 通知:服务 标签:重新启动 处理程序: -名称:服务 包

我在尝试使用处理程序中的标记调用包含任务时遇到问题,但在执行它时,它不会接受标记并执行playbook中的所有任务

服务.亚马尔

-名称:停止服务
变成:真的
系统D:
名称:httpd
状态:停止
标签:停止
-名称:启动服务
变成:真的
系统D:
名称:httpd
国家:开始
标签:开始
梅因·亚马尔

-主机:Web服务器
任务:
-名称:询问停止/启动
暂停:
提示:“请键入开始或停止”
回声:是的
注册:询问
更改时间:true
通知:服务
标签:重新启动
处理程序:
-名称:服务
包括任务:services.yaml
标记:“{ask.user_input}”
执行

ansible-playbook main.yam -t restarting
当我运行时,它会启动所有任务,忽略标记

在处理程序上使用标记是没有意义的。处理程序要么被通知,要么不被通知。如果要有条件地运行处理程序,请使用条件,例如

shell>cat services.yaml
-调试:
停止服务
时间:ask.user_input=='stop'
-调试:
msg:启动服务
时间:ask.user_input=='start'
然后是剧本

shell>cat pb.yml
-主机:本地主机
任务:
-名称:询问停止/启动
暂停:
提示:“请键入开始或停止”
埃科:是的
注册:询问
更改时间:true
通知:服务
标签:[重新启动,永不]
处理程序:
-名称:服务
包括任务:services.yaml
给予

shell>ansible playbook pb.yml-t
播放[本地主机]***********************************************************
任务[要求停止/启动]****************************************************
[要求停止/启动]
请键入开始或停止:
已更改:[localhost]
正在运行的处理程序[服务]**************************************************
包括:/export/examples/example-269/services.yaml,用于localhost
正在运行处理程序[调试]****************************************************
正在跳过:[localhost]
正在运行处理程序[调试]****************************************************
确定:[本地主机]=>
msg:启动服务
重演*****************************************************************
localhost:确定=3更改=1无法访问=0失败=0跳过=1获救=0忽略=0
添加never标记,仅在选择重新启动时请求输入