2016-07-15 54 views
1

我正在Ubuntu 15.10服務器上安裝Vagrant/Ansible服務。該服務使用一個MySQL數據庫,一旦它啓動就開始自行調配。我需要等到服務器啓動足夠的時間後才創建我需要插入數據的表格,然後再繼續使用我的Ansbile腳本。在繼續之前等待SQL語句爲真 - Ansbible

我知道Ansible中的wait_for任務,但它看起來不會讓我查詢數據庫並在查詢表之前一直查詢它。

任何幫助將非常感激。

感謝,

山姆

+0

我想'wait_for' MySQL端口準備好接受連接,然後用'shell'與''until','retry','delay'調用mysql-script的組合。 –

回答

1

任何任務可以由通過添加loop condition它等待一些條件。例如,假設你有當表存在,「0」,否則返回「1」的命令:

- name: Wait for Database Table 
    command: Put the command here 
    register: result 
    until: result.stdout == '1' 
    retries: 6 
    delay: 10 

該任務將等待1分鐘,每隔10秒就會運行該命令並查看如果該值符合條件。如果在所有嘗試後都不匹配,則會失敗。

相關問題