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: 21.10.2014
TSergey #
03:12
dvolodin: привет
03:12
чего поправить, если тест так говорит:
03:12
noc@noc:/opt/noc$ ./noc test
03:12
Creating test database for alias 'default'...
03:12
Got an error creating the test database: template database "template_postgis" does not exist
03:12
Type 'yes' if you would like to try deleting the test database 'test_noc', or 'no' to cancel: yes
03:12
Destroying old test database 'default'...
03:12
Got an error recreating the test database: database "test_noc" does not exist
03:15
noc@noc:/opt/noc$ ./noc test yes
03:15
запускается
03:15
я качнул тушенку
dvolodin #
03:18
тебе только тушенку проверить?
TSergey #
03:19
текущие скрипты, по железкам, которых у меня нет --- "Unhandled exception"
03:19
у меня две цели --- узнать актуально ли это
dvolodin #
03:19
./noc test --reuse-db --beef-filter=????? noc.stop
03:19
beef-filter -- имя профиля, скрипта или uuid
TSergey #
03:19
и сделать тушенку для dgs3100 и погонять свои скрипты
03:20
dvolodin: да, спасибо, я прочел про синтаксис запуска
03:21
хочу обратить внимание:
03:21
noc@noc:/opt/noc$ ./noc test --- не запускается
03:21
noc@noc:/opt/noc$ ./noc test yes --- запускается
03:21
на значительной части тушенки актуальные скрипты в экспешн
03:23
плюс выпадание в трейс
03:24
File: /opt/noc/lib/test/beeftestcase.py (Line: 185)
03:25
начиная с Microtik
dvolodin #
03:25
TSergey: это перед релизом буду в чувство приводить
TSergey #
03:25
dvolodin: хорошо
03:25
расскажи, плс, как правильно тогда протестировать подготовленные мною скрипты для DGS3100
IRevent #
03:26
dvolodin: noc test только на девелопе работает?
TSergey #
03:26
1. готовлю тушенку по максимальному количеству прошивок
03:26
2. как-то ее заливаю в репозитарий?
03:26
3. тестирую скрипты?
03:27
так?
dvolodin #
03:27
TSergey: да
TSergey #
03:28
хорошо
dvolodin #
03:28
TSergey: тестируешь ./noc test --reuse-db --beef-filter=<название скрипта> noc.sto
TSergey #
03:31
спасибо
03:36
output и будет тушенкой? есть какие-то слоглашение о именах, включающих дату, прошивку, что-то еще?
03:36
"/opt/noc$ ./noc debug-script get_version router1 -o output.json"
03:36
*соглашения?
dvolodin #
03:39
нет, там UUID будет
03:39
по нему и поставится в репо
TSergey #
03:40
погоди
03:40
я делаю output.json, как он попадет в репо?
03:41
из http://kb.nocproject.org/display/DOC/Canned+Beef
03:41
не разберусь
dvolodin #
03:42
./noc beef --import ....
03:43
там два репо минимум
03:43
sa_public и sa_private
TSergey #
03:43
и как помещается json в репо?
03:45
по DGS3100 в публичной нет ни get_interfaces ни get_portchannel
dvolodin #
03:46
./noc beef --import, --push
TSergey #
03:50
noc@noc:/opt/noc$ ./noc beef --import --repo https://bitbucket.org/nocproject/noc-sa-beef-public
03:50
Error: Repo not found
TSergey_ #
03:55
снова здравствуйте
03:56
dvolodin: надеюсь я ничего не пропустил
03:57
1. готовим тушенку
03:57
"/opt/noc$ ./noc debug-script get_version router1 -o output.json (--private)"
03:58
2. делаем импорт или пушим?
04:06
"./noc beef --list-repo"
04:06
"E P T Name Repo"
04:06
"+ N sa sa_public https://bitbucket.org/nocproject/noc-sa-beef-public"
04:06
"./noc beef --import --repo sa_public"
04:06
как json попадает в репо?
04:26
а наверное я знаю как
04:31
думал, что выполняя debug-script json копируется в /loalc/repos/sa/sa_public/
04:31
но это не так
04:31
вопрос в силе, как json поместить в репо?
freeseacher #
04:36
отдать его Dmitry1
TSergey_ #
04:37
как-то нетехнологично получается
04:38
а это?
04:38
# 8[10:49] dvolodin: ./noc beef --import, --push
04:38
freeseacher: плюс Дима сказал, что нет соглашений по имени json
04:39
"Each beef accepts unique GUID number, which can be used as unique identifier."
04:44
GUID есть в сгенерированном json
shizik #
04:48
<zi_home> с этим repom также
TSergey_ #
04:49
freeseacher: а что так кисло с тушенкой? вроде проект нуждается в свежей и разнообразной, для совместимости
04:50
Dmitry1 не берет мой патч по dgs3100 без тестирования на тушенке (что разумно)
04:51
а тушенки для dgs3100 в публичном репо на get_interface и get_portchannel просто нет
04:51
и заслать свеженького самому нельзя?
05:15
exus-omsk # 07:47
05:15
так как теперь с тушёнкой быть? я прогоняю с fixed-beef-base и потом высылаю на beef@ ?
05:15
Dmitry1 # 07:49
05:15
Да. Но это в том случае, если тушенка верная
05:15
что это значит?
05:44
dvolodin: расскажи, плс, про ./noc beef --import, --push
ufir #
05:51
импортная туш0нка ;)
_4ePTeHok #
05:58
непатриотичненько
05:58
ответные санкции, все дела, надо переименовать
zi_rus #
05:58
назвать 'rcgjhn
05:58
экспорт
dvolodin #
05:59
экспорт тоже есть
06:00
TSergey_: можно и свои репы делать
06:00
у меня их с десяток
TSergey_ #
06:22
zi_rus: можешь рассказать про тушенку?
IRevent #
06:22
lexus-omsk: ты на зухелях линки делал? и на чем?
TSergey_ #
06:23
собрал я интересующие json
06:23
чего дальше-то? как их в репо добавить?
06:25
хотя бы в локальное
buggy-funhouse #
06:27
Всем приветы
zi_rus #
06:27
нет
06:28
не пользуюсь
buggy-funhouse #
06:28
Скажите, а если у меня есть куча неизвестного оборудования, которое мне лень заводить, можно просто от них json куда-то скинуть?
lexus-omsk #
06:29
IRevent у меня ES-2024, 2108, GS-4012, в прошивке 3.9 есть lldp, а так - вручную... ещё пытался OAM пилить, но не довёл до ума ещё
TSergey_ #
06:30
есть почта beef@nocproject.org
IRevent #
06:31
lexus-omsk: lldp нормально работает глюков не дает?
lexus-omsk #
06:36
у меня таких пока мало, но вроде нормально
buggy-funhouse #
06:36
TSergey_: спасибо!
TSergey_ #
06:37
buggy-funhouse: скажи, как ты будешь делать json, не заводя оборудование?
buggy-funhouse #
06:38
разве в unknown models нет возможности взять?
_4ePTeHok #
06:38
нет
06:39
кроме как сделать руками(или попросить кого то это сделать)
TSergey_ #
06:39
ты про инвентори, я все про тушенку
_4ePTeHok #
06:39
дебаг скрипт работает и на не заведенном в нок оборудовании
06:39
достаточно полный url указать
06:40
я так писал скрипты для железок, которых у меня нет
06:40
но есть вывод с них
TSergey_ #
06:41
"дебаг скрипт работает и на не заведенном в нок оборудовании" ну да, но тушенка-то должна быть? и ее как-то нужно получить?
_4ePTeHok #
06:42
блин
TSergey_ #
06:43
что-то совсем левое говорю?
_4ePTeHok #
06:43
http://kb.nocproject.org/display/DOC/Canned+Beef
TSergey_ #
06:43
и?
06:44
тушенка --- это json, сформированный набором команд нока
_4ePTeHok #
06:44
в чем вопрос то?
TSergey_ #
06:44
а, понял
06:44
пожно напустить скрипты прям на железку
06:44
*можно
_4ePTeHok #
06:44
да
06:44
и снять таким образом нужную тушенку
06:45
только руками тогда проименовать версии и платформы
TSergey_ #
06:45
и чего будет, если скрипт спросит команду, которой нет на железке?
_4ePTeHok #
06:45
от скрипта зависит
06:45
если нет обработчика ошибки - ругнется и тушенки не будет
06:45
если обработчик есть - то в соответствии с его логикой
06:46
./noc debug-script -c public Cisco.IOS.get_version ssh://foo:bar%00superpassword@192.168.0.1 -o output.json вот как пример полного урла
TSergey_ #
06:46
ну так-то да
06:46
да читал я
06:47
скажи, вот get_interface не корректно разбирает, что на порту есть STP, есть толк от такой тушенки?
06:47
ошибки нет
_4ePTeHok #
06:48
вывод на пасту покажи
06:48
от дебага
TSergey_ #
06:48
но и уверенности, что есть корректная инфа с коммутаторао --- тоже нет
_4ePTeHok #
06:48
полный
06:48
а не резулт
TSergey_ #
06:48
не, я "теоретически"
_4ePTeHok #
06:48
в тушенке хаписываются все команды
06:48
вывод с коммутатора
TSergey_ #
06:48
ага
_4ePTeHok #
06:49
и итоговый результат отдаваемый в нок
06:49
оно для того и сделано, чтобы можно было не имея железки дебажить
TSergey_ #
06:50
если команда на железке не отдает данных, чего можно отдебажить? а тушенка будет нормальной, без ошибки
buggy-funhouse #
06:51
_4ePTeHok: то есть в целом мне достаточно этот json получить?
06:51
Cisco.IOS.get_version нужно вызывать или это был пример?
TSergey_ #
06:51
dvolodin: как поместить json в локальный репо?
06:53
хочу сделать 24 файла, и потом кучей протестироваь их как тушенку и скрипты на них
buggy-funhouse #
06:53
и ещё вопрос, я хотел, чтобы в модели были переменные типа номер в стеке, чтобы порты сразу писались так, как есть: Gi 1/0/1, к примеру.
TSergey_ #
07:22
а где твой вопрос-то?
07:22
"я хотел?"
buggy-funhouse #
07:23
Вопрос: так можно?
TSergey_ #
07:23
например я не против
buggy-funhouse #
07:23
глупо ждать ответа на второй, если не дали на первый =)
07:24
просто, у меня есть стек, 3 свитча, а модели портов для всех зовутся едино
TSergey_ #
07:25
а что за железка?
buggy-funhouse #
07:25
с3750x
TSergey_ #
07:25
это циска?
buggy-funhouse #
07:25
fuf
07:25
Ага
07:26
модели нет
TSergey_ #
07:28
buggy-funhouse: http://kb.nocproject.org/display/DEV/stack
buggy-funhouse #
07:28
то есть я её нарисовал, но она пока только у меня
07:28
Да, поля is stackable в модели я проставил
07:28
как только это сделали
07:28
но переменную номер стека в модели юзать нельзя
07:29
вообще никакие нельзя, это считай, как картинка пока
TSergey_ #
07:29
а не в инвентори, порты как отображаются?
buggy-funhouse #
07:30
а где, например?
TSergey_ #
07:30
в SA\MO\Edit\Interface
buggy-funhouse #
07:31
Так, как это есть на коммутаторе
07:31
"Gi 5/0/1", "Fa 0"
07:33
то есть get_interfaces работает нормально
TSergey_ #
07:33
а в Inventory\Inventory\Inventory? номера портов просто повторяются?
buggy-funhouse #
07:34
а там просто модель отображается, одна и та же для каждого свитча из стека. Что напишешь там, то и покажется
TSergey_ #
07:35
т.е. инвентори не понимает, что это теперь один коммутатор?
07:37
интересно как это должно быть в логике нока
buggy-funhouse #
07:38
Наверное, я плохо объяснил.
TSergey_ #
07:38
а вот это смотрел? http://kb.nocproject.org/display/DEV/management
07:40
buggy-funhouse: хорошо объяснил
07:40
в инвентори это три объекта, не один
buggy-funhouse #
07:40
Есть железо, это 1 свитч. Под него написана модель, где 24 порта названы как "Gi 0/1" -- "Gi 0/24".
e_zombie #
07:40
,,
TSergey_ #
07:43
buggy-funhouse: ага, и не учтен номер стэка в интерфейсе, я понял
buggy-funhouse #
07:46
ага
dvolodin #
07:46
не путайте порты на свиче и порты в софте
buggy-funhouse #
07:48
зачем тогда модели нужны?
TSergey_ #
07:48
в инвентори не должно быть "Gi 5/0/1"?
buggy-funhouse #
07:48
показать, что там 24 порта?
TSergey_ #
07:48
не в моделе, а в инвенторе, стэк же должен быть собран?
evyscr #
07:49
модели нужны ещё и чтобы втыкаться друг в друга
TSergey_ #
07:50
ну и , в объектах в Inventory\Inventory стэк должен отобразиться как три желекзти или как одна?
07:50
*три железки?
evyscr #
07:53
три
07:54
впрочем, you "должен" may vary...
07:54
*your
07:54
отображается как три
buggy-funhouse #
07:55
я не против того, чтобы оно было как 3 железки
evyscr #
07:55
если бы они ещё воткнулись друг в друга стековыми интерфейсами...
_4ePTeHok #
07:55
они и так 3 железки физически
buggy-funhouse #
07:55
я хочу, чтобы в inventory были разные порты
TSergey_ #
07:55
я думал, что один
_4ePTeHok #
07:55
ты смотришь порты - у тебя объекты разные
07:55
инвентори это чистая физика
07:56
на каждой 24 порта
07:56
номер в стеке там в имени объекта фигурирует
buggy-funhouse #
07:57
Да, тогда зачем она нужна? Допустим, корзина расширения воткнута в 3-й модуль, где это будет?
_4ePTeHok #
07:58
если в третьем свитче что то воткнуто - оно и будет в инвентори в нем
07:58
"при верно работающих скриптах гкт_инвентори"
buggy-funhouse #
07:58
Тогда смысл лепить модель? Сделать динамический шаблон
07:58
24 порта? Показать 24 порта
evyscr #
07:59
эм
07:59
типы портов
buggy-funhouse #
07:59
48 и 1 mgmt? ПОказать 1-48
07:59
Ну с типами, ок
07:59
Gi, Te, Fa
_4ePTeHok #
07:59
характеристики, размеры железок тоже выдумывать с потолка?)
evyscr #
07:59
PoE впиши
08:00
_4ePTeHok: кстати, PoE таки нужен
buggy-funhouse #
08:00
Сейчас при заведении модели я руками прописывал эти все gi 0/1, gi 0/2
08:00
Это я лох, можно проще?
evyscr #
08:01
я копировал подходящий шаблон и правил... *red_ears*
buggy-funhouse #
08:01
ну типа того
_4ePTeHok #
08:01
модель делается один раз
evyscr #
08:01
хе-хе
_4ePTeHok #
08:01
для конкретной модели железки
08:02
а железок у вас может быть и 100 и 1000
08:02
хоть как то цените труд тех, кто уже создал модели присутствующие в ноке)
zi_rus #
08:04
_4ePTeHok, я тебе 3 трансивера для инвентори кину. закоммитишь?
_4ePTeHok #
08:06
они в девелопе будут, а ты же на графите фроде
zi_rus #
08:07
да похер, локально они у меня есть, я поделиться хочу
buggy-funhouse #
08:07
Ох. То есть везде будет писаться "Gi 1/0/24", к примеру? На всех 6-ти свитчах одного стека?
evyscr #
08:08
_4ePTeHok: я несколько месяцев назад кидал (в жиру) модельки, они утонули?
buggy-funhouse #
08:08
ну и про размеры железки, это вообще ад
evyscr #
08:08
buggy-funhouse: там вообще пишется Gi24, вроде
buggy-funhouse #
08:08
Ещё лучше xD
zi_rus #
08:08
_4ePTeHok, http://pastebin.com/kzD2Q5NL
08:09
http://pastebin.com/7Wse3Pvh
08:09
http://pastebin.com/UhMehFyS
08:10
_4ePTeHok, ок?
buggy-funhouse #
08:11
zi_rus: разве это не sfp6?
08:11
*sfp+
08:11
которая 10ка
zi_rus #
08:11
сфп+ выпиливаем
buggy-funhouse #
08:11
ваще?
zi_rus #
08:11
все идет как сфп
08:11
дырка же одна
buggy-funhouse #
08:11
месяц назад наоборот было)
08:11
Ок
dvolodin #
08:12
buggy-funhouse: нет
zi_rus #
08:12
хуя
08:12
уже год как решили
dvolodin #
08:12
SFP+ можно по протоколу опознать
08:12
то есть если порт не поддерживает SFP+, там просто не будет гигабитных протоколов
08:12
то же самое и с сотками
buggy-funhouse #
08:12
о_О
TSergey_ #
08:12
волшебники, ну научите, как в локальный репо тушенку накидать
buggy-funhouse #
08:13
dvolodin: гигабитные будут, почему же
dvolodin #
08:13
TSergey_: поштучно -- Dmitry один
08:13
buggy-funhouse: я про другое
buggy-funhouse #
08:13
все 10-ки это же sfp+
dvolodin #
08:14
указывая протоколы можно показать, поддерживает ли железка 100M, 1G или 10G в данной дырке
TSergey_ #
08:14
dvolodin: правильно понимаю, что ./noc test работает от репо, поместить в который я сам не могу?
buggy-funhouse #
08:21
Почему в Inventory/Setup/OM нет сортировки по полю Built in?
08:28
о, там есть кнопочки
08:28
вопрос снят
08:29
которые дают Failed to Fetch data, ok
xetle #
08:30
Не могу победить логин одного устройства. В виндовом телнете подключается и я wireshark перехватил его сесию.
08:31
Обычным telnet-bsd с линукса так и не смог до него достучатся...
buggy-funhouse #
08:32
а что за свитч?
xetle #
08:33
в перехваченой виндовой сесии user_name0x0d0a то есть user_name\r\n
08:34
в __init__ прописал username_submit = "\r\n" ....
08:35
в дебаг-скрипте после вывода submit(u'user_name', bulk_lines=None, streaming=False) - тишена... и тикание..
08:37
Что ему не нравицо? u'user_name' вместо cp1251 или \r\n не переводятся в 0d0a?
08:38
Может streaming=True установить? Где и как?
dvolodin #
08:39
xetle: посмотри, может быть дело в telnet negotiations
08:39
может железку плющит от IAC
08:39
или она сама чего-то ждет
08:39
zi_rus: починил графики
08:39
теперь часть функций работает
08:40
для вычисления
zi_rus #
08:40
хорошо... наверное
TSergey #
08:40
dvolodin: если выложить json в /local/repos/sa/sa_public/
08:40
./noc test увидит эту тушенку?
dvolodin #
08:41
теперь нужно подумать, нужен ли нам рендеринг графиков непосредственно на сервере
08:41
или просто отдавать данные
08:41
TSergey: сделай там свой репо
buggy-funhouse #
08:41
dvolodin: при нажатии на кнопку False в поле Is built-In в OM, у меня вылезает Failed to Fetch.
dvolodin #
08:41
TSergey: и пропиши его в beef.conf
buggy-funhouse #
08:41
Что прислать, url запроса?
08:43
*inv/objectmodel/?_dc=1413880965170&is_builtin=false&__format=ext&__page=1&__start=0&__limit=43
08:44
вот после этого
dvolodin #
08:45
а что в трейсе?
zi_rus #
08:47
dvolodin, нужен иногда
08:47
график в письмо нотификации встроить
08:47
или еще как
08:47
мы с freeseacher за серверный рендеринг
08:47
остальный хз
buggy-funhouse #
08:48
dvolodin: Если смотреть в FM/Events, то там пусто
freeseacher #
08:48
ниправда.
08:48
я за наличие серверного рендеринга
TSergey #
08:48
"dvolodin: TSergey: и пропиши его в beef.conf"
08:48
сделал opt/noc/local/repos/sa/sa_tomica, в конф прописал
08:48
"noc@noc:/opt/noc$ ./noc beef --list-repo"
08:48
"E P T Name Repo"
08:48
"+ N sa sa_public https://bitbucket.org/nocproject/noc-sa-beef-public"
08:48
"+ N sa sa_tomica /local/repos/sa/sa_tomica"
zi_rus #
08:48
freeseacher, и что неправда? я так и сказал
TSergey #
08:52
dvolodin: в http://kb.nocproject.org/display/DOC/Canned+Beef видимо опечатка, в
08:52
Test single repo (i.e. sa_public)
08:52
"/opt/noc$ ./noc --beef=local/repos/sa/sa_public/ noc.stop"
08:52
пропущен test
dvolodin #
09:00
допустим, серверный рендеринг и нужен
09:01
но нужно тогда свой править
buggy-funhouse #
09:03
dvolodin: как трейс получить?
dvolodin #
09:03
в браузере в js-консоли посмотри
buggy-funhouse #
09:04
""/opt/noc <class 'mongoengine.queryset.InvalidQueryError'> Cannot resolve field "is_builtin""
09:05
ну и могу всю пасту скопировать
09:06
dvolodin: http://pastebin.com/kH9ARFj8
mikevlz|2 #
09:22
dvolodin: эта...
09:22
а ты что-нить помнишь про RESTful API, который делал?
09:24
меня интересует создание объекта в ноке. В частности, если я завожу ManagedObject - как передать туда такие вещи как object_profile и т.п.
09:26
туда все, что ForeignKey - только по id параметром отдавать чтоле?
09:27
сам себе отвечу: да, отдавать надо id.
_4ePTeHok #
09:36
а как же иначе
mikevlz|2 #
09:37
название
_4ePTeHok #
09:37
либо прослойку писать, конвертер
09:37
(лукапер)
09:37
либо айди
TSergey #
09:38
noc.lib.test.beeftestcase.BeefTestCase.runTest: DLink.DGS3100.get_portchannel [60a30d5f-1230-42ce-9a55-85f782b9e80e]
09:38
AssertionError: None != []
09:39
чего ругается? и должно возвращать [] если нет портчэнала
dvolodin #
09:39
mikevlz|2: да, по id
09:39
можешь еще попробовать что-то вроде object_profile__name = "name"
mikevlz|2 #
09:40
не __label ?
TSergey #
09:48
dvolodin: подскажи, пожалуйста
09:48
test говорит на тушенку AssertionError: None != []
09:49
ну нет портчэнала, так и возвращается []
09:49
(сделал тушенку get_version, get_interfaces, get_portchanel для моих 14 DGS-3100)
09:50
сделеал локальное репо
09:50
./noc beef --list --repo= его показывает
09:51
test для get_version, get_interfaces дает
09:51
Ran 14 tests in 0.004s
09:51
OK
zi_rus #
09:58
dvolodin, почему такие различия в моем ноке и в файле который в репо лежит?
09:58
http://pastebin.com/8b8B1hUm
TSergey #
09:58
dvolodin: работает тестирование, красота
buggy-funhouse #
09:59
а в чём бонусы?
TSergey #
09:59
но если скрипт возвращает [], то test говорит на тушенку AssertionError: None != []
10:00
хм, а может это в классе igetportchanel так
10:03
нет, все кошерно, igetportchanel, при отсутствии должен возвращать []
dvolodin #
10:12
zi_rus: а ты метрики сейчас в монгу кладешь?
zi_rus #
10:12
dvolodin, да...вно уже
10:12
как запилил ты так и кладу
TSergey #
10:12
комрады, нужен совет
10:12
в длинках "современных серий", как пошутил представитель длинка, портчэнал не отображается как отдельный интерфейс, но мы знаем что он T1, T2 и т.д.
10:12
в его параметрах есть мастер порт, настраивая который, настраивается портчэнал
dvolodin #
10:13
много набежало?
TSergey #
10:14
для того, чтобы показать настройки портчэнала нужно знать какой является мастером
10:14
я добавил его в igetportchenal
10:14
правильно ли это?
10:14
или нужно было только поменять в get_portchannel для длинков?
dvolodin #
10:14
что именно добавил?
TSergey #
10:14
поле "master"
dvolodin #
10:14
нет, интерфейсы не надо править самостоятельно
TSergey #
10:15
ок, тогда несколько криво будет get_portchannel, что только в нем master
dvolodin #
10:16
почему криво?
10:16
в portchannel может быть и один порт
TSergey #
10:16
есть описанный класс, а я скриптом возвращаю больше, чем в нем описано
10:17
там сейчас три поля: interface, members, type
10:18
ок, уберу master
10:18
dvolodin: расскажи где код ./noc test
10:18
хочу поправить None != []
10:19
и вроде схема локального тестирования готова
zi_rus #
10:19
dvolodin, mongodb │ 17958M
10:21
yj 'nj c av
10:21
но это с фм
10:21
это вся монга
TSergey #
10:21
ты ее жмешь? :)
zi_rus #
10:21
нет
dvolodin #
10:22
TSergey: используй --fixed-beef-base
10:22
он исправит кривую тушенку
TSergey #
10:23
а возврат скриптом [] это кривизна?
buggy-funhouse #
10:23
dvolodin: так что не так с тем полем в inventory? Его реально нет везде или только у меня?
TSergey #
10:24
dvolodin: не исправляет
10:25
а может неправильно вызвал
10:27
AssertionError: None != [] START OF TRACEBACK ...
10:27
вот такая петрушка
zi_rus #
10:28
dvolodin, я все равно не понимаю почему у меня файл отличается от репо
10:28
BRANCH=feature/graphite
dvolodin #
10:29
hg branch скажи
zi_rus #
10:29
dvolodin,
10:29
root@noc:/opt/noc # hg branch
10:29
feature/graphite
dvolodin #
10:29
buggy-funhouse: с каким? stackable?
10:30
оно рабочее вполне
10:30
с ним стеки и кластеры работают
10:30
что тебе не нравится?
buggy-funhouse #
10:30
dvolodin: нет, я про эксепшен в inventory
10:30
когда на кнопку жмёшь
dvolodin #
10:30
его нет
buggy-funhouse #
10:30
Тогда зачем там кнопка такая?)
10:30
Сортировка желательна, конечно
TSergey #
10:31
dvolodin: действительно, поправил тушенку, с 613 байт до 611
dvolodin #
10:31
ну да
TSergey #
10:39
теперь такую fixed тушенку и можно засылать Диме или на beef@nocproject.org?
dvolodin #
10:39
да
10:40
zi_rus: а посмотри размеры дневной коллекции
10:40
db.noc.ts.p2014 .....
zi_rus #
10:40
dvolodin, а как?
dvolodin #
10:40
.stats()
10:40
и .count() -- посчитать количество записей
zi_rus #
10:40
> db.noc.ts.p2014.p10.p18.stats()
10:40
{
10:40
10:41
"size" : 118025744,
dvolodin #
10:49
storageSize меня волнует
10:50
сколько там
10:50
и сколько всего записей
zi_rus #
10:51
"storageSize" : 174735360,
TSergey #
10:51
freeseacher: нужно поправить http://kb.nocproject.org/display/DOC/Canned+Beef
zi_rus #
10:51
dvolodin, а количество записей это какое поле
10:52
"count" : 2458866,
TSergey #
10:52
freeseacher: в коде, который ниже "Test single repo (i.e. sa_public)" пропущен "test"
freeseacher #
10:55
готово
dvolodin #
10:55
zi_rus: ну да, примерно 71 байт на запись
10:55
как и на тестах
buggy-funhouse #
10:56
обязательно в модельке писать размеры свитча и т.д.?)
dvolodin #
10:56
не обязательно
10:56
но лучше сделать
10:56
если у нее будет, скажем, вес -- то можно будет вес стойки расчитать
zi_rus #
10:56
dvolodin, если я руками заменю файлы на те что лежат в репо, hg скажет же что у меня незакоммиченые изменения
10:57
как тогда получить их?
buggy-funhouse #
10:57
dvolodin: пока это не так важно, я стоек в ноке не юзал и даже не бумал пока.
dvolodin #
10:58
ты - нет
10:58
но потом придется вылавливать, где и чего пропустили
10:58
zi_rus: hg revert <файлы>
zi_rus #
10:59
dvolodin,
10:59
root@noc:/opt/noc # hg revert /opt/noc/pm/apps/render/data.py
10:59
no changes needed to pm/apps/render/data.py
10:59
-rw-r--r-- 1 noc noc 2912 Oct 15 23:07 data.py
buggy-funhouse #
11:02
dvolodin: ок. Как порты называть всё-таки в модельке, "Gi 1", "Gi 0/1", "Gi 1/0/1" ?
dvolodin #
11:03
Gi 1
11:03
там явно нужен еще какой-то метод для сопоставления порта на объекте с интерфейсом в базе
buggy-funhouse #
11:04
даже если по факту в жини оно gi1/0/1?
11:04
я не могу понять этого, простите.
dvolodin #
11:05
если он у тебя в стеке второй -- то будет Gi 2/0/1
11:05
что тебя волнует?
11:05
а теперь возьми железку вроде Juniper SSG320M
11:06
путем заливки JUNOS она становится Juniper J2350
11:06
и интерфейсы начинают называться по-другому
11:06
считай это уникальным идентификатором дырки в корпусе
11:07
что там у 3750x на морде написано?
_4ePTeHok #
11:07
я бы сказал - надпись под портом)
dvolodin #
11:07
да
_4ePTeHok #
11:07
на линейных картах тоже не написано в какую дырку их воткнут
11:07
а порты имеют наименование 3\3\3
11:08
в общем в инвентори имя порта - это сущность линейной карты\модуля\свитча, а не стека
e_zombie #
11:08
кто нить имеет у себя на сети eltex 3124F или
11:09
этого производителя.
buggy-funhouse #
11:09
dvolodin: Именно, что там нет никаких Gi, потому что это может быть как Gi, так и Fa, в отличии от Te
11:10
Ладно, будем писать Gi 1.
dvolodin #
11:10
ну пиши просто 1
bee26 #
11:11
кто нибудь до практики это довел http://kb.nocproject.org/display/DEV/Discovery+Managed+Objects
buggy-funhouse #
11:11
dvolodin: я не белка-истеричка, просто хочется логики и единообразия. В разных моделях по-разному.
dvolodin #
11:13
buggy-funhouse: тут только что собирать применительный опыт
11:13
и потом махом все причесать
buggy-funhouse #
11:13
Хорошо
zi_rus #
11:14
ага как sfp+
dvolodin #
11:14
там где получалось формализовать - формализовали бы
zi_rus #
11:14
год прошел, никто выпиливать не собирается
dvolodin #
11:14
zi_rus: да
11:14
если было бы, где стырить идею - стырили :)
zi_rus #
11:15
dvolodin, меня все еще беспокоит ситуация различия репо и нока
_4ePTeHok #
11:21
bee26, нет к сожалению. все ушло в графики.
11:21
хотя задача не менее актуальная и нужная
zi_rus #
11:42
dvolodin, причем я сделал hg clone http://bitbucket.org/nocproject/noc noc -b feature/graphite там тоже другой файл прилетел
11:49
dvolodin, обновился все норм стало
MindGames #
12:16
всем привет.
12:17
я в ноке пытаюсь отобразить список закрытых алармов (версия 0.7). и он у меня почему-то подвисает намертво.. в htop кажет, что процессор грузит mongodb.
12:17
и висит так доолго, пока ngix не отлупит по тайм-ауту
12:17
с этим что-то можно сделать?
12:17
я так понял, слишком много данных в бд?
zi_rus #
12:19
да
12:19
слишком долго обрабатывается запрос
MindGames #
12:19
ни как нельзя бороться?
12:19
таймер подкрутить снова на ngix?
12:19
я просто его уже увеличивал в свое время
zi_rus #
12:19
еще увеличь
MindGames #
12:19
блин..
12:20
напомни, где? в /etc/ngix/ngix.conf?
zi_rus #
12:20
я не знаю
12:20
ты же увеличивал
12:20
это скорее в ноке
12:20
hg diff сделай
MindGames #
12:22
да нет. вроде, в ngix подкручивал... х.з. не помню уже :(
12:37
zi_rus, не помнишь команды самой монги? мне бы посмотреть в базе просто закрытые аварии по одному из объектов.
12:37
а потом и вовсе грохнуть можно их
zi_rus #
12:38
ха, нашел кого спросить
12:38
я знаю как в ноке посмотреть
12:38
from noc.sa.models import *
MindGames #
12:38
оно залипает почему-то даже если взять объект, где закрытых аварий много быть не может. странно. я причем, указываю время показать аварии за вчера - сегодня.. и все-равно виснет
12:38
zi_rus, напиши подробней
zi_rus #
12:38
from noc.fm.models import *
MindGames #
12:38
в консоли надо?
zi_rus #
12:39
mo = ManagedObject.objects.get(name="ASD")
12:39
a = ArchivedAlarm.objects.filter(managed_object=mo)
12:39
ну или как-то так
12:39
мог очепятаться
evyscr #
12:57
в монге в большинстве случаев надо знать две команды: 'show collections' и 'db.noc.<collection>.find()'
_4ePTeHok #
13:07
drop()
13:07
без нее никак :)
Tweet
Share this page
Share this page: Tweet