《Ansible模块篇:fail模块详解》

一、fail模块

fail模块是让当前所执行的任务失败,并输出信息。与when一起使用时,可以在特定条件下让任务失败,以调试程序。

在这里插入图片描述

在tasks中如果没有设置 ignore_errors: true的情况下,任何一个任务执行失败后,playbook就会自动终止。而fail模块天生就是一个用来"执行失败"的模块,当fail模块执行后,playbook就会认为有任务失败了,从而终止运行,实现我们想要的中断效果。


二、when

示例一:
在这里插入图片描述
执行结果,如下图所示:
在这里插入图片描述

总结:在实际环境中,服务端口是不通的,也就是说check_port_status的值为Notfound,所以Notfound != Found,表达式成立,则此时会调用fail模块,报错msg自定义信息。


三、failed_when

failed_when的作用是当failed_when关键字对应的条件成立时,failed_when会将对应的任务的执行状态设置为失败,以停止playbook的运行。

示例一:
在这里插入图片描述

执行结果,如下图所示:
在这里插入图片描述

总结:date_test命令是不存在的,会在终端上执行失败,command_result会包含FAILED字符串,当FAILED in command_result.stderr这个表达是成立时,则整个任务会被终止。


四、changed_when

changed_when关键字的作用是在条件成立时,将对应任务的执行状态设置为changed。

示例一:
在这里插入图片描述

执行结果,如下图所示:
在这里插入图片描述


总结:整理不易,如果对你有帮助,可否点赞关注一下?

更多详细内容请参考:《Linux运维篇:Linux系统运维指南》

你可能感兴趣的:(《Linux运维实战总结》,ansible,fail模块)