nocproject.org
04:41
Всем привет!
04:41
Решил немного поразбираться с get_interfaces и возник вопрос: каков физический смысл понятия subinterface? Как я понимал - это логический интерфейс - например, на циске: Ge0/1 - физический, а на нём несколько логических subinterface-ов: Ge0/1.78, Ge0/1.100 и т.д.... а с
04:41
Как это расшифровать:
04:42
<lexus-omsk> РеÑил немного поÑазбиÑаÑÑÑÑ Ñ get_interfaces и возник вопÑоÑ: каков ÑизиÑеÑкий ÑмÑÑл понÑÑÐ¸Ñ subinterface? Ðак Ñ Ð¿Ð¾Ð½Ð¸Ð¼Ð°Ð» - ÑÑо логиÑеÑкий
04:42
инÑеÑÑÐµÐ¹Ñ - напÑимеÑ, на ÑиÑке: Ge0/1 - ÑизиÑеÑкий, а на нÑм неÑколÑко логиÑеÑкиÑ
subinterface-ов: Ge0/1.78, Ge0/1.100 и Ñ.д.... а ÑÑ
04:43
gnu-linux, а у меня нормально читается
04:44
у меня UTF-8 иногда после вашей копипасты кракозябры...
04:44
2gnu-linux
04:44
I use utf-8, and you? ))
04:45
04:49
т.е. как я изначально понимал, да, это влан, а вот по примерам получается, что все цискины сабинтерфейсы будут отдельными физическими интерфейсами... или всё-таки нет?
04:53
нет
04:53
сабы - именно сабы на физике
04:55
Да, к стати, хочу написать get_switchport.py get_interfaces.py для DxS... Смотрю на комманды 'show ports', 'show vlan' часть нужной инфы могу с них достать...
04:56
т.е. для моего примера это будет случай "L3 terminated 802.1Q trunk" из вышеуказанного топика?
04:57
lexus-omsk: в копипасте кракозябры
04:59
Еще вопрос, мне надо инфу о свиче в виде таблицы: "port", "tagged", "untagged", "remote_IP", "remote_port", "state", "remote_description", "properties"
05:00
05:00
проще всего сделать свой скрипт который будет возвращать dict
05:01
и сделать простейший SAApplication
05:02
Вот сижу и мучаю, свой.. Я переделаю show_switch чтобы он dict возвращал...
05:04
ну не знаю, где там кракозябры, в логах на сайте всё читабельно :)
05:04
Теперь взял за пример apps/invrntory/views.py и переделываю с него apps/reportswitch/views.py...
05:06
dvolodin: Пока не очень получается, как зайду в тупик то запощу на пейстбин, надеюсь поможешь разобраться с табличкой...
05:07
там все прямолинейно весьма
05:08
noc> python manage.py sync-collections
05:08
Creating in noc.vendors: {'name': u'Alcatel-Lucent'}
05:08
Creating in noc.vendors: {'name': u'Cisco Networks'}
05:08
Creating in noc.vendors: {'name': u'Extreme Networks'}
05:08
Creating in noc.vendors: {'name': u'f5 Networks'}
05:08
Creating in noc.vendors: {'name': u'Force10 Networks'}
05:08
Creating in noc.vendors: {'name': u'Huawei Technologies Co.'}
05:08
Creating in noc.vendors: {'name': u'Juniper Networks'}
05:08
Creating in noc.vendors: {'name': u'ZTE'}
05:08
первые данные в inventory ;)
05:09
Подожди, зайду в тупик, спрошу :)
05:09
ты документируй действия
05:10
опус напишешь: "как я писал приложение SA"
05:10
Хорошо, на англицком?
05:12
зачем
05:12
на русском
05:12
коллегам интересно будет
05:20
основные принципиальные проблемы с mongodb решил, начал делать модельки для inventory
05:21
наверное, сразу в репо коммитить не буду, положу в виде Early Access
05:25
День добрый уважаемые!
05:27
есть ли возможность в Add Managed Object поля User password и т.д. вынести в отдельную таблицу..
05:28
Думали над этим необнократно
05:28
неочевидна выгода
05:28
потому как на всех устройствах заведен специальный юзер для управления. а руками вводить всех... тяжко.
05:28
keychain придется воротить свой
05:29
далеко не у всех один юзер
05:29
но их обычно значительно меньше чем устройств
05:30
не факт
05:32
это отдельная больная тема ;)
05:32
либо..... сделать еще один вариант Add Managed Object который заполняет все поля на основании другой записи..
05:32
просто так отдельную таблицу делать не стоит, нужен системный подход
05:33
шаблоны для объектов сделать можно
05:33
системный подход это всегда сложно :-(
05:33
неее не шаблоны.. а именно на основании одног из существующих объектов.
05:33
да, но в противном случае будет груда подарочных костылей
05:34
копирование можно сделать
05:34
следующий вопрос
05:35
не знаю как у других систем, в цисках есть 2 конфига... сейчас снимается конфиг исполняемый.. а хочется снять еще тот который запускаемый
05:37
получить то его не проблема а вот как сохранить в базу...
05:39
решили пока с этим не заморачиваться
05:40
обычно running-config попадает в репо после получения syslog/trap
05:40
то есть по wr mem
05:40
и идентичен startup config'у
05:41
wad, у меня пользователей/паролей четь меньше чем железяк.
05:41
dvolodin, я за появление галочки в ноке восзле пароля. показать пароль
05:42
тогда как то надо пометку делать в ревизиях, что эта версия записанная в стартап..
05:43
что-бы проще было искать что натворили с поледнего раза
05:44
следующий вопрос
05:45
когда Add Managed Object создаем объект то в Configuration Management -> Configs создается запись соответсвующая объекту
05:47
там в поле PullEvery задается время в секундах - как я понимаю как часто снимать конфиг.. его мне кажется удобней было бы задавать при создании объекта.. либо опять где-то дефаулт хранить
05:47
тут согласен. при чем дефолт надо хранить в профиле.
05:49
при создании есть же уже область Configuration Managed туда бы и ..
05:52
не уверен насчет дефолта на профиль
05:53
насчет галочки - Show password - подумаю
05:53
может возмется кто сделать фишку?
05:53
надо сделать новый widget в lib/widgets.py
05:54
я конечно еще не пользовался syslog/trap может конечно через него можно ловить свежие изменения конфига..
05:55
но это же тогда надо на девайсе включать при изменении конфига писать в сислог
05:55
можно махом на всех врубить
05:57
и возвращаясь к главной мечте
05:58
а кнопочка найти все устройства и занести в базу уже есть?
05:58
Managed Object discovery, в процессе
05:59
dvolodin, nmap по диапозону ?
05:59
как минимум нужны get_interfaces на всех основных профилях
05:59
неа
06:01
пропинговать, посмотреть ssh'ный промпт, дернуть sysDescr
06:01
сделать начальные предлоложения, какой может быть профиль
06:01
в профилях появится sysdescr
06:01
ломануться на железку, сделать get_version, убедиться, что угадали с профилям
06:02
дернуть get_interfaces, получить все свои адреса
06:02
sh на алкателе не show, а shutdown
06:02
убедиться, что не делаем дупликаты
06:02
и так далее
06:03
что нашли - кладем на карантин
06:03
задача не особо сложная
06:05
в профилях действительно появятся списки с масками для sysDescr и ssh version
06:23
dvolodin я тебе выслал 2 патча, применишь?
06:24
ломануться на железку, -- а откуда ты узнаешь имя и пароль :-)
06:26
табличка - какие комбинации пробовать
06:27
так все и делают в принципе
06:27
дык это почти то что я с утра спрашивал :-)
06:27
не совсем
06:27
это именно для discovery
06:29
Давайте лучше модель данных для inventory обмозгуем
06:29
прикрутил mongodb, положил в contrib mongoengine
06:29
делаю модельки
06:30
Для вендоров получается прямолинейно
06:30
06:31
какие поля еще могут понядобиться
06:31
?
06:31
с дистрибутивом идут json-файлы, которые автоматом засасываются в базу
06:32
06:32
пока такое
06:32
во всех моделях можно будет добавлять свои произвольные поля
06:33
но нужно сразу положить необходимый функциональный минимум
06:33
что еще для вендоров понадобится?
06:55
wad: прописываешь всех без логина/пароля потом делаешь UPDATE sa_managedobject SET "user" = 'логин', passwd = 'пароль'
07:03
gnu-linux не хочется руками лишний раз в базу лазить
07:05
Я знал IP всех объектов и у меня автодискавери/автозаполнение получилось следующим:
07:05
07:06
Досих пор пользуюсь для добавления новых свичей!! Потом руками меняю description и всё...
07:07
Остальное делает sa.version_inventory :)
07:30
ой, приехали, Juniper MX5, MX10, MX40
07:30
вот пошли-то кастратов плодить
07:34
gnu-linux а могешь дать скрипт которым ты девайсы в базу пихаешь?
07:42
07:44
Обязательно просмотреть все значения VALUES и поставить нужные вам...
07:44
к вебу уже прикрученно но я очень плохо понимаю джанго, приходится искать обходные пути
07:47
мде.. читый баш и pgsql... эх пойду еще покопаю нок
07:56
могу сделать питон и psycopg2 естли надо, но к ноку пока присобачить не могу.. Мучаю сейчас табличку одну...
07:57
в принципе ничего не придумывая можно объекты заносить через веб, указав в строке все поля
07:57
типа /sa/managedobject/add/?name=123.123.123.123&administrative_domain=1
07:58
но это то-же извращение
10:09
dvolodin Хеелп. Managed Object - это же class ManagedObject(models.Model) ?
10:11
10:11
включил.. а кнопки не появляются..
10:12
в шаблонах надо смотреть
10:12
telmplates/admin/
10:12
аааааааааа
10:12
я чуть голову не сломал..
10:43
здрасте
10:44
как можно цивилизованно удалить события помногу ? закрывать по одному очень муторно
10:50
У меня большой вопрос, вот нужную для таблицы инфу сформировал словарём(чёто сложный с 3 вложениями)
10:50
10:51
10:55
views.py формирует data для report? Данные должны приходить с interfaces/ireportswitch.py
11:02
11:03
Та что сделать "правильно" переименовать show_switch в reportswitch и розкидать по профилям не получается....
11:05
Вот думаю, а что если сделать для начала просто views.py и прямо там добавить код show_switch чтобы он вместо трёхвложенного словаря выдал сразу нужную "data"
11:07
какие данные "data" нужно передать report чтобы он табличку сделал? Я прямо в views.py с базы нужное вытащу...
11:41
список строк
11:42
каждаястрока - список колонок
11:44
такс, я чего то пропустил...mongodb уже в текущем релизе требуется?
11:44
или пока отдельно в тесте
12:07
отдельно
12:07
я на форуме отпишу, когда коммиты пойдут
Share this page
Share this page: