Tenho uma função no Ansible para instalar arquivos de configuração do Nginx e quero usá-la para instalar arquivos diferentes em conjuntos de hosts diferentes. Aqui está o manual:
- name: Deploy centralised Nginx services
hosts: central_web_servers
roles:
- role: nginx_setup
web_services: "{{ central_web_services }}"
- name: Deploy per-site Nginx services
hosts: common_web_servers
roles:
- role: nginx_setup
web_services: "{{ common_web_services }}"
De acordo com a documentação declarei web_services
ser um parâmetro em meta/argument_specs.yml
:
argument_specs:
main:
short_description: Main entry point for the nginx role
description:
- Install configuration files for Nginx web services,
as given by the "web_services" parameter.
author:
- Peter Westlake
options:
web_services:
type: "list"
elements: "str"
required: true
description: "The services to run on the given hosts."
Mas ele só executa a primeira peça.
Tentei adicionar meta/main.yml
com, allow_duplicates: true
mas isso também não ajudou.
Colocar ambas as chamadas de função em uma única jogada não vai funcionar por causa dos diferentes hosts.