我在Ubuntu 15.10服务器上安装Vagrant / Ansible服务。该服务使用MySQL数据库,一旦引导它就开始自行配置。我需要等到服务器启动足够,以便在继续我的Ansbile脚本之前创建了我需要插入数据的表。
我知道Ansible中的wait_for任务,但它看起来不会让我查询数据库并继续查询它,直到可以找到该表。
非常感谢任何帮助。
谢谢,
萨姆
答案 0 :(得分:1)
任何任务都可以通过向其添加loop condition来等待某些条件。例如,假设您有一个返回" 1"当表存在时" 0"否则:
- name: Wait for Database Table
command: Put the command here
register: result
until: result.stdout == '1'
retries: 6
delay: 10
此任务将等待1分钟,并且每10秒运行该命令并检查该值是否与条件匹配。如果它在所有尝试后都不匹配,则会失败。