Моя текущая настройка выглядит следующим образом:
ansible.cfg
[defaults]
retry_files_enabled = false
hash_behaviour = merge
hosts
[sample]
sampleserver
group_vars
содержимое group_vars / 1.yml:
tenants:
1:
name: name1
ip: ip1
содержимое group_vars / 2.yml:
tenants:
2:
name: name2
ip: ip2
содержимое group_vars/3.yml:
tenants:
3:
name: name3
ip: ip3
playbook.yml
- hosts: sample
tasks:
- set_fact:
mytenants: "{{ {customtenants: tenants[customtenants]} }}"
when: customtenants is defined
- name: Output tenantname
debug:
msg: "mytenant: {{ mytenant }} name: {{ mytenant.name }}"
with_dict: "{{ mytenants|default(tenants) }}"
loop_control:
loop_var: mytenant
команда
запуск для всех арендаторов (отлично работает)
ansible-playbook playbook.yml -i inventory/hosts
работает только для одного определенного арендатора (работает нормально)
ansible-playbook tenants.yml -i inventory/hosts -e "customtenants=1"
работает для нескольких определенных арендаторов
ansible-playbook playbook.yml -i inventory/hosts -e '{"customtenants": ["1", "3"]}'
Кто-нибудь может мне помочь, чтобы он работал для нескольких арендаторов (последний пример команды)?
Или есть лучший способ для достижения таких динамических решений?