извини, видимо я не очень ясно выразился. попробую еще раз
сети средних и крупных (федеральных) операторов базируются на технология MPLS. Раньше для сетей мплс еще было коммерческое название - мультисервисная сеть. Так вот внутри мплс существует множество технологий для предоставления клиентам различных сервисов
вот некоторые самые популярные из них:
выделенные l2 каналы — коммерческое название L2VPN
частная l2 сеть — коммерческое название VPLAN
частная l3 сеть — коммерческое название IPVPN
изоляция сервисов обеспечивается инкапсуляцией каждого пакета в транспортные и сервисные метки и некой базой (lspdb) позволяющей маршрутизаторам соспоставить эти метки с сервисами. при этом никакого шифрования не предусмотрено. оператору доступен весь трафик. тем не менее изоляция логическая (виртуальная) есть и позволяет назвать каждую такую виртуальную сеть частной
вот и получается виртуальная частная сеть — virtual private network
так вот именно такие впны покупают госы (и не госы тоже) и покупали еще когда никакого интернета в помине не было, правда тогда это были не виртуальные частные сети
резюмирую: впн с точки зрения телекома - это сервис внутри одного оператора который позволяет соединить сети клиента друг с другом и он не имеет ничего общего с шифрованными тунелями через интернет, хотя название сбивает с толку конечно
з.ы. Интернет, внутри мплс сети оператора, это тоже всего лишь один из сервисов и причем не всегда самый жирный
все же будучи на техническом ресурсе не стоит вестись на заголовки типа ученый изнасиловал журналиста VPN для госструктур не равно VPN для обхода блокировок.
VPN всего лишь означает частная виртуальная сеть, и в основном коммерческом значении - это услуга от оператора связи на предоставление клиенту выделенного канала(ов) на собственной MPLS сети. Используется повсеместно и госами и частными компаниями как правило для обеспечения связности между офисами и конечно стоит денег
если ценный вендор это циска, то они декларируют поддержку в своем оборудовании и oc и ietf модели и более того заявляют что такое заигрывание с опенконфигом это их конкурентное преимущество над "мерзкими конкурентами"
причем для ios-xe поддержка сразу из коробки, что немного странно потому что ios-xe чисто ентерпрайзное железо, а ентерпрайзу и в CLI норм и все эти интеропы скорей нужны для датацентров (нексусы) и опсосов (ios-xr)
впрочем для поддержки нексусами опенконфига достаточно рпм-ку скачать в свич и поставить отсюда https://devhub.cisco.com/artifactory/open-nxos-agents/ И учитывая что там есть сборки для каждой версии nxos обвинять циску в игнорировании открытых моделей не получается
А вот если мы хотим сделать unnumbered маршрутизацию в оверлейную сеть между vlan'ом поверх бонда и vxlan'ом, терминирующимся на кластерном линке.
Все получится. Сложность задачи и сложность конфигурации находятся в разных плоскостях. Это нам мозгом сложно пазл сложить из нагромождений конфига, а у жедезки мозга нет. Она не заморачивается а просто раскатывает полученную XML-ку по внутреннему дереву предварительно отвалидировав по внутреннему же XSD.
Инженерам сложнее, надо дезинтегрировать задачу на все эти отдельные сущности unumbered, vlan, lacp, vxlan, bgp, благо они все давно в опенконфигах описаны, и шаг за шагом скрафтить нужную XML-ку
И еще у упомянутого Романа Додина, есть отдельная утилита чтоб из моделей готовые xpath доставать https://github.com/hellt/yangpath, подозреваю этот его код потом вошел в gnmic
А из этих path потом простой рекурсивной функцией можно крафтить XML-ки на лету не привлекая джинжа програмистов
Например операторы связи значительное количество оборудования были вынуждены покупать под никому не нужный "пакет яровой"
Банки под биометрию тоже в оборудование вложились, которая так же им самим не вперлась
И те и другие вынуждены были выполнять требования регуляторов, т.е. государства
Так что чисто технически государство может отменить некоторые регуляции и изъять оборудование под эти регуляции предназначенное. И бизнес от этого не сдохнет. Только выдохнет
Kirk Byers - это и есть netmiko. У вас в статье, в используемой литературе, куча ссылок на него :)
Я же советую взглянуть на два других проекта - nornir и scrapli
И я не ставил под сомнение целесообразность автоматизации. Я пытался намекнуть что для каждого устройства будут немного свои конфиги и потому ваш вариант накатывать один и тот же файл на все устройства не годится. Используйте шаблоны Jinja2
exeption в python (и не только) тут вряд ли для кого то является открытием.
А вот что касается решения вашей гипотетической задачи, то я бы посоветовал посмотреть на следующий после netmiko проект Kirk Byers (и +David Barosso) - nornir
Оно там само об exeptions позаботится и задачи на подключение к устройствам по тредам разложит. Кроме того там реализовано продуманное структурированное inventory.
При этом в качестве драйвера для подключения к устройствам вместо netmiko удобней использовать scrapli. Особенно для хуавеев. По крайней мере с моими хуавеями так. Они очень долго dh считают по стандартному Kex. Так вот scrapli под капотом использует libssh2 который при подключении считывает ~/.ssh/config куда можно вписать Kex попроще и соответственно побыстрее
А что это за switch_file_config одинаковый для всех устройств?
Ведь если Вы уже можете подключиться к утройствам по ssh значит day0 deployment уже закончен. И все неспецифичные настройки тоже можно было провести в нулевой фазе
мне сегодня доставили айфон заказанный в понедельник, хотя изначальный срок поставки был заявлен в 6-8 недель. А на следующий день, вчера, пришла смс, что привезут в четверг. Сегодня с утра смс что привезут сегодня вечером, а привезли утром. Даже не знаю что это было. Но делаю вывод что пока Эппл обязательства выполняет, или даже перевыполняет в моем случае. Надеюсь и тебя не кинет. Удачи
Но еще есть ICANN и возможность отозвать с корневых DNS-ов зону .ru
на этот случай, правда, НСДИ создавалось, но во первых непонятно насколько оно работает, а во вторых - это уже по факту наступление того самого пресловутого чебурнета
Надеюсь в ICANN тоже взрослые разумные люди сидят и понимают что очебурачивание страны только поможет ее охреневшей власти
смотреть может и страшно, но много ли вы видели подскользнувшихся бегунов с подвернутыми ногами? при беге вы постоянно находитесь в тонусе, а высокий каденс позволит мгновенно среагировать и исправить ситуацию в случае проскальзывания
а насчет суставов - совершенно обратная ситуация. при беге по пересеченной местности очень хорошо тренируются мышцы стабилизаторы, которые как раз и предотвращают травмы типа подвернул ногу. при этом ударная нагрузка значительно меньше чем при беге по асфальту
я в этом году впервые не стал заканчивать сезон осенью и пробегал всю зиму. Получил огромное удовольствие
Спасибо за статью, прочитал с удовольствием. И рисунки крутые Вот только к сожалению ваш велосипед вряд ли выстрелит
конкурентного преимущества - отсутствие зависимостей - скорей всего будет недостаточно для того чтобы привлечь внимание
Во первых screen scraping это уже немодный подход. Перед парнями с смузями неудобно.
Во вторых есть модный ансибл, вечно глючный и дико тормозной, но сцуко модный, который уже наверное лет 8 старательно натягивают на сеть с переменным успехом
Ну и основное - те кому ехать, а не шашечки, давно используют netmiko/nornir или scrapli/nornir-scrapli/scrapli-netconf (кстати, не представляю какие данные с помощью нетконф нельзя выгрузить)
Причем для го-энтузиастов уже есть вполне стабильные реализации на гошечке: scrapligo и gornir
з.ы. правда у меня так и не получилось под виндовс бинарь скомпилить используя scrapligo. точнее скомпилить получилось, а запустить не особо, но это я плохо старался просто :)
2. Нельзя, невозможно воспринять на слух текст, который ты не можешь понять в написанном виде
Поспорю...
Когда я не могу понять написанное предложение, особенно длинное, я просто проговариваю его вслух (или даже про себя, но максимально громко так чтобы даже в мысленном произношении интонации проявились) и как правило затык сразу проходит.
В английском хватает ньюансов когда одно и тоже самое слово может быть и существительным и глаголом или выглядеть одинаково в разных ролях и/или временах, но произноситься по разному. Как говорится написано Ливерпуль, а читается Манчестер
И это в английском. А французский разговорный и письменный ИМХО вообще друг с другом никак не связаны :)
А как проголосовать если я пользовался и продолжаю пользоваться?
Ведь если ответить "раньше пользовался" то мой голос может засчитаться как будто я пользоваться перестал и тем самым пополнит статистику перебежчиков. А это совсем не так
Оффтопик и капитанство, хотя местами забавно И вот эти ваши два пассажа лучше бы смотрелись рядом :)
1. идеально было бы отсидеться дома/откататься на метро первую неделю после резкого похолодания/снега, пока смертники, “три педальки, а ножки две” и отчаянные бомбилы не поразбивают свои тазы и не останутся мудрейшие
2. Эти господа (пешеходы) зимой становятся особенно плохо заметны (маскируются), чрезвычайно отмороженные и чаще всего пьяные
извини, видимо я не очень ясно выразился. попробую еще раз
сети средних и крупных (федеральных) операторов базируются на технология MPLS. Раньше для сетей мплс еще было коммерческое название - мультисервисная сеть. Так вот внутри мплс существует множество технологий для предоставления клиентам различных сервисов
вот некоторые самые популярные из них:
выделенные l2 каналы — коммерческое название L2VPN
частная l2 сеть — коммерческое название VPLAN
частная l3 сеть — коммерческое название IPVPN
изоляция сервисов обеспечивается инкапсуляцией каждого пакета в транспортные и сервисные метки и некой базой (lspdb) позволяющей маршрутизаторам соспоставить эти метки с сервисами. при этом никакого шифрования не предусмотрено. оператору доступен весь трафик. тем не менее изоляция логическая (виртуальная) есть и позволяет назвать каждую такую виртуальную сеть частной
вот и получается виртуальная частная сеть — virtual private network
так вот именно такие впны покупают госы (и не госы тоже) и покупали еще когда никакого интернета в помине не было, правда тогда это были не виртуальные частные сети
резюмирую: впн с точки зрения телекома - это сервис внутри одного оператора который позволяет соединить сети клиента друг с другом и он не имеет ничего общего с шифрованными тунелями через интернет, хотя название сбивает с толку конечно
з.ы. Интернет, внутри мплс сети оператора, это тоже всего лишь один из сервисов и причем не всегда самый жирный
все же будучи на техническом ресурсе не стоит вестись на заголовки типа ученый изнасиловал журналиста
VPN для госструктур не равно VPN для обхода блокировок.
VPN всего лишь означает частная виртуальная сеть, и в основном коммерческом значении - это услуга от оператора связи на предоставление клиенту выделенного канала(ов) на собственной MPLS сети. Используется повсеместно и госами и частными компаниями как правило для обеспечения связности между офисами
и конечно стоит денег
плюсую за основной посыл - чат-боты как замена фронта некоторых приложений
использую для задач автоматизации сети
правда совсем без JS не обошлось, так как в качестве платформы использую self-hosted rocket.chat и Bot SDK к нему на JS
если ценный вендор это циска, то они декларируют поддержку в своем оборудовании и oc и ietf модели и более того заявляют что такое заигрывание с опенконфигом это их конкурентное преимущество над "мерзкими конкурентами"
причем для ios-xe поддержка сразу из коробки, что немного странно потому что ios-xe чисто ентерпрайзное железо, а ентерпрайзу и в CLI норм и все эти интеропы скорей нужны для датацентров (нексусы) и опсосов (ios-xr)
впрочем для поддержки нексусами опенконфига достаточно рпм-ку скачать в свич и поставить отсюда https://devhub.cisco.com/artifactory/open-nxos-agents/
И учитывая что там есть сборки для каждой версии nxos обвинять циску в игнорировании открытых моделей не получается
А вот если мы хотим сделать unnumbered маршрутизацию в оверлейную сеть
между vlan'ом поверх бонда и vxlan'ом, терминирующимся на кластерном
линке.
Все получится. Сложность задачи и сложность конфигурации находятся в разных плоскостях. Это нам мозгом сложно пазл сложить из нагромождений конфига, а у жедезки мозга нет. Она не заморачивается а просто раскатывает полученную XML-ку по внутреннему дереву предварительно отвалидировав по внутреннему же XSD.
Инженерам сложнее, надо дезинтегрировать задачу на все эти отдельные сущности unumbered, vlan, lacp, vxlan, bgp, благо они все давно в опенконфигах описаны, и шаг за шагом скрафтить нужную XML-ку
Очень крутая работа, уважуха,
кстати упомянутый gnmic очень хорош в --prompt режиме для парсинга YANG моделей
вот тут у них в доке https://gnmic.kmrd.dev/user_guide/prompt_suggestions/
И еще у упомянутого Романа Додина, есть отдельная утилита чтоб из моделей готовые xpath доставать https://github.com/hellt/yangpath, подозреваю этот его код потом вошел в gnmic
А из этих path потом простой рекурсивной функцией можно крафтить XML-ки на лету не привлекая джинжа програмистов
Ну тут смотря какая российская компания
Например операторы связи значительное количество оборудования были вынуждены покупать под никому не нужный "пакет яровой"
Банки под биометрию тоже в оборудование вложились, которая так же им самим не вперлась
И те и другие вынуждены были выполнять требования регуляторов, т.е. государства
Так что чисто технически государство может отменить некоторые регуляции и изъять оборудование под эти регуляции предназначенное. И бизнес от этого не сдохнет. Только выдохнет
Kirk Byers - это и есть netmiko. У вас в статье, в используемой литературе, куча ссылок на него :)
Я же советую взглянуть на два других проекта - nornir и scrapli
И я не ставил под сомнение целесообразность автоматизации. Я пытался намекнуть что для каждого устройства будут немного свои конфиги и потому ваш вариант накатывать один и тот же файл на все устройства не годится.
Используйте шаблоны Jinja2
exeption в python (и не только) тут вряд ли для кого то является открытием.
А вот что касается решения вашей гипотетической задачи, то я бы посоветовал посмотреть на следующий после netmiko проект Kirk Byers (и +David Barosso) - nornir
Оно там само об exeptions позаботится и задачи на подключение к устройствам по тредам разложит. Кроме того там реализовано продуманное структурированное inventory.
При этом в качестве драйвера для подключения к устройствам вместо netmiko удобней использовать scrapli. Особенно для хуавеев. По крайней мере с моими хуавеями так. Они очень долго dh считают по стандартному Kex. Так вот scrapli под капотом использует libssh2 который при подключении считывает ~/.ssh/config куда можно вписать Kex попроще и соответственно побыстрее
А что это за switch_file_config одинаковый для всех устройств?
Ведь если Вы уже можете подключиться к утройствам по ssh значит day0 deployment уже закончен. И все неспецифичные настройки тоже можно было провести в нулевой фазе
погоди икру метать
мне сегодня доставили айфон заказанный в понедельник, хотя изначальный срок поставки был заявлен в 6-8 недель. А на следующий день, вчера, пришла смс, что привезут в четверг. Сегодня с утра смс что привезут сегодня вечером, а привезли утром. Даже не знаю что это было. Но делаю вывод что пока Эппл обязательства выполняет, или даже перевыполняет в моем случае. Надеюсь и тебя не кинет. Удачи
Но еще есть ICANN и возможность отозвать с корневых DNS-ов зону .ru
на этот случай, правда, НСДИ создавалось, но во первых непонятно насколько оно работает, а во вторых - это уже по факту наступление того самого пресловутого чебурнета
Надеюсь в ICANN тоже взрослые разумные люди сидят и понимают что очебурачивание страны только поможет ее охреневшей власти
таблица хорошая, вот только пульсовые зоны лучше считать не от возраста а от максимального пульса
формула 220 - возраст (в таблице очевидно она) в моем случае дает погрешность в -20 bpm ?
смотреть может и страшно, но много ли вы видели подскользнувшихся бегунов с подвернутыми ногами? при беге вы постоянно находитесь в тонусе, а высокий каденс позволит мгновенно среагировать и исправить ситуацию в случае проскальзывания
а насчет суставов - совершенно обратная ситуация. при беге по пересеченной местности очень хорошо тренируются мышцы стабилизаторы, которые как раз и предотвращают травмы типа подвернул ногу. при этом ударная нагрузка значительно меньше чем при беге по асфальту
я в этом году впервые не стал заканчивать сезон осенью и пробегал всю зиму. Получил огромное удовольствие
Ждем видоверсию репортажа в "Загадке дыры"
(извините, не сдержался)
предпочитаю pydantic, просто потому что знаком с ним через FastAPI
а еще там типов какое то неприличное количество и он их проверяет в рантайме
правда за счет этого pydantic скорее всего и работает медленнее dataclass-ов, но мне норм
Спасибо за статью, прочитал с удовольствием. И рисунки крутые
Вот только к сожалению ваш велосипед вряд ли выстрелит
конкурентного преимущества - отсутствие зависимостей - скорей всего будет недостаточно для того чтобы привлечь внимание
Во первых screen scraping это уже немодный подход. Перед парнями с смузями неудобно.
Во вторых есть модный ансибл, вечно глючный и дико тормозной, но сцуко модный, который уже наверное лет 8 старательно натягивают на сеть с переменным успехом
Ну и основное - те кому ехать, а не шашечки, давно используют netmiko/nornir или scrapli/nornir-scrapli/scrapli-netconf (кстати, не представляю какие данные с помощью нетконф нельзя выгрузить)
Причем для го-энтузиастов уже есть вполне стабильные реализации на гошечке: scrapligo и gornir
з.ы. правда у меня так и не получилось под виндовс бинарь скомпилить используя scrapligo. точнее скомпилить получилось, а запустить не особо, но это я плохо старался просто :)
Поспорю...
Когда я не могу понять написанное предложение, особенно длинное, я просто проговариваю его вслух (или даже про себя, но максимально громко так чтобы даже в мысленном произношении интонации проявились) и как правило затык сразу проходит.
В английском хватает ньюансов когда одно и тоже самое слово может быть и существительным и глаголом или выглядеть одинаково в разных ролях и/или временах, но произноситься по разному. Как говорится написано Ливерпуль, а читается Манчестер
И это в английском. А французский разговорный и письменный ИМХО вообще друг с другом никак не связаны :)
А как проголосовать если я пользовался и продолжаю пользоваться?
Ведь если ответить "раньше пользовался" то мой голос может засчитаться как будто я пользоваться перестал и тем самым пополнит статистику перебежчиков. А это совсем не так
всегда гуглю unsupported-transceiver
нет не удаляйте, тема флеймогонная, а это для пятницы весьма кстати
повеселимся :)
Оффтопик и капитанство, хотя местами забавно
И вот эти ваши два пассажа лучше бы смотрелись рядом :)