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: 19.03.2014
freeseacher #
04:48
еще вопрос, зачем при описании регулярок делать ^syslog$ и профиль так же ?
dvolodin #
04:50
для ускорения поиска
freeseacher #
04:51
а раз это надо делать всегда, быть может это можно хардкодить ?
dvolodin #
04:52
не
04:52
не надо
Huko #
04:54
сидел на dev версии 3х дневной давноести, все работало нрмально, добавил объекты - началась засада, обновился до текущей версии - не помогло..
dvolodin #
04:55
Huko: да понятно там почему
Huko #
04:57
dvolodin: шанс, что снова заработает есть :) ?
freeseacher #
04:59
Коллеги, а %%01SHELL/5/TIMEOUT(l): ЮЗЕР login from ОЙПИ is time out. это новый класс или Security | Authentication | Login Failed
dvolodin #
05:02
я думаю, что новый
05:02
Huko: шанс всегда есть
lexus-omsk #
05:03
freeseacher больше похоже на logout, только автоматический, по таймауту
freeseacher #
05:04
lexus-omsk, да жто логаут
05:06
lexus-omsk, а у тя есть хуавеи ?
dvolodin #
05:07
Huko: воспроизвел
Huko #
05:08
dvolodin: значит проблема не в моем самописном профиле, это хорошо
dvolodin #
05:09
да нет, конечно
lexus-omsk #
05:09
freeseacher есть, но не много, только 5328 сейчас доступны, в теории можно ещё 9303 завести
dvolodin #
05:10
проблема в том, что после того, как атрибуту класса назначается callable, ему в качестве первого параметра передается класс
freeseacher #
05:10
dvolodin, FM очень не хватет строки поиска по сабжекту
05:11
lexus-omsk, у меня в логе выбают %%01QOSE/6/CPCAR_DROP_LPU(l): Some packets are dropped by cpcar on the LPU in slot 10. (Protocol=telnet, Drop-Count=0597)
Huko #
05:11
iface = <Interface: ood-acc-tech-6-09: 1> вот это ?
lexus-omsk #
05:12
да, тоже сыпется такое, но вроде на работу не влияет... надеюсь... я их игнорю
Huko #
05:19
dvolodin: поможет только патч или как то локально можно это решить ?
dvolodin #
05:20
лучше патчем
Huko #
05:22
dvolodin: если получится сделай, пожалуйста, а то получается у меня нок почти не работоспособный сейчас :(
freeseacher #
05:25
lexus-omsk, поговорил с хуавеевским
05:26
cp-car это аналог CoPP и СЗГ-ВУаутв
05:26
CPU-Defend
05:26
это или евент или аларм в зависимости от интенсивности дропа
05:27
dvolodin, Chassis | CPU | CoPP Drop назван не верно аналогичные механизмы есть у других вендоров. как правильно поступить ?
dvolodin #
05:28
кто вообще делал этот класс?
05:28
:)
05:31
interface_discovery пофиксил
05:31
solutions уже вполне жизнеспособны
05:31
можно делать свою логику для определения fqdn и descript для ip discovery
05:31
и для назначения профилей для интерфейсов
TSergey #
05:32
что такое solutions? в коммитах увидел, это обсуждалось?
freeseacher #
05:33
https://bitbucket.org/nocproject/noc/src/909717fa5b8d/fm/collections/eventclasses/Chassis/CPU/CoPP_Drop.json
05:33
dvolodin, ты
dvolodin #
05:33
и можно в них делать свои job'ы для discovery и scheduler'а
05:33
freeseacher: я только их на файлы порезал
05:34
TSergey: solutions -- это пакеты, которые могут модифицировать и дополнять базовую логику noc
05:34
freeseacher: а в чем проблема-то?
freeseacher #
05:34
название плохое :)
dvolodin #
05:34
пусть оно все будет CoPP Drop
05:41
один фиг в общем-то, control plane policing это, как не обзови
freeseacher #
05:41
хорошо
05:41
просто я бы 100 пудово не нашел бы это
05:44
dvolodin, скажи лучше чего нить хорошее про поиск по сабжекту в FM :)
05:44
это какой то анрил или просто впилить надо
dvolodin #
05:44
смотри
05:44
впилить это можно только в одном случае
05:45
если отказаться от возможности переводов сабжа и тела на разные языки
05:45
он не в событии хранится, а в классе
zi_home #
05:57
dvolodin, солюшены периодически выполняются или дергаются триггером и вообще как они вызываются
dvolodin #
05:59
они часть noc'а
06:00
смотри, для классификации интерфейса используется настройка get_interface_profile
06:00
по умолчанию она смотрит в solution noc.defaults и указывает на функцию, у которой на входе интерфейс, на выходе - имя профиля или Null
06:00
None
06:01
если ты хочешь сделать целиком свою логику
06:01
ты делаешь либо новый solution, либо используешь свой
06:01
определяешь где-то внутри него свою функцию
06:02
и указываешь ее в конфиге
06:03
рыбу сделать просто
06:03
./noc create-solution <vendor>.<name>
06:04
и подключается он в разделе [solutions] в noc.conf
zi_home #
06:04
вендор О_О
dvolodin #
06:04
грубо говоря, все твои локальные фиксы сосредоточены в одном месте
06:04
ну а что тебя пугает?
06:04
у меня noc
zi_home #
06:04
я не понял какой смысл ты вложил в это слово
dvolodin #
06:04
производитель solution'а
06:05
вот смотри
06:05
у тебя есть решение, которое классифицирует интерфейсы по линкам
06:05
так?
zi_home #
06:05
есть
dvolodin #
06:06
потенциально, оно интересно многим
06:06
но его нельзя делать из коробки, так как оно подходит далеко не всем
06:07
ты можешь просто сделать solution с job'ом
06:07
и минимальными настройками -- какие профили выдавать при наличии линка и без него
06:07
упаковать и раздавать всем желающим
06:08
если кому-то нужна такая логика, то он поставит и включит твой solution
zi_home #
06:08
хорошо, это плюс. но я так и не понял как солюшен с джобом работают
06:08
а именно
06:08
запуск на исполнение например классификации интерфейса
dvolodin #
06:08
http://pastie.org/8949649
06:09
https://bitbucket.org/nocproject/noc/src/99aa573ac3beecf2c723b1a3e827c6b2017ebc42/inv/discovery/jobs/interface_discovery.py?at=develop#cl-41
06:10
вот так примерно
TSergey #
06:10
zi_home: я так полагаю должен быть уже механизм для запуска, а к нему можно свое прикрутить
dvolodin #
06:10
смотри, job читает настройку [interface_discovery]/get_interface_profile
06:10
и загружает нужный модуль и берет функцию
06:11
там же в 124 строке есть функция, которая классифицирует интерфейс
06:11
она тупо дергает функцию из solution'а и смотрит, что оно вернуло
06:11
дальше
zi_home #
06:11
get_interface_profile = noc.solutions.noc.default.discovery.interface.get_interface_profile
dvolodin #
06:12
https://bitbucket.org/nocproject/noc/src/99aa573ac3beecf2c723b1a3e827c6b2017ebc42/solutions/noc/default/discovery/interface.py?at=develop
zi_home #
06:12
то есть сюда надо будет вписать свое
dvolodin #
06:12
lf
06:12
да
06:12
вот тут то, как оно работает по умолчанию
06:12
ты делаешь свой get_interface_profile
06:12
в своем solution
06:12
и прописываешь его в конфиге
06:12
и все
06:12
interface_discovery будет вызывать твою функцию
zi_home #
06:13
ладно, этот момент надо уточнить. когда будет вызываться моя функция
06:13
какое условие? время? событие?
dvolodin #
06:13
каждый раз во время interface discovery
06:13
если на интерфейсе еще нет профиля
zi_home #
06:13
а если есть и его надо изменить так как изменилась сеть?
dvolodin #
06:14
сбросить профиль
zi_home #
06:14
ммм
dvolodin #
06:14
на самом деле и такую функцию можно сделать
06:14
которая будет проверять, запускать ли классификацию, или нет
06:15
сейчас в interface_classification такое есть
06:15
if not self.get_interface_profile or iface.profile_locked:
06:15
return
06:15
можно заменить iface.profile_locked на вызов из solution'а
06:17
там поле есть в интерфейсе, оно выставляется в true при ручном выставлении профиля из ui
06:17
не суть важно, суть саму понял?
06:17
у solution'а может быть свой конфиг в etc
TSergey #
06:18
но вкрутить свой солюшн можно будет только там, где у тебя будут такие заглушки-проверки
dvolodin #
06:18
TSergey: естественно
06:18
нужно их расставить по правильным местам
06:18
это не сложно
06:19
и можно постепенно
06:19
и второе назначение solution'ов -- хранить локальные правки
06:20
и локальную интеграцию
zi_home #
06:20
пытаюсь осознать, меня пока сильно смущает принцип вызова. моя логика проверяет наличие линка и наличие дескрипшена, первое создается другими дискавери да еще и зависит от других железок, второе - создает сам интерфейс дискавери. то есть
06:20
как я вижу в мою функцию будут попадать порты без единого линка, но с дескрипшенами, и помечаться они будут как клиентские, а тк как у них уже будет профиль то переклассифицироваться они не будут
TSergey #
06:20
есть ли "спрос" на такое решения? кто сейчас спрашивает что-то такое, что требует правки общих скриптов, но вызывает сомнение о помещении правки в коробку
zi_home #
06:20
TSergey, бывает такое
TSergey #
06:21
не сомневаюсь, но пример бы, я довольно давно читаю чат, с ходу такого не вижу
06:21
а придется значительно прорабатывать код
zi_home #
06:22
TSergey, посмотрел свой боевой нок, hg diff столько всего, но большинство потом таки уехало в апстрим
TSergey #
06:23
может такую штуку перед или после каждого вызова скриптов из профилей, но тоже спорно
zi_home #
06:26
dvolodin, вот если бы был триггер, вызов функции классификации при изменении интерфейса. впервые появился в базе - классифицировать, изменился дескрипшен - классифицировать, появился линк - классифицировать. нет смысла дергать эту штуку какж
06:26
дый раз
TSergey #
06:26
вот может в редактировании объекта, для дополнительных проверок или дефолтных установок, это я бы сходу использовать начал
dvolodin #
06:26
zi_home: почему не будут, будут
06:26
ты же не руками их лочишь
06:27
zi_home: она и так вызовется
zi_home #
06:28
dvolodin, ты же сказал что если профиль есть то не будет дергать. ты не уточнял как профиль был установлен
dvolodin #
06:28
посмотрел внимательнее
06:28
если ты руками установил профиль из inv.interfaces, то дергаться не будет
06:28
в противном случае -- будет каждый раз
06:28
так что все нормально, появится линк, уйдет оно у тебя в nni
freeseacher #
06:28
Коллеги а есть пример Ignore Event Rules
dvolodin #
06:29
^message$ ^DEBUG: .*$
zi_home #
06:29
неоптимально
06:30
но лучше чем есть у меня
dvolodin #
06:30
почему неоптимально?
06:30
раз в сутки-то?
zi_home #
06:31
у меня раз в месяц интерфейс дискавери ходит
06:31
ускорю до недели
06:32
неоптимально в смысле что неизменившиеся ни в чем интерфесы будут периодически прогоняться через классификацию
06:32
а 99% портов не будут меняться
06:32
каждый раз
dvolodin #
06:32
TSergey: сплошь и рядом такое
06:32
сети у всех разные и подход к управлению у всех разный
06:32
zi_home: ты можешь дергать информацию из биллинга, например
06:33
почем ты знаешь, поменялось там что-нибудь или нет?
zi_home #
06:33
я знаю, все порты конфигурятся руками или скриптами из нока
06:33
линки создает только нок или опять руками
dvolodin #
06:33
это ты знаешь
06:34
а кто-то не знает
zi_home #
06:35
dvolodin, если после прохода интерфейс дискавери, на порту тот же дескрипшен что и раньше, тот же статус что и раньше, и другие параметры те же что лежат в базе, значит ничего не изменилось
06:35
ну а сеть она такая
dvolodin #
06:35
http://pastie.org/8949683
06:35
вот второй пример, как сделать свою задачу
06:36
zi_home: ты забываешь внешние системы
zi_home #
06:36
вот убег
06:37
ничего, еще вернется
gborisov #
06:42
Господа, добавили много (около 2000) устройств в нок через csv, теперь при нажатии "Сохранить" на любом из managed object вылетает страница с трейсбэком, говорит "ManagedObject matching query does not exist." Подскажите, плиз, как с этим бороться. http://pastebin.com/kfviKv5J
zi_home #
06:47
gborisov, как-то криво залил
TSergey #
06:51
gborisov: а при заливке не ставил галку "игнорировать ошибки"?
freeseacher #
06:53
Коллеги, а macflap это авария ?
gborisov #
06:53
zi_home, перезалил http://pastebin.com/AqzFLuFG но выглядит так же, как и в ноке
TSergey #
06:54
gborisov: это developer или 0.8?
zi_home #
06:54
freeseacher, мак флап да, но не все события являются флапами, часто это просто mac move
TSergey #
06:54
как вот это льется, если это девелопер "u'repo_path': [u'Gate00-msk.centr'],"
gborisov #
06:54
TSergey, такой галки нет, делал Managed Objects -> Import -> Resolve: Update
TSergey #
06:55
gborisov: значит 0.8
zi_home #
06:55
gborisov, нет, я про то что МО криво импортил, в noc shell попробуй подергать, что возвращается. в постгресе еще можно посмотреть
TSergey #
06:56
gborisov: а можешь скрин одного МО сделать?
gborisov #
06:56
да, конечно, сек
lexus-omsk #
06:56
gborisov: объект SAE не грохнул случайно?
TSergey #
06:58
lexus-omsk: kwargs = {'name': 'SAE'} строка 29 пастебина
gborisov #
07:00
lexus-omsk, действительно, его нет (по крайней мере в поиске через веб-интерфейс не ищется)
lexus-omsk #
07:00
давно никто на эти грабли не наступал :)
07:01
должен быть объект SAE с профилем NOC.SAE и IP 127.0.0.1 (у меня по крайней мере так)
_4ePTeHok #
07:01
http://habrahabr.ru/post/216287/ уже все перекрестились?
gborisov #
07:02
lexus-omsk, лол а можно его создать и все заработает?)
lexus-omsk #
07:03
попробуй
ovg #
07:08
lexus-omsk ну так грабли знатные, нет что бы сделать этот объект read-only ;)
gborisov #
07:08
lexus-omsk, спасибо!
lexus-omsk #
07:08
заработало?
gborisov #
07:09
ага)
freeseacher #
07:16
lexus-omsk, скинь пример Ignore Event Rules ?
07:25
zi_home, ну или ты ?
zi_home #
07:26
freeseacher, не пользуюсь
07:26
тебе dvolodin дал пример
freeseacher #
07:26
жаль
07:27
он мне дал его ?
07:27
^message$ ^DEBUG: .*$
07:27
это ?
lexus-omsk #
07:27
freeseacher ну вот про тот же CPCAR left RE: ^message$ right RE: CPCAR_DROP_LPU.*
freeseacher #
07:28
ага
07:28
понял
sdmitri #
07:28
Ребята, подскажите пожалуйста! Как создать свой Event Class с нужными мне ПЕРЕМЕННЫМИ????
freeseacher #
07:28
надо активатор после этого передергивать ?
lexus-omsk #
07:34
не помню, давно было дело
zi_home #
07:39
freeseacher, лучше дерни, хуже не будет
freeseacher #
07:39
я знаю что активтор забирает раз в 10 минут конфигурацию
07:51
есть уверенность что в евентах попадают не все события
07:51
где их поискать ?
dvolodin #
07:51
неклассифицированные могут давиться при повторе
freeseacher #
07:54
а сохранение это Config | Config Changed ?
dvolodin #
07:54
угу
freeseacher #
07:54
черт алик умеет слать конфиг счанджед и конфиг сайвед
07:54
и это разные события
zi_home #
08:00
dvolodin, так вот. я не про то как происходят изменения, я про то как часто и тут все зависит от сети, если продаются сервисы физикам, то они могут часто включать отключаться переезжать и тд, юрики делают это реже, а есле это мобильная сеть то тут
08:00
вообще все статично. но даже в случае с физиками порты меняются крайне редко и в худшем случае я не думаю что за неделю и 10% всех портов наберется, 90% будут неизменными втечении недели и больше, а по твое логике ты будешь их прогонять
Huko #
08:04
dvolodin: спасибо за interface_discovery fix. все заработало, алилуя !
ufir #
08:06
а что за фикс
_4ePTeHok #
08:08
я чото очкую обновляться)
08:08
с этими солюшенами
Huko #
08:09
слетал get_interfaces http://pastebin.com/L4dsVyjt
ufir #
08:09
_4ePTeHok йоу
08:09
а что случилось ?
_4ePTeHok #
08:09
ну если ты пирули не юзаешь то забей
Huko #
08:09
но есть подозрение, что только мне так повезло :)
_4ePTeHok #
08:09
у меня просто есть профилевыставление по условиям
08:09
и как их перенести в новую систему я пока не очень понимаю
dvolodin #
08:11
да не, обновитесь все, кто вчера обновлялся
08:11
_4ePTeHok: ты можешь написать функцию, которая примет instance Interface
08:11
а на выходе даст имя профиля или None?
_4ePTeHok #
08:17
у меня там завязка на модель железки и номера портов
08:17
3 пируля для каждого типа
08:17
свой
buggy-funhouse #
08:22
dvolodin: а кто не обновлялся?)
08:22
Всем хорошего времени суток =)
08:24
_4ePTeHok: ага, у меня один сап улетел уже, месяц назад.
08:24
просто сказали, что и не должен был работать, у вас память дохлая.
08:24
но у меня контракт nbd, а что делать остальным, не знаю
dvolodin #
08:32
для классификации нам катастрофически не хватает дополнительного поля с ролью железки
08:33
если только что вместо нее object profile использовать
buggy-funhouse #
08:34
типа router-l3 switch-l2?
08:34
и зачем он нам?
dvolodin #
08:35
чтобы понять, для чего поставили свич
08:36
скажем, свич дц , свич доступа и свич агрегации -- разные вещи
freeseacher #
08:37
Алкатель такой алкатель. подключение пользователя имеет приоритет Warning в сислоге и указывается все вплодь до саб интерфейса. а падение радиуса заслуживает лишь MINOR без указания какой радиус упал...
dvolodin #
08:42
:)
freeseacher #
08:43
и поднялся ксати тоже не понятно какой....
08:43
может этот самый радиус сервер и ненужен вовсе :)
dvolodin #
08:44
:)
08:44
и тем более их там до 5 штук может быть
freeseacher #
08:53
dvolodin, Ignore Events Name пичаль беда
08:53
не более 64 символов
08:54
уникальное имя ошибки SVCMGR-WARNING-hostConnectivityLost-2206 [Host connectivity lost]
dvolodin #
08:59
ну да, оно компактно
08:59
сделай -hostConnectivityLost-
08:59
:)
TSergey #
09:10
8[15:36] dvolodin: для классификации нам катастрофически не хватает дополнительного поля с ролью железки
09:10
я пытаюсь применять тэги для этой цели
09:11
точнее сейчас применяю
09:12
edge/aggregation/L2/access/iptv
dvolodin #
09:14
TSergey: вот это как раз не очень хорошо
TSergey #
09:14
ну что есть, то и использую :)
09:15
иначе как делать селекторы совсем неясно
09:15
а интересно именно группу девайсов обрабатывать
ovg #
09:17
делаешь группу на селекторе, который выбирает по тэгу =)
TSergey #
09:18
именнно так
09:18
есть селекторы по каждому тэгу
09:18
и селекторы по нескольким селекторам :)
dvolodin #
09:18
вот и я говорю, немножко костыльно
ovg #
09:18
напрашивается на ум что селекторы в группах лишние
dvolodin #
09:18
роль не помешает
TSergey #
09:19
а если роль двойственная?
09:19
ну да я не о том, тэги бы в фильтрах починить :)
ovg #
09:20
во многих системах объекты можно свободно добавлять в группы, причем в несколько одновременно
09:20
а автоматизировать добавление можно уже селекторами
TSergey #
09:21
а как ты это будешь админить? я не против групп, тэги позволяют увидеть картинку наглядно, вот узел и "aggregation" и "L2" и "access" (подключен на нем один важный клиент, как пример)
09:22
а так, кастом филды работают, чем не группы?
ovg #
09:22
ну по сути то так и выходит, ты добавил объект в группы "aggregation" и "L2" и "access"
09:22
вручную
09:23
это ведь группировка, так или иначе
TSergey #
09:23
ну да
ovg #
09:23
типа feture list ;)
09:23
feature*
TSergey #
09:24
а ты будешь видеть что он в трех группах?
09:24
есть кастом филды, есть "Enum Groups", группы ждут тебя :)
09:24
я мне бы починили тэги, я был бы оченно доволен
ovg #
09:25
тэги походу круто
TSergey #
09:26
ага, если бы фильтры работали по нескольким тэгам
ovg #
09:26
мультироли нада тогда уж
09:27
TSergey кстати, а нотификейшен ты используешь?
TSergey #
09:28
а что это?
ovg #
09:29
ну там есть object notification
TSergey #
09:29
в МО?
ovg #
09:30
sa-setup
TSergey #
09:30
неа, пока это не исследовал
09:31
что-то вкусное, явно
Izya12 #
09:31
hi %alluser% не могли бы вы подсобить. как перевести вывод snmp запроса. SNMPv2-SMI::mib-2.17.7.1.4.2.1.4.23586680.77 = Hex-STRING: 00 00 00 80 00 00 00 00 в читабельный вид
09:31
это с DGS-3627G здесь зашифрованы порты на которые уходит vlan 77
TSergey #
09:31
наверное не работает :)
ovg #
09:33
Create Group Access
09:33
Group: <- это что такое? :)
lexus-omsk #
09:35
Izya12: ну все нули - это нет портов в влане, а вообще там битовая карта
zi_home #
09:36
Izya12, тут всего 1 порт
TSergey #
09:38
ovg: думаю для администрирования пользователей в НОКе
09:38
типа завел группу, настроил, а пользунов уже в нее
lexus-omsk #
09:39
для раздачи прав группам пользователей
TSergey #
09:41
неслабо там можно развернуться в Group Access:
zi_home #
09:44
dvolodin, ты не делал функции чтобы битмаски обрабатывать?
buggy-funhouse #
09:55
Izya12: у тебя lldp-discovery работает на dgs?
Izya12 #
10:03
buggy-funhouse: работает но не везде
buggy-funhouse #
10:05
http://pastebin.com/viYqr3E9 вызываю snmp_get для любого oid на cisco/dlink
dvolodin #
10:45
ну так укажи ему oid
freeseacher #
10:53
у алика "Network | IP | ARP Moved" не содержит from_mac и interface
10:53
как поступать ?
10:53
новый евент тип ?
10:53
или этот праивть
_4ePTeHok #
11:17
none отдать?
buggy-funhouse #
11:29
dvolodin: я указываю, КО. аписал же, для любого oid!
11:29
у вас get_snmp_get работает?
dvolodin #
12:09
как запускал?
buggy-funhouse #
12:10
как скрипт из MO
12:11
вписал oid, что достаточно, трейс. Вписал oid и community, трейс
dvolodin #
12:21
а
12:21
ну там мог и не работать, не проверял
zi_home #
12:44
freeseacher, тебе определенно надо пообщаться со вторым Дмитрием, только пропал он куда-то. У него просто принципы там свои были для этих вещей
Huko #
18:12
А есть какой-то способ посмотреть на железке а каком состоянии находятся порты , up/down/disable ?
zi_home #
18:15
нет пока
Huko #
18:16
казалось бы. ведь в ноке вся это инфа есть.
zi_home #
18:17
а этой нет
Huko #
18:18
почему нет ? в get_interfaces все это отдается, просто нету вывода этой информации насколько я понимаю
18:19
zi_home: подскажи по get_inventory - инфу о шасси и модулях отдавать надо в одном запрсе ?
zi_home #
18:20
в смысле в одном
Huko #
18:21
в смысле нет в не надо разделять - этот запросс инвентори по шасс, этот запрос про sfp модули
zi_home #
18:21
там с отдачей все плохо, в базу это не попадает, а в большистве скриптов статусы фиктивные, на будущее было сделано
18:23
надо отдавать по порядку шасси - моули, шасси - модули. connection rule будет по номеру, в соответствующее шасси втыкать модули именно в том порядке как вернешь
18:23
была попытка это обойти. _4ePTeHok пытался. неудачно
Huko #
18:23
просто хочу сейчас для своих железок написать get_inventory, надо понять концепцию
zi_home #
18:24
дерево
Huko #
18:24
т.е. нельзя снача отдать все шасси, а потом все модули в этих шасси ?
zi_home #
18:24
да
Huko #
18:24
аа, дерево
zi_home #
18:24
нельзя
Huko #
18:24
во как
18:25
это немного усложнит задачу разгребания и отдачу
zi_home #
18:25
со стеком это дерево мутант, но суть та же
18:25
корень это шасси
18:25
от него растут модули
18:25
БП, сфп, фан
18:25
иногда линейные карты
18:26
а сфп уже лк втыкаются
18:26
но это детали
Huko #
18:26
а мне же юнит из стека как корень шасси отдавать ?
18:26
или корень это виртуальная железка - весь стек
zi_home #
18:27
не
18:27
просто список шассей
Huko #
18:27
вот у меня 2 свича в стеке
zi_home #
18:27
после каждого шасси его модули
18:27
после каждого модули модули которые в нем
18:27
*модуля модули
Huko #
18:28
я сначала отдаю первый свич как шасси, потом его модули, закрываю дерево, открываю второй юнит как шасси и его модули. верно ?
zi_home #
18:28
нет
18:28
нечего закрывать
18:28
просто подряд
18:29
ты возвращаешь список
18:29
в спике подряд идут
18:30
шасси
18:30
модули в шасси
18:30
модули в модулях в шасси
18:30
модули в модулях в модулях шасси
18:30
...
18:30
модули в модулях в модулях ... в шасси
18:30
шасси
18:31
...
18:31
и тд
18:31
а connection rule по этому списку соберет железку
Huko #
18:33
чудо чудное
18:34
только если с шасси и gbic модулями более мение понятен вормат данных, то с фанами и БП немного не ясно
18:34
в какой очередности их выводить и в каком виде
zi_home #
18:35
пофиг
18:35
но
18:35
а может и совсем пофиг
18:35
там conn rule надо смотреть
18:36
главное чтобы фан и псу шли после шасси
18:36
тогда нок воткнет их в это шасси
18:36
gbic ничем не отличается от фана
18:37
я бы сказал что типом
18:37
но тип теперь в модели
18:37
так что вообще совсем ничем не отличается
Huko #
18:37
а что в итоге у меня должно получится :) ? просто сейчас у меня задачи мимнимум - собрать все сирийники свичей в стеке и базу по gbic
18:38
просто в эти conn rule я еще сильно не в никал
18:38
сейчас просто вывод для начала хочу сделать
zi_home #
18:38
если там все несъемное
18:38
только трансиверы
18:38
то conn rule уже есть
18:39
просто вернуть список шассей с модулями
18:39
и заколосится
Huko #
18:39
да, по сути это просто свичи, максимум что там съемное это БП, есть модели где их по 2 стоят
zi_home #
18:40
съемные псу там учтены
18:40
это не проблема
Huko #
18:41
кул
zi_home #
18:42
когда типы в базу уехали инвентори стало совсем просто собирать
Huko #
18:46
а где-то надо описывать тип свича, сколько у него psu поддерживается 1 или 2. И если в данный момент воткнут 1 мне просто в инентори отдать 1
zi_home #
18:46
это ты в object model распишешь
Huko #
18:57
zi_home: буду пробывать, спасибо !
19:00
кста, где нибудь можно задать интервал вызова get_interface_status для проверки статусов портов ?
19:01
у меня такое чувство, что он их дергает каждую минуту
zi_home #
19:03
нигде, смирись
Huko #
19:26
Если я в профайле изменил или добавил скрипт, что-бы его подхватил нок обязательно его весь рестартовать ?
zi_home #
19:31
да
19:31
или активатор только
Tweet
Share this page
Share this page: Tweet