2014-12-05 13 views
21

Sto usando ansible per creare script per un'API. Mi piacerebbe che funzionasse in modo sequenziale attraverso ciascun host nel mio file di inventario in modo che possa essere completamente distribuito su una macchina alla volta.Ansible - Come eseguire sequenzialmente il playbook per ogni host

Con il comportamento della casella, ogni attività del mio libro di esercizi viene eseguita per ciascun host nel file di inventario prima di passare all'attività successiva.

Come posso modificare questo comportamento per eseguire tutte le attività per un host prima di iniziare sul prossimo host? Idealmente mi piacerebbe avere solo un playbook.

Grazie

risposta

44

Date un'occhiata più da vicino a Rolling Updates:

Quello che state cercando è

- hosts: webservers 
    serial: 1 
    tasks: 
    - name: ... 
+1

Grazie, questo è esattamente quello che stavo cercando. – Lynn

+0

ProfHase85, grazie per la risposta, ma potresti mostrare un esempio, come passare il valore "seriale" tramite argomenti della riga di comando? Secondo questo numero https://github.com/ansible/ansible/issues/1767 dovrebbe essere possibile, ma è difficile trovare un buon esempio di ciò. – sviklim

+1

In realtà non ha nulla a che fare con la domanda, solo un uso standard delle variabili. Ecco un esempio: https://gist.github.com/profhase/57af3e715ec7faf5bf34d84299228591 Sull'ultima riga c'è la chiamata di esempio per esso – ProfHase85

Problemi correlati