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: 15.04.2013
lexus-omsk #
02:40
Обнаружил проблему - на всех C7606 часть сабов не попадает в базу, хотя при прогоне debug-script всё есть
02:41
В логах дискавери: Creating subinterface, потом сразу Removing subinterface
02:53
что ещё подозрительного - все они в одном vrf
03:07
dvolodin: Привет. Я тут задумался - а не нужен ли vrf в интерфейсе igetarp?
03:08
во затупил... он там есть) просто в нужных скриптах не используется
03:08
накатаю патч сейчас
dvolodin #
03:14
ага
03:18
он был там с самого начала
lexus-omsk #
03:22
а по предыдущему вопросу, про Creating / Removing subinterfaces есть идеи, как отловить?
dvolodin #
03:23
лог смотреть надо
03:23
что именно слетает?
lexus-omsk #
03:26
в логе как раз-таки создался / удалилися - и всё
03:26
несколько сабов на циске 7606 не попадают в базу
03:29
в debug-script всё замечательно находится
03:29
смущает ещё, что все они в одном vrf
03:32
а про get_arp - там так vrf на вход подаётся? У меня обратная ситуация - я делаю display arp и вижу результаты для всех vrf
03:35
т.е. надо их раскидать по разным vrf, а то в ipam свалка получается
04:13
всё-таки интересно Huawei сделан: добавил я ему поддержку vrf в get_arp по примеру как в профиле cisco, но
04:14
если не указать vrf - покажет всё, и global, и все другие vrf
zi_rus #
05:12
lexus-omsk, у меня есть 7600, какие именно сабы не создаются, я у себя могу посмотреть
dvolodin #
05:14
lexus-omsk: посмотри потроха ip discovery
zi_rus #
05:18
freeseacher, ты тут?
freeseacher #
05:21
yes
lexus-omsk #
05:23
zi_rus: да обычные сабы, типа te 2/7.3997, прописан description, тэг dot1q, vrf и ip - всё... чуть более 320 таких сабов, из них штук 10 не попадают в базу
zi_rus #
05:23
freeseacher, а можешь подсказать по json, вот по интерфейсам, возвращаются 3 секции, l1/l2/l3, что делать если нужна только 1
05:23
lexus-omsk, странно, жаль, у меня таких нет
freeseacher #
05:24
zi_rus, проигнорируй остальные.
05:24
хотя
zi_rus #
05:24
freeseacher, оптимизировать нельзя?
freeseacher #
05:24
dvolodin, тут же _only не поможет да ?
zi_rus #
05:24
я пробовал only
05:25
не сработало
05:25
хотя может я как-то не так его использовал
05:26
freeseacher, и второй вопрос, могу ли я через апи повторить такое: SubInterface.objects.get(ipv4_addresses=ip_gw)
freeseacher #
05:29
думаю это можно попробовать в другую сторону
zi_rus #
05:30
это как
freeseacher #
05:31
дергать из таблицы ipam-а ult MO указан
05:31
*где
dvolodin #
05:31
не поможет
05:31
интерфейсы -- не model application
05:31
они выдают свою структуру
freeseacher #
05:32
ну вот меня тоже смутило что там сильно сложнее
05:32
альтернативой я так понимаю было бы по доному запросу на каждую вкладку
dvolodin #
05:33
можно добавить какую-нибудь семантику для only
05:33
скажем
05:33
?__only=l2
05:34
и путь отдает только вкладку l2
zi_rus #
05:34
dvolodin, а почему этого не было изначально?
freeseacher #
05:34
GET /inv/interface/1890/?_only=l1 HTTP/1.1
dvolodin #
05:34
а почему оно должно было быть?
freeseacher #
05:34
отдает все
05:34
аа всмысле допилить
zi_rus #
05:34
ну так было бы логичней
dvolodin #
05:34
да, допилить
05:35
приложение делалось для того, чтобы посмотреть, какие интерфейсы есть в базе
zi_rus #
05:37
ну это очевидно, я про то что если есть разные секции, то возможность фильтровать по ним было бы логичным решением
dvolodin #
05:39
там фильтрация посложнее, чем __only
05:39
еще и по имени надо фильтровать опционально
zi_rus #
05:45
freeseacher, а во втором случае вариантов нет?
05:46
просто на сколько я знаю поле МО будет из ипам выпиливаться
05:47
да и просто это как-то криво выглядит
freeseacher #
05:48
выпиливаться ?
05:48
хм...
05:48
видимо у меня опять будет unsupported installation ^)
05:48
у меня много зачепок под него сделано
05:48
думаю придется мигрировать
zi_rus #
05:49
ну да, а там будет прямо из базы интерфейсов показывать что и где, а вот как тогда простым людям жить -не знаю
freeseacher #
05:50
пока работает.
zi_rus #
05:51
пока да, ипам то еще никто не трогал
05:51
и когда еще это случится
e_zombie #
06:04
алёёё
06:04
есть кто из программеров?
zi_rus #
06:05
из каких?
e_zombie #
06:06
у меня вопрос есть по коду
mikevlz #
06:06
на вопрос отвечает zi_rus
06:06
=)
freeseacher #
06:06
спрашивай да :) если программеров не найдется тебя просто проигнорят :)
e_zombie #
06:07
http://pastebin.com/pHhK4MtF
06:07
вот такой метод
06:07
в нем ловлю ошибку
06:07
key error
06:07
root["children"] += [r]
06:08
я так понимаю, что в словарик кладется нечто в цикле while len(parts) > 1
06:09
по ключу "children"
freeseacher #
06:09
неа
06:09
не кладется
e_zombie #
06:09
ок
freeseacher #
06:10
совершенно не факт что там такое поль есть
e_zombie #
06:10
ага
06:10
root["children"] += [r]
06:10
вот тут получается проблема
zi_rus #
06:10
freeseacher, GET "http://noc/inv/interface/458/" - вот такой запрос у тебя пройдет от юзера НЕадмина, у меня так и не получилось, пермишены вообще все включены
e_zombie #
06:11
можно ли как-то безопасно поапдейтить значение в словаре?
mikevlz #
06:12
можно. Вставь проверку, есть ли там такой ключ, если нет - добавь
freeseacher #
06:12
а чем = то не устраивает ?
e_zombie #
06:14
http://pastebin.com/0v8xvdnx
06:14
решение в лоб такое...
freeseacher #
06:15
has_key
06:15
но не красиво
e_zombie #
06:16
да, has_key уже лучше
freeseacher #
06:22
а может в Try обернуть и ловить кейеррор
06:22
так симпатичнее
Hanapi #
06:53
Привет...
06:54
После перезагрузки проблема вышла с монгодб (я запустил нок на виртуалке 8 ГБ)
06:54
Mon Apr 15 10:54:26.104 [initandlisten] journal dir=/var/lib/mongodb/journal
06:54
Mon Apr 15 10:54:26.104 [initandlisten] recover : no journal files present, no recovery needed
06:54
Mon Apr 15 10:54:26.105 [initandlisten]
06:54
Mon Apr 15 10:54:26.105 [initandlisten] ERROR: Insufficient free space for journal files
06:54
Mon Apr 15 10:54:26.105 [initandlisten] Please make at least 3379MB available in /var/lib/mongodb/journal or use --smallfiles
07:18
и вообще зачем нужно было делать pgsql, для нее даже нормально графического клиента найти не могу
zi_rus #
07:20
зачем тебе клиент, да еще графический
07:20
freeseacher, GET "http://noc/inv/interface/458/" - вот такой запрос у тебя пройдет от юзера НЕадмина, у меня так и не получилось, пермишены вообще все включены
Hanapi #
07:23
я на виртуалке запускал нок
07:23
теперь хочу на другу машну ве перенести
07:26
клиент для pgsql на винде есть?
mikevlz #
07:29
делай дамп из консоли, переноси дампы, восстанавливай
zi_rus #
07:51
mikevlz, ты юзеров с ограниченными правами не создавал?
07:51
пробовал давать им доступ к базе интерфейсов?
mikevlz #
07:53
создавал для ДНС
07:54
начальнику пришлось рута давать, чтоб CM/DNS objects смотреть мог
zi_rus #
07:56
а на инветори не пробовал?
mikevlz #
07:56
не нужно
zi_rus #
07:56
жаль
07:57
у меня не хочет и все тут
07:57
failed to get interfaces прямо в вебе
07:57
Forbidden и никак
07:58
уже юзеров и создавал и пересоздавал, и прмишены все включал
07:58
у супера проблем нет
07:59
а тут никак
08:00
даже не представляю где может быть баг, хоть бы кто подтвердил что у него так же, не может же быть что у меня косяк
lexus-omsk #
08:05
zi_rus: в свой время пытался с помощью rest прикрутить самописный интерфейс для поддержки
08:05
к меня тоже не получилось не под рутом
zi_rus #
08:05
lexus-omsk, а володин говорит что у него работает
08:07
может кто-нибудь создать юзера и дать ему права на inv.interfaces и попробовать прямо в веб посмотреть список интерфейсов для какой-нибудь железки. если не получится я сдлеаю issue про это, ведь пока что не получается только у меня
lexus-omsk #
08:51
zi_rus: по-моему, нужно ещё дать доступ юзеру к определённым managed_object
08:51
через селекторы, например
08:51
sa -setup- user access
zi_rus #
08:52
lexus-omsk, спасибо за идею, проверю сейчас
09:50
lexus-omsk, спасибо еще раз, так заработало
09:51
действительно, как все не очевидно
e_zombie #
10:03
хехе
zi_rus #
10:03
dvolodin, привет, мне тут объяснили как доступы правильно настроить, вот по ИПАМ теперь вопрос, как для него сделать разрешения правильно
10:05
хотя кажется уже сам нашел
10:05
dvolodin, юзабилити управления правами и доступом просто никакое
e_zombie #
10:06
:)
dvolodin #
10:07
zi_rus: тебя бы заставить права доступа в каком-нибудь SAP CRM прописывать
10:07
:)
zi_rus #
10:07
dvolodin, тебя что научили плохому?
10:07
и ты решил на нас отыграться
dvolodin #
10:10
я полтора года заставлял это угребище работать :)
zi_rus #
10:12
dvolodin, умный учится на чужих ошибках
10:15
dvolodin, вопрос такой к тебе, возможно ли через REST каким либо образом по ip определять интерфейс?
10:16
как это делается
10:16
SubInterface.objects.get(ipv4_addresses=ip_gw)
dvolodin #
10:16
да
10:17
только надо маску указать
10:17
127.0.0.1/8
zi_rus #
10:17
а как? я извращался как мог и с максой тоже, как запрос составить?
10:18
http://noc/inv/interface/?ipv4_addresses=127.0.0.1/30
10:18
так не канает
10:19
http://noc/inv/interface/lookup/?ipv4_addresses=127.0.0.1/30
10:19
так тоже
10:19
404 и все
dvolodin #
10:49
интерфейсы не схавает
10:49
только через mongoengine
zi_rus #
10:49
что же как все плохо
10:49
dvolodin, а почему нет? может апи допилить?
dvolodin #
10:50
лучше два приложение -- для выдергивания интерфейсов и сабов
10:50
как modelapplication
zi_rus #
10:50
как тебе удобней
10:51
мне бы только возможность выдергивать эти данные
10:53
и custom fields для монго
10:53
вот две вещи которых не хватает
dvolodin #
11:02
кстати, зачем тебе такие вещи через REST?
zi_rus #
11:09
ну вот у меня внешняя система, запрашивает по номеру проекта базу префиксов, находит префикс, а у него прописано на каком интерфейсе этот адрес настроен, при этом я пишу интерфейс в ипам хотя эти данные и так есть в инвентори
11:10
это все возможности
11:10
их можно или использовать или не использовать
11:11
но когда их нет, использовать их не получается
11:11
я вот чувствую что пирули скоро начну писать
11:12
и custom_databases могут понадобиться :)
dvolodin #
11:15
мне кажется, надо в префиксе хранить object id интерфейса
zi_rus #
11:17
хм, но это те же яйца, только сбоку, порт изменился, дискавери обновил в инвентори а в ИПАМ осталось по старому
11:17
я никак не могу красивую схему продумать
11:17
вот есть клиент
11:17
есть один или несколько сервисов
11:17
есть порт на устройстве доступа
11:17
есть интерфейсы на брасе
11:18
есть л2-канал
11:18
что брать за отправную точку
11:19
с точки зрения сети
11:20
порт? влан? ip&
dvolodin #
11:21
да не
11:21
у нас в ipam есть привязка адреса к managed object'у
11:21
а более правильно -- делать привязку к интерфейсу
zi_rus #
11:22
да и я о том же. а бывает ведь еще как, интерфейс на доступе а терминация на брасе, а мне вот так вот надо иметь связь этих парметров
dvolodin #
11:23
это явно не в адресах
lexus-omsk #
11:26
ну вот и подходим в очередной раз к тому, что нужно отдельно описание сервисов, к коорым можно привязать и порты, и адреса и прочее... или не так понимаю?
zi_rus #
11:27
вот поэтому я и говорю про это, надо к интерфейсу привязываться, а custom field я туда прикрутить не могу, но есть еще такой момент, как научиться отслеживать перенос клиента
dvolodin #
11:28
ага
11:28
именно
11:28
плясать от сервиса
zi_rus #
11:28
нужно иметь связь порта на доступе и точки терминации
11:28
они же связаны
11:29
по трафику
11:29
так или иначе, но я буду руками переносить точку терминации для клиента
11:30
а обновлять ее в базе можно автоматом
11:32
но как
11:32
нужна трассировка по влану
11:33
и нужна возможность присутствовать МО в нескольких vc доменах
11:34
mikevlz, это же ты экспериментировал с трассировкой вланов?
11:34
даже что-то получалось
11:39
dvolodin, что на счет МО и нескольких vc доменов?
dvolodin #
11:41
zi_rus: не знаю, как это сделать
zi_rus #
11:41
плохо
11:42
надо придумать
11:42
может в инвентори
11:43
как МО привязываем к vrf
11:43
так интерфейсы можно привязывать к домену
dvolodin #
11:44
привязка mo к VRF -- костыль
11:44
равно как и селектора к vc domain'у
11:45
у нас получается - простые железки относятся к одному vc domain'у
zi_rus #
11:45
а что не костыль?
dvolodin #
11:45
а PE могут торчать во многих
zi_rus #
11:45
да, это очевидно
11:45
про РЕ и идет речь
11:49
dvolodin, ты говоришь что указание в профиле - это костыль, выборка по селектору это тоже, а как тогда по прямому
11:51
может vc domain указывать в свойствах МО
11:51
и сделать галочку multiple vc domains
11:51
если отмечена, то появляется возможность привязывать отдельные интерфейсы к различным доменам
dvolodin #
11:52
это более прямой способ
11:52
если сделать новый sa.managedobjec с вкладками
11:52
одну из вкладок -- vc domain
freeseacher #
11:54
господа, у меня есть фундаментальная непонятка.
11:54
зачем это все?
11:54
не начинает ли вам это напоминать обслуживание базы данных ?
zi_rus #
11:54
что ты имеешь ввиду?
freeseacher #
11:55
каждый раз когда я вклалачиваю какие то данные в нок или прошу сделать это местных спецов мне задают вопрос.
11:55
зачем мы это делаем
11:55
каков профит ?
11:55
вот от ипама есть профит и от Vc есть
11:55
это учет первичных данных.
11:56
какой профит от дискавери топологии ? - проброс влана
zi_rus #
11:56
freeseacher, в vc есть кнопочка interfaces, она работает только при настроенных vc доменах
freeseacher #
11:56
какой профит от сбора конфигов - бекап.
zi_rus #
11:57
это действительно, ручная работа
freeseacher #
11:57
zi_rus, чего тебе дает кнопка interfaces ?
zi_rus #
11:57
я могу найти куда уходит влан
11:57
и где примерно искать клиента
freeseacher #
11:57
где искать клиента :) ?
zi_rus #
11:57
а иногда даже везет и я сразу вижу порт где он выходит
freeseacher #
11:57
на кропоткина 119
11:58
на кропоткина 119 два свитча
11:58
один из них твой
zi_rus #
11:58
зачем
11:58
untag port Fa0/19 на такой железке
11:58
иду на железку
11:58
нет линка, идите в жопу
11:58
а как иначе
11:58
а иначе
11:59
идешь по маку и перебираешь
11:59
а мака нет
11:59
и труба
12:00
на самом деле я согласен что ручная работа это дикость
12:01
и принадлежность железки к vrf, и к vc domain можно определять автоматически на основе результатов работы дискавери
12:01
нужно только правильный алгоритм придумать
12:01
но я об этом не заикаюсь, это утопия
12:03
да и дискавери работает неважно
12:03
старые линки не перерисовываются если они изменились
12:04
дискавери по стп пришлось отключить в ядре потому что там много вланов, а для циске с ее pvst выводить кучу транков для кучи вланов напряжно
12:05
из-за vpls дискавери подключенных роутеров работает не всегда
12:10
topology discovery это очень важная вещь, она нужна для всего
12:10
и ФМ об нее споткнется если не допилить
12:12
это все очень серьезно
12:13
поэтому я пока агитирую за мелочи
12:13
вроде custom field
12:13
или запилить красивый performance management
12:13
с графиками, пределами
12:13
уведомлениями
12:14
но что-то все встало
12:14
коммитов почти не видно
Tweet
Share this page
Share this page: Tweet