78

Ansible + Mikrotik = Приключения

Как и в любой сказке всё началось довольно невинно, захотелось мне сконфижить пачку микротов разом, через Ansible, и тут пошло всё не так)


Очень кратко, что это и как работает, можно прочитать ТУТ


Кратно о том что есть у меня в распоряжении для теста:

- Ansible AWX

- CCR1036-12G-4S


Глава первая - Печальная!

При попытке выполнить сценарий на свои продовых микротах, я получаю ошибку:

The error was: ansible.module_utils.connection.ConnectionError: timeout value 30 seconds reached while trying to send command: b'

* на самом деле дебаг больше и сочнее, но для понимания сути, будет достаточно этого)


1 - первое, что пришло мне в голову, это править таймауты в ansible.cfg - не помогло!

2 -  identity пользователя от которого выполняется сценарий, у меня это был ansible-ops.

* классический admin, был упразднен сразу же,  ввиду его не модности и не безопасности)

Забегая на перед, отчасти проблема была в имени пользователя, ansible с микротиком на пару, плохо понимают имена пользователей с дефисами. (Вернее не понимают совсем)

3 -  проведён ресёрч на тему длинны имени(Identity) самого Mikrotik, в процессе поиска, на  гите, была найдена ветка со схожей проблемой, решение было таково, что длина имени, не должна превышать 32 символа, у меня она составляла 30 символов, так что мимо кассы)

4 - были переустановлены несколько видов и версий прошивок, из ветки stable\long-term, не помогло

5 - на финал был скинут в ноль  CCR1036-12G-4S для теста, и... барабанная дробь, работает!


Глава вторая - победа, побед)

Проблема была обнаружена в имени Mikrotik, у меня они содержали пробелы и | (пайп лайны).

Дальше я решил проверить, а какие ещё символы Ansible + mikrotik на дух не переносят?

Какие символы в Identity Mikrotik, может переварить Ansible :

"test core router" - OK

"test-core-router" - OK

"test.core.router" - OK

"test:core:router" - NO

"test=core=router" - NO

Довольно важный момент состоит в том, что в имени пользователя от которого сценарий будет запущен, не должно быть дефиса(а возможно и других спец символов):

* ansible-ops = timeout!


Эта очень короткая записка о проблеме на которую я потратил неделю жизни и нервов)

Спасибо всем кто прочел, удачи и добра!)

Лига Сисадминов

2.5K постов19K подписчиков

Правила сообщества

Мы здесь рады любым постам связанным с рабочими буднями специалистов нашей сферы деятельности.

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества