ansible暂停模块
pause
在playbook執行的過程中暫停一定時間或者提示用戶進行某些操作
常用參數:
minutes:暫停多少分鐘
seconds:暫停多少秒
prompt:打印一串信息提示用戶操作
示例:
- name: wait on user inputpause: prompt="Warning! Detected slight issue. ENTER to continue CTRL-C a to quit" - name: timed waitpause: seconds=30復制代碼
復制代碼
wait_for
在playbook的執行過程中,等待某些操作完成以后再進行后續操作
常用參數:
connect_timeout:在下一個任務執行之前等待連接的超時時間
delay:等待一個端口或者文件或者連接到指定的狀態時,默認超時時間為300秒,在這等待的300s的時間里,wait_for模塊會一直輪詢指定的對象是否到達指定的狀態,delay即為多長時間輪詢一次狀態。
host:wait_for模塊等待的主機的地址,默認為127.0.0.1
port:wait_for模塊待待的主機的端口
path:文件路徑,只有當這個文件存在時,下一任務才開始執行,即等待該文件創建完成
state:等待的狀態,即等待的文件或端口或者連接狀態達到指定的狀態時,下一個任務開始執行。當等的對象為端口時,狀態有started,stoped,即端口已經監聽或者端口已經關閉;當等待的對象為文件時,狀態有present或者started,absent,即文件已創建或者刪除;當等待的對象為一個連接時,狀態有drained,即連接已建立。默認為started
timeout:wait_for的等待的超時時間,默認為300秒
示例:
- wait_for: port=8080 state=started #等待8080端口已正常監聽,才開始下一個任務,直到超時- wait_for: port=8000 delay=10 #等待8000端口正常監聽,每隔10s檢查一次,直至等待超時- wait_for: host=0.0.0.0 port=8000 delay=10 state=drained #等待8000端口直至有連接建立- wait_for: host=0.0.0.0 port=8000 state=drained exclude_hosts=10.2.1.2,10.2.1.3 #等待8000端口有連接建立,如果連接來自10.2.1.2或者10.2.1.3,則忽略。- wait_for: path=/tmp/foo #等待/tmp/foo文件已創建- wait_for: path=/tmp/foo search_regex=completed #等待/tmp/foo文件已創建,而且該文件中需要包含completed字符串- wait_for: path=/var/lock/file.lock state=absent #等待/var/lock/file.lock被刪除- wait_for: path=/proc/3466/status state=absent #等待指定的進程被銷毀- local_action: wait_for port=22 host="{{ ansible_ssh_host | default(inventory_hostname) }}" search_regex=OpenSSH delay=10 #等待openssh啟動,10s檢查一次fail
用于終止當前playbook的執行,通常與條件語句組合使用,當滿足條件時,終止當前play的運行。可以直接由failed_when取代。
選項只有一個:
msg:終止前打印出信息
示例:
- fail: msg="The system may not be provisioned according to the CMDB status."when: cmdb_status != "to-be-staged"轉載于:https://www.cnblogs.com/Csir/p/8653114.html
總結
以上是生活随笔為你收集整理的ansible暂停模块的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 3-4 网络编程 练习题
- 下一篇: HihoCoder - 1558