Ansible(14)wait_for模块

模块说明

当你利用service 启动tomcat,或数据库后,他们真的启来了么?这个你是否想确认下?

wait_for模块就是干这个的。等待一个事情发生,然后继续。它可以等待某个端口被占用,然后再做下面的事情,也可以在一定时间超时后做另外的事。

常用参数

参数名 是否必须 默认值 选项 说明
connect_timeout no 5 在下一个事情发生前等待链接的时间,单位是秒
delay no 延时,大家都懂,在做下一个事情前延时多少秒
host no 127.0.0.1 执行这个模块的host
path no 当一个文件存在于文件系统中,下一步才继续。
port no 端口号,如8080
state no started present/started/stopped/absent 对象是端口的时候start状态会确保端口是打开的,stoped状态会确认端口是关闭的;对象是文件的时候,present或者started会确认文件是存在的,而absent会确认文件是不存在的。

案例

# 10秒后在当前主机开始检查8000端口,直到端口启动后返回
- wait_for: port=8000 delay=10

# 检查path=/tmp/foo直到文件存在后继续
- wait_for: path=/tmp/foo

# 直到/var/lock/file.lock移除后继续
- wait_for: path=/var/lock/file.lock state=absent

# 直到/proc/3466/status移除后继续
- wait_for: path=/proc/3466/status state=absent

到此上次那个家庭作业用到的全部模块都讲解完毕。

时间: 2024-10-29 04:00:09

Ansible(14)wait_for模块的相关文章

Ansible安装及模块管理(最全操作,可跟做!)

一.Ansible安装 环境准备 管理端:CentOS 7-2 192.168.18.147被管理端1:CentOS 7-3 192.168.18.128被管理端2:CentOS 7-4 192.168.18.148 管理端: [[email protected] ~]# systemctl stop firewalld.service [[email protected] ~]# setenforce 0 [[email protected] ~]# yum install epel-rele

02.ansible的常用模块

可以从ansible-doc -l | grep来找出想要的模块.再使用ansible-doc -s module_name来查看此模块的用法.官方模块列表和说明:https://docs.ansible.com/ansible/latest/modules_by_category.html 关于模块的使用方法,需要注意的是"state".很多模块都会有该选项,且其值几乎都包含有"present"和"absent",表示肯定和否定的意思. ans

ansible之setup模块常用的信息

ansible的setup模块非常好用,但给出的信息十分全面,有时候我们并不需要全部的信息. 过滤出指定的信息:例->ansible all -m setup -a "filter=ansible_os_family" ansible_all_ipv4_addresses:仅显示ipv4的信息 ansible_devices:仅显示磁盘设备信息 ansible_distribution:显示是什么系统,例:centos,suse等 ansible_distribution_ver

ansible执行shell模块和command模块报错| FAILED | rc=127 >> /bin/sh: lsof: command not found和| rc=2 >> [Errno 2] No such file or directory

命令: ansible -i hosts_20 st  -m shell -a 'service zabbix_agentd star'  -K --become ansible -i hosts_20 st  -m shell -a 'lsof -i:10050'  -K --become 在shell模块报错:| FAILED | rc=127 >>/bin/sh: lsof: command not found 在command模块报错:| rc=2 >>[Errno 2]

Ansible运行setup模块卡住不动

一. 问题 今天运行Ansible时发现有台机器在执行setup时卡在不动,等了好几分钟才执行出来. 二. 分析问题 Ansible中setup模块的执行过程,它是将setup模块的python脚本拷贝到ansible管控主机,然后在管控主机上执行python脚本获取主机基本信息,在返回给ansible.查看执行setup的主机,看到执行的python进程处于D状态.也就是不可中断状态.而获取主机上资源时,如果文件系统有问题是最容易卡住的.而那台主机上是挂载了windows的samba文件系统.

自动化运维之Ansible安装与模块应用

自动化运维之Ansible Ansible概述 由于互联网快速展导致产品更新换代速度逐渐加快,运维人员每天都要进行大量维护操作,人就按照传统方式进行维护会使工作效率低下,只是,部署自动化运维就尽可能安全,高校的完成工作 一般会把自动化运维工具划分为两类 (一)需要使用代理工具的,也就是基于专用的Agent程序完成管理功能,如:Puppet.Func.Zabbix等(二)不需要配置代理工具,可以直接基于SSH服务来管理完成,如:Ansible,Fabric等 下面介绍几款空能和类似的自动化运维工具

自动化运维之Ansible应用基础模块(超详细)

Ansible是一种基于模块进行工作的框架结构.批量部署能力就是由Ansible所运行的模块实现的.简而言之Ansible是基于"模块"完成各种"任务"的. Ansible常用的核心模块 模块的基本语法如下 ansible [主机] [-m 模块] [-a args] //命令格式 # ansible-doc -l //列出所有已安装的模块 注:按q退出 # ansible-doc -s yum //-s列出yum模块描述信息和操作动作 1.command 模块 c

超详细Ansible安装及模块详解

简介:ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置.批量程序部署.批量运行命令等功能. ansible是基于模块工作的,本身没有批量部署的能力.真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架.主要包括: (1).连接插件connection plugins:负责和被监控端实现通信; (2).host inventory:指定操作的主机,

ansible的常见模块用法

配置文件详解: 1,主配置文件:/etc/asiable/ansiable.cfg module_name =command ##ansible的默认模块是command模块,但是在使用的时候非常的有局限性,建议改成shell模块 host_key_checking = False ##检查对应要控制主机的的host_key,建议取消注释,以减轻管理时需要输入的密码 log_path = /var/log/ansible.log ##ansible的登录日志文件所在的位置 executable