Como rodar vários playbooks em ordem com o Ansible?

12

Estou trabalhando em vários playbooks Ansible para criar uma nova instância do servidor. Existem aproximadamente 15 manuais diferentes que preciso executar em uma ordem específica para executar um servidor com êxito.

Meu pensamento inicial foi escrever um script de shell que executa ansible-playbook playbook_name.yml e duplicá-lo uma entrada para cada playbook que preciso executar.

Existe uma maneira mais inteligente / melhor de fazer isso usando um manual mestre e, em caso afirmativo, como ele seria (exemplos são bem-vindos).

Eu poderia escrever uma cartilha monolítica que faz tudo, mas há algumas peças que são executadas primeiro como root e depois como usuário sudo depois.

    
por nulltek 21.01.2016 / 19:52

2 respostas

14

Crie muitos sub-playbooks e agregue-os por meio de declarações include.

- include: playbook-one.yml
- include: playbook-two.yml

Se as suas apostilas tiverem que ser executadas em ordem e se todas forem obrigatórias, crie um manual principal e inclua arquivos com tarefas. Um manual de instruções deve ser sempre um processo fechado.

    
por 10.02.2016 / 00:15
4

Para versões mais recentes do Ansilbe, você pode criar muitos sub-playbooks e agregá-los via declarações import_playbook:

---
- import_playbook: A-systemd-networkd.yml
- import_playbook: B-fail2ban-ssh.yml
- import_playbook: C-enable-watchdog.yml
    
por 26.05.2018 / 19:08