在继续之前等待SQL语句为true - Ansbible

时间:2016-07-15 16:19:46

标签: vagrant ansible ansible-playbook

我在Ubuntu 15.10服务器上安装Vagrant / Ansible服务。该服务使用MySQL数据库,一旦引导它就开始自行配置。我需要等到服务器启动足够,以便在继续我的Ansbile脚本之前创建了我需要插入数据的表。

我知道Ansible中的wait_for任务,但它看起来不会让我查询数据库并继续查询它,直到可以找到该表。

非常感谢任何帮助。

谢谢,

萨姆

1 个答案:

答案 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秒运行该命令并检查该值是否与条件匹配。如果它在所有尝试后都不匹配,则会失败。