我想在遠程節點集上運行一些yum命令。但是他們需要按照特定的順序運行,而不是平行運行。Ansible主機首選項
---
- name: Java 1.8 upgrade for EFM on Witness
hosts: database-witness:database-standby:database-master
tasks:
- name: Installating Java 1.8 on Witness
yum: name=java-1.8.0-openjdk-1.8.0.111-2.b15.el7_3 state=present
notify: set unlimited java 1.8 security
- name: Remove Java 1.7
shell: rm -f /usr/lib/jvm/$(ls /usr/lib/jvm | grep "java-1.7")/jre/lib/security/*.jar
- name: Remove SDK
yum: name=java-1.7.0-openjdk.x86_64 state=absent
- name: Remove Headless
yum: name=java-1.7.0-openjdk-headless.x86_64 state=absent
我的ENV文件是::
[database-master]
172.X.X.1
[database-standby]
172.X.X.2
[database-witness]
172.X.X.3
在上面的劇本我指定:
hosts: database-witness:database-standby:database-master
這是否意味着該組的yum命令將首先在database-witness
運行THEN database-standby
,然後database-master
。
謝謝。但是,在我指定的主機上按順序執行最佳做法是什麼? –
檢查「serial:1」是否會保持您指定的順序http://docs.ansible.com/ansible/playbooks_delegation.html#id8。 如果沒有,我建議將這些任務移動到一個單獨的文件中,然後完成3個任務,每個主機一個。每個任務將包含您剛創建的文件。 –