Я изо всех сил пытаюсь найти решение для проекта LAB, над которым я сейчас работаю. Я хотел бы использовать CSV-файл для заполнения переменных в моей книге воспроизведения при настройке Cisco ACI. Я использую модуль read_csv и последнюю версию Ansible 2.9.
Sample CSV:
tenant1;tenant1-vrf;tenant1-app
tenant1;tenant1-vrf2;tenant1-app2
tenant2;;tenant2-vrf2;tenant2-app2
ОБНОВЛЕНИЕ. Судя по коду Сая, я недалек от достижения цели. Это полный код задач.
UPDATE2 — в конце концов я вернулся к модулю read_csv. Это работает хорошо даже для сложных вещей. Надеюсь, это поможет кому-то в качестве примера.
tasks:
- name: Read tenant from CSV file and return a list
read_csv:
path: "{{ filename }}"
delimiter: ;
register: tenantconfig
- name: TASK 1 - BUILD tenant
aci_tenant:
<<: *aci_login
validate_certs: no
use_ssl: yes
tenant: "{{ item.tenant }}"
description: "{{ item.tenant }} creation as per {{ filename }} source file"
state: present
with_items: "{{ tenantconfig.list }}"
- name: TASK 2 - BUILD Routing {{ vrf }} for {{ tenant }} on {{ apic_host }}
aci_vrf:
<<: *aci_login
state: present
validate_certs: no
use_ssl: yes
tenant: "{{ item.tenant }}"
vrf: "{{ item.vrf }}"
description: "{{ item.vrf }}"
with_items: "{{ tenantconfig.list }}"