Nella pagina delle best practice Ansible: http://docs.ansible.com/ansible/playbooks_best_practices.html#top-level-playbooks-are-separated-by-role mostra un esempio in cui il playbook master site.yml include un paio di altri playbook di primo livello webservers.yml e dbservers.yml. All'interno di questi quaderni, ognuno di essi include il ruolo comune. Alcuni file di inventario Ho tutti i miei gruppi eseguiti su un singolo host. Un altro file di inventario ho un host per gruppo. Per il caso in cui mai un gruppo è su un host, se eseguo site.yml puoi vedere che il ruolo comune viene riprodotto due volte, uno per webservers.yml e uno per dbservers.yml.Best practice Ansible non ripetere il ruolo comune
Qual è una soluzione per evitare questo? Immagino che tu possa prendere il ruolo comune da webservers.yml e dbservers.yml e invece all'interno di site.yml abbiamo un'attività che ha come target sia il ruolo comune. Ma allora non posso fornire individualmente un webserver o un dbserver con common.
mi piace questo approccio e sembra avere più senso per me. Tuttavia, quando effettivamente provo a implementarlo, non funziona. Il mio ruolo comune viene eseguito più volte. Ho cercato esplicitamente di impostare allow_duplicates: no senza alcun effetto. Sembra che ci siano altre persone con questo stesso problema? https://github.com/ansible/ansible/issues/5971 – user1087973