Skip to content

2.7 version

Choose a tag to compare

@dsamsonov dsamsonov released this 21 Jul 22:23
· 6 commits to main since this release

v2.7

Новое

  • Защита от случайного разлива на прод — перед выполнением команд megaconf показывает план: список команд из commands/--cmdlist/--cmd и список устройств из --hosts (в одну строку через пробел)
  • --run/-r больше не обязателен для показа плана — без него megaconf читает devices.db и commands, печатает план и завершается (exit 0), не подключаясь к железу («сухой прогон»). Раньше без -r сразу печаталась справка и программа выходила, не читая файлы
  • С -r, без --extreme — после плана запрашивается подтверждение Continue? (y/N); по умолчанию N — любой ответ кроме y/yes завершает программу с кодом 1, ничего не подключая
  • Флаг --extreme / -e — пропускает вопрос подтверждения и сразу выполняет разлив (для автоматизации/CI, где интерактивный ввод недоступен)

v2.6

Исправлено

  • Huawei VRP: не распознавался промпт system/interface view — после system-view ожидание промпта висело до таймаута и устройство помечалось неуспешным, хотя команда на железе выполнилась. promptRE матчил только промпты с >/#/$ на конце (user view <host> работал), но не чисто скобочную форму: [~host] / [*host] (VRP8, вкл. interface view [~host-100GE1/0/1]) и [Huawei] / [Huawei-GigabitEthernet0/0/1] (классический VRP). Добавлена альтернатива для строк вида [...] в конце строки. Пробелы внутри скобок запрещены, поэтому diff-заголовки JunOS ([edit interfaces]) и пейджер ([more 51%]) под неё не попадают; одиночные служебные строки [edit] (JunOS show | compare) и [OK] (Cisco write mem) отсекаются новым фильтром fakeBracketRE в isRealPrompt — без него [OK] ложно «закрывал» бы ожидание промпта и следующая команда уходила бы раньше времени (тот же класс рассинхрона, что чинился в v2.5). Побочный эффект в плюс: в console-режиме (-M) «залипшая» линия с Huawei, оставшаяся в system view, теперь опознаётся как уже залогиненная