Итак, я не был уверен, как это сделать эффективно. Я знаю способ сделать это, но он очень неэффективен.
Вот ситуация. Возьмите следующую структуру данных:
R1.yml
[{‘interface’: ‘g0/0/1’, ‘role’: ‘active’, ‘ha_ip’: ‘192.168.10.1’}, {‘interface’: ‘g0/0/2’, ‘role’: ‘standby’, ‘ha_ip’: ‘192.168.20.1’}]
R2.yml
[{‘interface’: ‘g0/0/1’, ‘role’: ‘standby’, ‘ha_ip’: ‘192.168.10.1’}, {‘interface’: ‘g0/0/2’, ‘role’: ‘active’, ‘ha_ip’: ‘192.168.20.1’}]
Итак, я хочу определить пару хостовна основе имени хоста (в имени файла yml, которое я знаю, как это сделать) и определения идентичных IP-адресов высокой доступности (высокой доступности). Также необходимо знать, какой из них активен, а какой - в режиме ожидания, чтобы узнать последовательность применения конфигураций к устройствам.
Выполнение вложенных циклов может работать, но если у меня будет более 50 таких файлов, это может занять много времени.
Есть ли лучший способ сделать это?