Мне нужно сделать много изменений в наших портах коммутаторов HP. Мне нравится ansible, потому что это быстро, когда меняются одни и те же вещи в куче переключателей. На этот раз мне нужно сделать одно и то же изменение, но в разных портах в каждом коммутаторе.
в основном, мне нужно сделать это:
int F14,F15,F16
no power
wr mem
Порты будут отличаться в зависимости от коммутатора. Так что, если у меня есть список, подобный этому:
SW-IT-CH-1 F1,F2,F3
SW-IT-CH-2 A3,A6,A9,A2
SW-IT-CH-5 C1,D4,E8,F19
Есть ли способ создать файл переменных и использовать книгу воспроизведения и выполнить все изменения за один снимок?
У меня есть эта книга воспроизведения:
---
- name: Aruba Config Change
hosts: '{{ hosts }}'
gather_facts: no
vars:
ansible_network_os: aruba
ansible_user: "{{ lookup('env', 'USER') }}"
ansible_ssh_pass: "{{ lookup('file', '~/.sshpass') }}"
connection: local
tasks:
- name: Add to NETWORK group
ignore_errors: yes
aruba_config:
lines:
- no power
parents: interface '{{ ports }}'
Я думал о том, чтобы иметь файл json, содержащий переменные (переменные. json), подобные этому
'{"hosts":"SW-IT-CH-1","ports":"F14,F15,F16,F17,F18,F19"}'
'{"hosts":"SW-IT-CH-2","ports":"F14,F15,F16,F17,F18,F19"}'
и выполнить ansible следующим образом:
ansible-playbook playbook.yml -e "@variables.json"
но безуспешно ...
есть идеи?
Спасибо!