Я пытаюсь составить список серийных номеров коммутатора, используя Ansible. Серийный номер извлекается с использованием IOS Facts и является простым, но я не могу получить список no, чтобы быть инкрементным, он просто перезаписывает список последним серийным номером.
Вот частичный код, который у меня есть:
tasks:
- name: Get all facts from ios devices
register: all_facts
ios_facts:
gather_subset: hardware
- name: Create list Serials
set_fact:
IOSserials: "{{ IOSserials + [ all_facts.ansible_facts.ansible_net_serialnum ] }}"
- name: Display list
debug:
msg: "The list is: {{ IOSserials }}"
И вот результат, который я получаю:
TASK [Create list Serials] *****************************************************
ok: [lab3650s2] => {"ansible_facts": {"IOSserials": ["FDO201XXXXD"]}, "changed": false}
ok: [lab3650s1] => {"ansible_facts": {"IOSserials": ["FDO192XXXXV"]}, "changed": false}
ok: [lab4500s1] => {"ansible_facts": {"IOSserials": ["FOX141XXXXV"]}, "changed": false}
TASK [Display list] ************************************************************
ok: [lab4500s1] => {
"msg": "The list is: ['FOX141XXXXV']"
}
ok: [lab3650s2] => {
"msg": "The list is: ['FDO201XXXXD']"
}
ok: [dev-lab3650s1] => {
"msg": "The list is: ['FDO192XXXXV']"
Я пытаюсь получить результат как:
['FOX141XXXXV','FDO201XXXXD','FDO192XXXXV']"