Estou trabalhando em vários manuais do Ansible para criar uma nova instância do servidor. Existem aproximadamente 15 manuais diferentes que preciso executar em uma ordem específica para ativar com êxito um servidor.
Meu pensamento inicial foi escrever um script de shell que execute ansible-playbook playbook_name.yml
e duplique uma entrada para cada manual que eu preciso executar.
Existe uma maneira mais inteligente / melhor de fazer isso usando um manual mestre e, em caso afirmativo, como seria (exemplos são apreciados).
Eu poderia escrever um manual monolítico que faz tudo, mas há algumas que são executadas como root primeiro e depois como usuário do sudo posteriormente.
ansible
ansible-playbook
nulltek
fonte
fonte
become:
peça no final de cada bloco. Pode ser necessário criar uma nova reprodução para alternar o usuário da conexão do usuário root para o usuário sudo.Respostas:
Crie muitos sub-playbooks e agregue-os por meio de instruções de inclusão.
Se seus playbooks precisarem ser executados em ordem e se todos forem obrigatórios, crie um playbook principal e inclua arquivos com tarefas. Um manual deve sempre ser um processo fechado.
fonte
- include : books/*.yml
include
está obsoleta. docs.ansible.com/ansible/latest/playbooks_reuse.html Acho queimport_playbook: foo
é o caminho certo a seguir, mas não tenho muita experiência.Para versões mais recentes do Ansilbe, você pode criar muitos sub-playbooks e agregá-los através das instruções import_playbook:
fonte