About Forum Blogs NOC Docs Downloads KB Issues Code CI Registration

nocproject.org

#nocproject.org at irc.freenode.net log.
Back to nocproject.org Back to IRC log index
Date: 10.05.2011
lexus-omsk #
04:41
Всем привет!
04:41
Решил немного поразбираться с get_interfaces и возник вопрос: каков физический смысл понятия subinterface? Как я понимал - это логический интерфейс - например, на циске: Ge0/1 - физический, а на нём несколько логических subinterface-ов: Ge0/1.78, Ge0/1.100 и т.д.... а с
free|wk #
04:41
привет
gnu-linux #
04:41
Как это расшифровать:
free|wk #
04:41
это влан :)
gnu-linux #
04:42
<lexus-omsk> Решил немного поразбираться с get_interfaces и возник вопрос: каков физический смысл понятия subinterface? Как я понимал - это логический
04:42
интерфейс - например, на циске: Ge0/1 - физический, а на нём несколько логических subinterface-ов: Ge0/1.78, Ge0/1.100 и т.д.... а сÑ
free|wk #
04:43
gnu-linux, а у меня нормально читается
gnu-linux #
04:44
у меня UTF-8 иногда после вашей копипасты кракозябры...
lexus-omsk #
04:44
2gnu-linux
04:44
I use utf-8, and you? ))
gnu-linux #
04:45
me too, but...
lexus-omsk #
04:45
да вот не совсем влан получается... если исходить из примеров в http://redmine.nocproject.org/boards/3/topics/1540
04:49
т.е. как я изначально понимал, да, это влан, а вот по примерам получается, что все цискины сабинтерфейсы будут отдельными физическими интерфейсами... или всё-таки нет?
dvolodin #
04:53
нет
04:53
сабы - именно сабы на физике
gnu-linux #
04:55
Да, к стати, хочу написать get_switchport.py get_interfaces.py для DxS... Смотрю на комманды 'show ports', 'show vlan' часть нужной инфы могу с них достать...
lexus-omsk #
04:56
т.е. для моего примера это будет случай "L3 terminated 802.1Q trunk" из вышеуказанного топика?
dvolodin #
04:57
lexus-omsk: в копипасте кракозябры
gnu-linux #
04:59
Еще вопрос, мне надо инфу о свиче в виде таблицы: "port", "tagged", "untagged", "remote_IP", "remote_port", "state", "remote_description", "properties"
05:00
Так как это выдаёт show_switch c http://redmine.nocproject.org/attachments/132/topo_static_vlan.tar.bz2
dvolodin #
05:00
проще всего сделать свой скрипт который будет возвращать dict
05:01
и сделать простейший SAApplication
gnu-linux #
05:02
Вот сижу и мучаю, свой.. Я переделаю show_switch чтобы он dict возвращал...
lexus-omsk #
05:04
ну не знаю, где там кракозябры, в логах на сайте всё читабельно :)
gnu-linux #
05:04
Теперь взял за пример apps/invrntory/views.py и переделываю с него apps/reportswitch/views.py...
05:06
dvolodin: Пока не очень получается, как зайду в тупик то запощу на пейстбин, надеюсь поможешь разобраться с табличкой...
dvolodin #
05:07
там все прямолинейно весьма
gnu-linux #
05:07
:)
dvolodin #
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 ;)
gnu-linux #
05:09
Подожди, зайду в тупик, спрошу :)
dvolodin #
05:09
ты документируй действия
05:10
опус напишешь: "как я писал приложение SA"
gnu-linux #
05:10
Хорошо, на англицком?
dvolodin #
05:12
зачем
05:12
на русском
05:12
коллегам интересно будет
05:20
основные принципиальные проблемы с mongodb решил, начал делать модельки для inventory
05:21
наверное, сразу в репо коммитить не буду, положу в виде Early Access
wad #
05:25
День добрый уважаемые!
05:27
есть ли возможность в Add Managed Object поля User password и т.д. вынести в отдельную таблицу..
dvolodin #
05:28
Думали над этим необнократно
05:28
неочевидна выгода
wad #
05:28
потому как на всех устройствах заведен специальный юзер для управления. а руками вводить всех... тяжко.
dvolodin #
05:28
keychain придется воротить свой
05:29
далеко не у всех один юзер
wad #
05:29
но их обычно значительно меньше чем устройств
dvolodin #
05:30
не факт
05:32
это отдельная больная тема ;)
wad #
05:32
либо..... сделать еще один вариант Add Managed Object который заполняет все поля на основании другой записи..
dvolodin #
05:32
просто так отдельную таблицу делать не стоит, нужен системный подход
05:33
шаблоны для объектов сделать можно
wad #
05:33
системный подход это всегда сложно :-(
05:33
неее не шаблоны.. а именно на основании одног из существующих объектов.
dvolodin #
05:33
да, но в противном случае будет груда подарочных костылей
05:34
копирование можно сделать
wad #
05:34
следующий вопрос
05:35
не знаю как у других систем, в цисках есть 2 конфига... сейчас снимается конфиг исполняемый.. а хочется снять еще тот который запускаемый
05:37
получить то его не проблема а вот как сохранить в базу...
dvolodin #
05:39
решили пока с этим не заморачиваться
05:40
обычно running-config попадает в репо после получения syslog/trap
05:40
то есть по wr mem
05:40
и идентичен startup config'у
free|wk #
05:41
wad, у меня пользователей/паролей четь меньше чем железяк.
05:41
dvolodin, я за появление галочки в ноке восзле пароля. показать пароль
wad #
05:42
тогда как то надо пометку делать в ревизиях, что эта версия записанная в стартап..
05:43
что-бы проще было искать что натворили с поледнего раза
05:44
следующий вопрос
05:45
когда Add Managed Object создаем объект то в Configuration Management -> Configs создается запись соответсвующая объекту
05:47
там в поле PullEvery задается время в секундах - как я понимаю как часто снимать конфиг.. его мне кажется удобней было бы задавать при создании объекта.. либо опять где-то дефаулт хранить
free|wk #
05:47
тут согласен. при чем дефолт надо хранить в профиле.
wad #
05:49
при создании есть же уже область Configuration Managed туда бы и ..
free|wk #
05:50
нее. лишние поля
dvolodin #
05:52
не уверен насчет дефолта на профиль
05:53
насчет галочки - Show password - подумаю
05:53
может возмется кто сделать фишку?
05:53
надо сделать новый widget в lib/widgets.py
wad #
05:54
я конечно еще не пользовался syslog/trap может конечно через него можно ловить свежие изменения конфига..
dvolodin #
05:54
оно и ловится так
wad #
05:55
но это же тогда надо на девайсе включать при изменении конфига писать в сислог
dvolodin #
05:55
можно махом на всех врубить
wad #
05:57
и возвращаясь к главной мечте
05:58
а кнопочка найти все устройства и занести в базу уже есть?
dvolodin #
05:58
Managed Object discovery, в процессе
free|wk #
05:59
dvolodin, nmap по диапозону ?
dvolodin #
05:59
как минимум нужны get_interfaces на всех основных профилях
05:59
неа
06:01
пропинговать, посмотреть ssh'ный промпт, дернуть sysDescr
06:01
сделать начальные предлоложения, какой может быть профиль
free|wk #
06:01
в профилях появится sysdescr
dvolodin #
06:01
ломануться на железку, сделать get_version, убедиться, что угадали с профилям
06:02
дернуть get_interfaces, получить все свои адреса
free|wk #
06:02
sh на алкателе не show, а shutdown
dvolodin #
06:02
убедиться, что не делаем дупликаты
06:02
и так далее
06:03
что нашли - кладем на карантин
06:03
задача не особо сложная
06:05
в профилях действительно появятся списки с масками для sysDescr и ssh version
wad #
06:23
dvolodin я тебе выслал 2 патча, применишь?
dvolodin #
06:23
посмотрю
wad #
06:24
ломануться на железку, -- а откуда ты узнаешь имя и пароль :-)
dvolodin #
06:26
табличка - какие комбинации пробовать
06:27
так все и делают в принципе
wad #
06:27
дык это почти то что я с утра спрашивал :-)
dvolodin #
06:27
не совсем
06:27
это именно для discovery
06:29
Давайте лучше модель данных для inventory обмозгуем
06:29
прикрутил mongodb, положил в contrib mongoengine
06:29
делаю модельки
06:30
Для вендоров получается прямолинейно
06:30
http://pastie.org/1883977
06:31
какие поля еще могут понядобиться
06:31
?
06:31
с дистрибутивом идут json-файлы, которые автоматом засасываются в базу
06:32
http://pastie.org/1883980
06:32
пока такое
06:32
во всех моделях можно будет добавлять свои произвольные поля
06:33
но нужно сразу положить необходимый функциональный минимум
06:33
что еще для вендоров понадобится?
gnu-linux #
06:55
wad: прописываешь всех без логина/пароля потом делаешь UPDATE sa_managedobject SET "user" = 'логин', passwd = 'пароль'
wad #
07:03
gnu-linux не хочется руками лишний раз в базу лазить
gnu-linux #
07:05
Я знал IP всех объектов и у меня автодискавери/автозаполнение получилось следующим:
07:05
http://redmine.nocproject.org/boards/3/topics/2021#message-2168
07:06
Досих пор пользуюсь для добавления новых свичей!! Потом руками меняю description и всё...
07:07
Остальное делает sa.version_inventory :)
dvolodin #
07:30
ой, приехали, Juniper MX5, MX10, MX40
07:30
вот пошли-то кастратов плодить
wad #
07:34
gnu-linux а могешь дать скрипт которым ты девайсы в базу пихаешь?
gnu-linux #
07:42
http://redmine.nocproject.org/attachments/145/add_objects.sh или ты хочешь пиреписать на питон и прикрутить его к вебу нока ;)
07:44
Обязательно просмотреть все значения VALUES и поставить нужные вам...
wad #
07:44
к вебу уже прикрученно но я очень плохо понимаю джанго, приходится искать обходные пути
07:47
мде.. читый баш и pgsql... эх пойду еще покопаю нок
gnu-linux #
07:56
могу сделать питон и psycopg2 естли надо, но к ноку пока присобачить не могу.. Мучаю сейчас табличку одну...
wad #
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) ?
dvolodin #
10:10
да
wad #
10:11
нашел такую фишку.. save_as http://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.ModelAdmin.save_as
10:11
включил.. а кнопки не появляются..
dvolodin_ #
10:12
в шаблонах надо смотреть
10:12
telmplates/admin/
wad #
10:12
аааааааааа
10:12
я чуть голову не сломал..
misak #
10:43
здрасте
10:44
как можно цивилизованно удалить события помногу ? закрывать по одному очень муторно
dvolodin_ #
10:45
fm.archive
gnu-linux #
10:50
У меня большой вопрос, вот нужную для таблицы инфу сформировал словарём(чёто сложный с 3 вложениями)
10:50
http://pastie.org/1884451
10:51
Далее пробовал написать apps/reportswitch/views.py http://pastie.org/1884575 по анологии с apps/invrntory/views.py
10:55
views.py формирует data для report? Данные должны приходить с interfaces/ireportswitch.py
11:02
Вот так выглядит interfaces/ireportswitch.py http://pastie.org/1884612 но "port" там переменная номер порта...
11:03
Та что сделать "правильно" переименовать show_switch в reportswitch и розкидать по профилям не получается....
11:05
Вот думаю, а что если сделать для начала просто views.py и прямо там добавить код show_switch чтобы он вместо трёхвложенного словаря выдал сразу нужную "data"
11:07
какие данные "data" нужно передать report чтобы он табличку сделал? Я прямо в views.py с базы нужное вытащу...
dvolodin_ #
11:41
список строк
11:42
каждаястрока - список колонок
_4ePTeHok #
11:44
такс, я чего то пропустил...mongodb уже в текущем релизе требуется?
11:44
или пока отдельно в тесте
dvolodin_ #
12:07
отдельно
12:07
я на форуме отпишу, когда коммиты пойдут
Tweet
Share this page
Share this page: Tweet