A partir desta declaração:
The play itself is supposed to figure out which library matches the device, use that library's variables and none of the other ones.
Concluo que você está tentando replicar uma das características mais fundamentais do Ansible.
O que você deve fazer:
- crie um subdiretório
host_vars
no diretório do projeto Ansible; - mova os arquivos que contêm definições de variáveis para o diretório
host_vars
; - verifique se os nomes de arquivos acima correspondem exatamente aos nomes de host usados pelo Ansible para se referir às máquinas de destino (sem
.yaml
extension); - exclua todas as diretivas de inclusão manuais do seu manual;
- execute o manual.
Como alternativa, para cobrir vários servidores, você pode fazer o mesmo usando o subdiretório group_vars
e nomear os arquivos de acordo com os nomes dos grupos definidos no arquivo de inventário.
Consulte a documentação para obter mais informações .