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: 29.12.2015
e_zombie #
06:48
,,
ss___ #
06:51
...
06:51
вот и поговорили)
Krakozaber #
06:52
и вам доброго утричка
e_zombie #
06:53
бля. вот мы вчера покутили.
06:53
кто то мне в 10 часов вечера звонил и спрашивал почему не смог добраться до адрессных планов. а я не помню что звонок вообще был.
06:53
но в телефоне звонок есть
06:54
что то странное
SomovIS_ #
06:58
напился?
e_zombie #
06:59
ну так. посидели хорошо
SomovIS_ #
06:59
:)
bee26 #
07:02
володин есть? сортировка в алярмах по длительности нарушилась
Krakozaber #
07:02
Invalid value for 'remote_capabilities': IntParameter: '`\\x00' - подскажите что с этим сделать ?
e_zombie #
07:03
кхм
Krakozaber #
07:04
представляю что нужно преобразовать hex в int но как не понимаю
dvolodin #
07:19
ord(s[0])
Krakozaber #
07:22
спасибо
e_zombie #
07:33
https://vk.com/wall-39243732_647195
dvolodin #
07:47
Krakozaber: это какая железка такое выдала?
Krakozaber #
07:47
des-1210-52 C1
dvolodin #
07:48
китайцы по традиции фигачал в cli output бинарные данные?
07:48
и не собираются исправлять?
Krakozaber #
07:49
не, это SNMP
dvolodin #
07:52
а
07:53
в микросервисах оно корректно отдаст int
Krakozaber #
08:24
да да
08:24
именно
08:24
:-)
Psycho_ #
08:26
Знакомое чувство...
Krakozaber #
08:27
dvolodin: если покажешь пример где преобразовывается правильно буду благодарен
dvolodin #
08:29
Krakozaber: в develop руками преобразуй
SomovIS_ #
09:48
Что-то тихо совсем.. Все работает..
Krakozaber #
10:05
local_interface = v[0].split('.')[1] в чем косяк ?
bee26 #
10:06
нам вчерашнего хватило
Krakozaber #
10:08
ужас как жить я ненавижу D-Link ещё больше, весь код профиля в костылях под разные модели
e_zombie #
10:17
гыгыгыгыгы
10:17
гыгыг хахахаха
dvolodin #
10:19
ненависть нужно возмещать на закупках
10:19
например, послать их нафиг :)
evyscr #
10:21
ну, to my mind обкостыленность профиля - проблема не только длинка, но и одного товарища.
10:22
страшно подумать, во что оно превратится при активном добавлении snmp
Dmitry1 #
10:25
Krakozaber: просто профиль охватывает продукты с 15-ти летней историей
Krakozaber #
10:26
под киски SG300 кто-то LLDP модулем поделится ?
10:28
печалько :-(
z_pedalkin #
10:37
pinf
10:37
ping
e_zombie #
10:39
pong
10:39
давайте его забанем. мне он не нравится.
z_pedalkin #
10:41
кого?
e_zombie #
10:41
лдогадайся с трёх раз
z_pedalkin #
10:42
e_zombie?
evyscr #
10:46
e_zombie нельзя банить. он лицо^Wсиськи нашего канала
e_zombie #
10:46
хохохо
10:47
и котиков
10:47
https://pp.vk.me/c633727/v633727151/710b/RGmbF8DUSyw.jpg
10:47
https://pp.vk.me/c628821/v628821151/25cce/HsgSdI5Rmpc.jpg
10:47
https://pp.vk.me/c628821/v628821151/25cd8/bqtTyX-ntBU.jpg
evyscr #
10:48
Krakozaber: lldp в циске ужасен
e_zombie #
10:48
дооооо
10:48
ужасно там всё
zi_rus #
10:48
evyscr: его там еще найти надо
evyscr #
10:49
а кто не пьёт? нет, ты назови, я жду
zi_rus #
10:49
я знаю что он есть, но никогда в работе не видел
Dmitry1 #
10:49
это потому, что никто не дает доступа на железки, тестировать не на чем
evyscr #
10:49
бгг
e_zombie #
10:49
у меня 6524 недавно линковались с джуниперами через ллдп
evyscr #
10:49
Dmitry1: это потому, что я запатчил
Krakozaber #
10:49
у меня DLink, Catalist, SG300, HP живут по LLDP
Dmitry1 #
10:50
evyscr: что запатчил ?
Krakozaber #
10:50
только EdgeCore плюётся
evyscr #
10:50
lldp_discovery, вестимо
e_zombie #
10:50
ёжики дохнуть начинают в кольцах если там ллдп опрашивать
evyscr #
10:51
о чо так?
e_zombie #
10:51
и кютечи.
evyscr #
10:51
ежели с консоли запросишь - подохнет?
Dmitry1 #
10:51
evyscr: в смысле ? твой патч в апстриме, или у тебя локально ?
e_zombie #
10:51
там как приходит запрос он начинает опрашивать соседей по ллдп и начинается свистопляска с маршрутами.
10:52
поэтоу отключено от греха подальше.
evyscr #
10:52
Dmitry1: давно уж в апстриме
10:52
впрочем, у меня уже новые наслоения
z_pedalkin #
10:52
пипл, есть такая ботва 2015-12-29 10:47:11,736 [noc.lib.scheduler.job] [inv.discovery][vlan_discovery][TTDORDEQ1DCAG01] UNHANDLED EXCEPTION (2015-12-29 10:47:11.716916) BRANCH: develop TIP: a942bf434bc7 PROCESS: ./scripts/noc-discovery.py WORKING DIRECTORY: /opt/noc EXCEPTION: <class 'django.db.utils.IntegrityError'> duplicate key value violates unique constraint "vc_vc_vc_domain_id_21725b7fb0adaf81_uniq"
e_zombie #
10:53
регай саппорт в настройких. крешь отправляй.
evyscr #
10:53
иди в постгрес
z_pedalkin #
10:53
как понимаю, это говорит о том, что влан с именем "vrfttnetalphaeBGP-BT" уже существует где-то?
10:53
в постгрес его нет
10:53
noc=# select * from vc_vc where l1='1995'; id | vc_domain_id | l1 | l2 | description | name | style_id | state_id | tags | project_id ----+--------------+----+----+-------------+------+----------+----------+------+------------ (0 rows) noc=#
10:54
то есть вот
10:54
noc=# select * from vc_vc where name='vrfttnetalphaeBGP-BT'; id | vc_domain_id | l1 | l2 | description | name | style_id | state_id | tags | project_id ----+--------------+----+----+-------------+------+----------+----------+------+------------ (0 rows) noc=#
10:54
нет влана с таким name в БД
evyscr #
10:54
а зачем l1?
10:54
vc_vc_vc_domain_id
z_pedalkin #
10:54
с l1 неправильный запрос
10:55
там просто несколько подобных сообщений
Krakozaber #
10:55
"local_interface": "Gi 0/20" - "remote_port": "Gi0/20" - так не слинкуется ?
evyscr #
10:55
блин, а где в ноке схема pgsql?-)
z_pedalkin #
10:56
по поводу "регай саппорт в настройках". Это же опенсорс проект, без саппорта. Не?
evyscr #
10:56
Krakozaber: должно
10:56
ежели полимеры не просраны
e_zombie #
10:56
z_pedalkin: /main/desktop/#support.account
zi_rus #
10:56
z_pedalkin: да, но анальный зонд уже стоит
e_zombie #
10:56
:-D
evyscr #
10:57
а что вы хотите от бздояблов?
e_zombie #
10:57
и опенсорс никак не отменяет платного саппорта
evyscr #
10:57
его другое отменяет
dvolodin #
10:57
и можно подумать, что это плохо
evyscr #
10:57
"расслабьтесь и постарайтесь получить удовольствие"
zi_rus #
10:58
dvolodin: как тебе сказать, фактически идея опенсорса умирает
Krakozaber #
10:58
что должно совпасть для установки линка по LLDP ?
z_pedalkin #
10:58
чтобы за что либо платить деньги, необходимо, чтобы базовая версия работала
e_zombie #
10:58
хахахахахахаха
z_pedalkin #
10:58
lite и тп
zi_rus #
10:58
z_pedalkin: вот заплатишь и будешь требовать чтоб работала
z_pedalkin #
10:58
таки я не требовал, чтобы работала
dvolodin #
10:58
zi_rus: идея опенсорса заключается в том, что у тебя есть исходники
10:59
и ты можешь их править
e_zombie #
10:59
и ваще понимать на чём оно сковырнулось.
z_pedalkin #
10:59
на виндоус тоже исходники есть. Что-то еще никто не поправил :)
e_zombie #
10:59
а то некоторые персонажи компиляют софт в 21 первом веке без дебаг инфы
11:00
блин. я сразу предлагал этого неблагонадёжного забанить.
dvolodin #
11:00
если не можешь сам - попроси того, кто может
z_pedalkin #
11:01
так я прошу :)
zi_rus #
11:02
dvolodin: смотри такую вещь, раньше все писали свои программы, а потом их начали продавать, потому что все накручивалось и усложнялось, теперь опенсорс, вроде бесплатно и круто, но некоторые вещи уже самому не настроить и не исправить, и ты и
11:02
а потом намеренно начинают усложнять
11:02
чтобы ты никуда уже не делся
evyscr #
11:03
нуу...
zi_rus #
11:03
evyscr: systemd
evyscr #
11:03
изучал?
zi_rus #
11:03
вроде бы правильную вещь делают, но хуй ты там что исправишь
evyscr #
11:04
срачи в lkml читал?
zi_rus #
11:04
срачей везде полно
11:04
я просто пример привожу
evyscr #
11:04
у них есть некоторые проблемы в головах
zi_rus #
11:04
я за системд если он реально полезен
11:04
а это так
evyscr #
11:04
унд?
zi_rus #
11:04
но без саппорта баг ты не исправишь
evyscr #
11:05
это в шапке
zi_rus #
11:05
в инит-скрипте поправить можно и на самой машинке
11:05
и все заработает
evyscr #
11:05
orly?
zi_rus #
11:05
а в системд у тебя на руках только юнит
11:06
я не буду исправлять ни того ни другого, я просто скажу что линукс говно
11:06
и опять ничего не работает
evyscr #
11:06
юникс говно же
zi_rus #
11:06
и он тоже
Dmitry1 #
11:06
Krakozaber: "local_interface": "Gi 0/20" - "remote_port": "Gi0/20" - так не слинкуется ?
11:06
блин
11:06
интерфейсы должны быть приведены к одному виду
zi_rus #
11:07
системный подход каменного века, а староебы все еще пытаются пихать его во все щели
Dmitry1 #
11:07
в профиле железки должна быть функция вида "convert_interface"
11:09
Krakozaber: смотри в прфиле cisco.ios функцию convert_interface_name
evyscr #
11:09
Dmitry1: боюсь, у него как раз cisco.ios -)
Dmitry1 #
11:10
evyscr: На одной из сторон точно, а на другой - знают только участники битвы экстрасенсов
e_zombie #
11:11
кто сказала Зелёный слоник ?:
evyscr #
11:11
не надо фоток
Krakozaber #
11:13
с одной стороны 2960x с другой des-1210-52 C1
11:15
с обычным 2960 линк склеился а с 2960x не хочет
11:16
попадает в список потом сразу исчезает
Dmitry1 #
11:18
Krakozaber: дай угадаю
11:18
"local_interface": "Gi 0/20 - это 2960x
Krakozaber #
11:18
да
Dmitry1 #
11:18
"remote_port": "Gi0/20" - это des-1210-52 C1
Krakozaber #
11:18
именно
evyscr #
11:18
профиль у длинка какой?
Krakozaber #
11:19
DxS_Smart, написал sa по SNMP забирающий LLDP
11:19
там нет cli, но есть lldp и snmp
evyscr #
11:20
там и convert_interface_name нет
z_pedalkin #
11:20
как еще сделать, чтобы определенную задачу из "Service Activation->Managed Objects -> Object -> Discovery" запускать сразу для нескольких объектов Service Activation?
evyscr #
11:21
зачем?
z_pedalkin #
11:21
импортировал CSV, а некоторые объекты незадискаверились
11:21
больше половины
evyscr #
11:21
что значит "незадискаверились"?
z_pedalkin #
11:22
свойства объектов такие как platform, vendor
evyscr #
11:22
джоб есть? статус есть?
z_pedalkin #
11:22
незадискверились, а конфиги, интерфейсы и тп сделались
evyscr #
11:22
блджад
z_pedalkin #
11:22
где его вытащить?
11:23
если job id вытаскивается из логов, тогда нет
11:23
я удаляю логи каждый день, тк безмерно растут
evyscr #
11:23
окай. отвечаю: у тебя что-то не работает.
z_pedalkin #
11:24
что не работает?
evyscr #
11:24
на слово "незадискаверились" будет именно такой ответ
z_pedalkin #
11:24
изначально я по одиночке девайсы разных вендоров и моделей добавлял - работало
evyscr #
11:24
человек, не способный однозначно описать проблему, не заинтересован в её решении
z_pedalkin #
11:25
тут как бы настолько все запутанно, что непонятно с какого краю подступиться :)
e_zombie #
11:30
z_pedalkin: открой для себя heartbeat = true
11:30
logsize = 1G
11:30
logfiles = 9
11:30
syslog_host =
11:31
/noc debug-script get_version asw2-72-eng
11:32
и это для тебя https://kb.nocproject.org/pages/viewpage.action?pageId=19169410
11:32
https://kb.nocproject.org/pages/viewpage.action?pageId=19169430
z_pedalkin #
11:32
это отдается
11:32
но не отображается в списке объектов
11:32
2015-12-29 11:28:25,197 SCRIPT RESULT: Arista.EOS.get_version(TTDORDEQ1LSWTA02, 10.111.255.150) {'platform': 'DCS-7150S-52-CL-R', 'vendor': 'Arista', 'version': '4.14.5F'}
11:33
когда запускаешь скрипт через ./noc debug-script xxx yyy
11:34
он должен положить данные в базу данных?
e_zombie #
11:34
после него и не должно ничего добавляться.
11:34
инфа 100%
z_pedalkin #
11:34
или это типа dry run
11:34
а как сделать так чтобы обновлялось?
e_zombie #
11:34
только после того как пройдёт дискавери. лезь в карточку МО и там тыкайся в дискавери
z_pedalkin #
11:34
у меня таких объектов сотни
11:35
в каждый тыкать - заипешься
11:35
я вот и спрашиваю, можно ли запустить какой-нибудь скрипт вручную, чтобы не ждать discovery?
e_zombie #
11:35
успокойся. сядь прямо. погляди логи sae для любого хоста который не отдискаверился.
11:36
http://i.imgur.com/kFV2E8l.png
11:36
у тебя чё?
Krakozaber #
11:37
не понимаю а как тогда d-link с обычным 2960 линкуются...
z_pedalkin #
11:38
http://imgur.com/oCREyra
Dmitry1 #
11:39
Krakozaber: смотри, если длинк выдает "Gi0/20" в lldp, то он это должен выдавать и при show ports, и при show lldp как локальный порт
z_pedalkin #
11:39
version_discovery, который есть get_version, даже не запускался
Dmitry1 #
11:39
иначе - нужно в convert_interface_name привести это все к одному виду
e_zombie #
11:40
z_pedalkin: так а что у тебя ping c X ? у тебя то хост ваще живой ? если задача пинг не отработала то все задачи для данного хоста останавливаются.
11:41
у тебя в профиле Is Managed? вообще с галкой ?
z_pedalkin #
11:41
этот хост находится за firewall, который блочит icmp
e_zombie #
11:41
massive facepalm
z_pedalkin #
11:41
да он managed
Dmitry1 #
11:41
Krakozaber: а заодно lldp использует функцию get_interface_names, которая возвращает массив из возможных написаний интерфейса
z_pedalkin #
11:42
поэтому ping отключен
Krakozaber #
11:42
Dmitry1: http://pastebin.com/Mui0Cpkb
11:42
вот вывод
11:42
кого к кому приводить ?
Dmitry1 #
11:43
например: в профиле DLink.DxS для интерфейса "1/1" оно вернет массив ["1/2", "2"]
11:44
Krakozaber: не так
Krakozaber #
11:44
local_interface совпадает с именем порта на самом девайсе
Dmitry1 #
11:45
скрипт lldp определяет, что удаленная железка - Cisco.IOS, и скармливает ему "Gi0/20"
e_zombie #
11:45
z_pedalkin: а у тебя в алярмах для него нету события пинг таймаут ?
z_pedalkin #
11:45
нет
Dmitry1 #
11:45
evyscr: я правильно сказал ?
z_pedalkin #
11:46
нету
e_zombie #
11:47
main/desktop/#main.reportdbsummary погляди сколько у тебя sa_maptask
z_pedalkin #
11:47
e_zombie: является ли включенный ping в профиле объекта условием для запуска version_inventory?
e_zombie #
11:48
хз. я знаю что если пинг фейлед то всё стопится
z_pedalkin #
11:48
если пинг включен и фейлит, тогда стопится
11:48
а если НЕ включен, то не стопится
11:48
есть десятки других объектов с таким же профилем, где все работает
e_zombie #
11:49
/main/desktop/#sa.monitor
z_pedalkin #
11:49
других объектов того же класса, вендора и модели. Единственные различия в hostname и management_ip
e_zombie #
11:50
кстати как ты собираешься проверять доступность оборудования без пингов ?
z_pedalkin #
11:50
у меня нет такой задачи - проверять доступность
11:50
если оно недоступно, то скрипты будут таймаутить
11:51
для меня это достаточно
11:51
достаточно ли этого для noc?
e_zombie #
11:53
у тебя будут повисать невыполненные задачи и кровь кишки распидорасит
z_pedalkin #
11:53
например, вот http://imgur.com/ue3JTtj объект который был задискаверен, и вот - http://imgur.com/Ryl6TPx - который не был
11:54
реальное различие в ip адресах
e_zombie #
11:54
а ты случаем дискавери не через sql делал ?
11:54
включал
z_pedalkin #
11:54
нет
11:55
я добавил эти два объекта через сsv-import
11:55
как можно его сделать через sql?
11:55
или sql это опечатка и имелось в виду csv?
e_zombie #
11:55
можно через sql но потом может быть жопа.
11:56
./noc shell и там http://pastebin.com/R5TZsC0b и погляди что в логах сае будет твориться .
z_pedalkin #
11:58
e_zombie: а что нужно ждать в логах?
e_zombie #
11:59
запуска неотработанных дискавери.
z_pedalkin #
11:59
в каком-то определенном надо смотреть? или через tail -f * ?
11:59
при таком количестве объектов там все pretty much нечитаемо
e_zombie #
11:59
noc-sae
z_pedalkin #
12:00
2015-12-29 11:54:05,861 [noc-sae] All activators are busy in pool 'default'
12:00
сейчас еще раз попробую
e_zombie #
12:01
вот тебе и причина. у тебя активаторы заняты хернёй какойто .
12:01
увеличивай их количество.
filonov #
12:01
z_pedalkin: сколько у тебя активаторов и скриптов на них?
z_pedalkin #
12:01
все по умолчанию
12:01
я так понимаю, что это 1 активатор с 10 одновременными скриптами
e_zombie #
12:01
ну и тупить то зачем ?
12:02
поставь 100
12:02
а лучше 10000
z_pedalkin #
12:04
поставил, перегрузил noc через /etc/init.d/noc-launcher
e_zombie #
12:05
наслаждайся
12:05
теперь пырься в логи сае
z_pedalkin #
12:05
демон noc-sae не запускается с параметрами конфига размер лога 1G и количество логов 9
12:05
:)
e_zombie #
12:05
настрой какие тебе нравятся
z_pedalkin #
12:08
таки он не запускается ни с какими отличными от "0"
12:08
или от дефолтов
12:08
пробовал и 100M
12:08
и 100m
12:08
и тп - только 0
e_zombie #
12:08
у тебя ваще какая ветка стоит ?
z_pedalkin #
12:08
develop
12:09
сделал ./script/upgrade
e_zombie #
12:09
а ты точно не на русском языке там М набираешь ?
z_pedalkin #
12:09
в noc-sae.log наблюдаю пока get_config, get_cdp_neighbors, get_vlans и тп
12:09
с различнми статусами, но не вижу get_inventory или get_version
evyscr #
12:12
logsize изначально в байтах. буковки делались после.
12:13
а жить без log_jobs вообще хреново
z_pedalkin #
12:13
http://pastebin.com/dgWERvXK - вот выжимка из noc-sae
12:13
которую сделал после рестарта и http://pastebin.com/R5TZsC0b
evyscr #
12:14
ensure_jobs или как-то так
12:15
а не, DiscoveryJob.apply_object_jobs(m)
12:16
но для этого надо получить внятный ответ о наличии джоба дискавери.
Krakozaber #
12:17
Dmitry1: где-то можно посмотреть лог лвязывания девайсов ?
z_pedalkin #
12:17
evyscr, точно не на русском. это я в чате, возможно, по-русски написал. Но там - только латинские
evyscr #
12:18
язабан (q)
12:18
ещё и не смотреть, кто что спрашивает. ох и молодёжь пошла.
Krakozaber #
12:19
ваще ппц, куда мир катиться...
z_pedalkin #
12:21
evyscr, это в каком файле смотреть и какое ключевое слово при грепе?
evyscr #
12:22
у грепа есть ключ -r
12:22
а все ключевые слова уже сказаны
z_pedalkin #
12:24
если это слова: ensure_jobs, DiscoveryJob.apply_object_jobs или их части, то по ним ничего внятного не ищется
12:25
или по крайней мере внятного для моих глаз
12:25
есть типа "[noc.inv.models.discoveryjob] Installing discovery jobs watchers"
Dmitry1 #
12:25
Krakozaber: в noc-discovery.conf есть ключик "log_jobs ="
z_pedalkin #
12:25
но толку от них?
Dmitry1 #
12:26
Krakozaber: делаешь "log_jobs = /var/tmp" - и наблюдаешь там логи с каждого устройства
evyscr #
12:27
z_pedalkin: http://bfy.tw/3ULv
z_pedalkin #
12:32
как говориться "ну и?"
12:32
"08:50 TSergey: после создания МО из питона, надо запустить DiscoveryJob.apply_object_jobs(o)"
12:32
я не создавал объект из Питона
12:32
я создавал объект из CSV
12:34
из под ./noc shell получаю http://pastebin.com/8h10q9jv
evyscr #
12:37
ясен хреф
12:37
импорт модуля делать надо или где?
z_pedalkin #
12:38
какого модуля?
evyscr #
12:38
внезапно, питоновского.
z_pedalkin #
12:38
имя у него есть?
evyscr #
12:38
even нокопитоновского
12:40
имя у него, вероятно, есть. но я так и не получил внятного описания состояния дискавери.
12:42
без оного пытаться фиксить глупо
z_pedalkin #
12:42
http://imgur.com/oCREyra - это достаточно?
12:43
я даже не понимаю, что искать, честно говоря
12:43
скрипты, запущенные по отдельности и вручную, например, ./noc debug-script xxx object_name работает
12:44
или скрипт, запущенный путем кликания на кнопку Run в http://imgur.com/oCREyra тоже работает
12:45
например если кликнуть на "version_inventory" и потом на Run, то результат выдастся, но в атрибутах в "карточке МО" не появятся"
12:46
хотя
evyscr #
12:46
вот теперь можно сказать, что джоба нет
z_pedalkin #
12:46
после манипуляций со скриптами выданными ранее в чате, все объекты задискаверились
evyscr #
12:48
так вот. при пустой строке можно утверждать, что джоб не создан. причины этого могут быть самыми разными. импорт объекта из csv вполне подходит под причину.
12:49
item, объекты не дискаверятся.
12:50
дискавериться могут, например, version inventory
z_pedalkin #
12:51
типа понял.
evyscr #
12:51
если для объекта не создался джоб (один или несколько) дискавери, джобы можно [пере]создать.
z_pedalkin #
12:51
другой вопрос: этот скрипт http://pastebin.com/R5TZsC0b вызывает ручную discovery всех объектов?
12:51
то есть пересоздавание джобов?
evyscr #
12:51
нет
12:52
это, конечно, баг, но легче от того не становится
z_pedalkin #
12:52
тогда я не понял, что могло вызвать discovery для объектов, которые не были задискаверены?
12:52
discovery job
evyscr #
12:54
mo.save() _должен_ создавать отсутствующие джобы. но... см. логи канала.
12:55
именно поэтому используется DiscoveryJob.apply_object_jobs
12:57
можно вообще упороться: https://kb.nocproject.org/display/~evyscr/Get+absent+discovery+jobs
z_pedalkin #
12:58
absent на missing надо заменить :)
evyscr #
13:03
что, в школе не спрашивали "who's absent today?"
z_pedalkin #
13:04
не
13:04
т
13:04
школа - это не обязательно правильно
evyscr #
13:04
u2
z_pedalkin #
13:05
Кстати, http://imgur.com/d2WCjYY - MacDB, вообще, работает?
zi_rus #
13:07
отсутствующий missing, absent, vacant, faraway, vague, wanting
evyscr #
13:07
у меня работал
z_pedalkin #
13:08
то есть там должны появляться МАК-адреса из get_mac_address_table ?
zi_rus #
13:08
там галочек в 10 местах надо проставить
z_pedalkin #
13:08
в каких местах?
zi_rus #
13:09
оо
13:09
да ты не знаешь
13:09
значит не делал
13:09
салага
e_zombie #
13:09
:-D
z_pedalkin #
13:09
?
13:10
если б знал, то не спрашивал :)
zi_rus #
13:11
в общем тебе надо включить мак дискавери
z_pedalkin #
13:11
он включен
zi_rus #
13:11
в Noc.conf
13:11
в mo profile
13:11
в interface profile
z_pedalkin #
13:11
в mo profile
13:11
ипать
anp135 #
13:11
добрый вечер.
evyscr #
13:12
wp
e_zombie #
13:12
вот давай анп забаним
z_pedalkin #
13:12
да, mac_discovery включен в noc.conf
anp135 #
13:12
? зачем
z_pedalkin #
13:12
тоже
evyscr #
13:12
e_zombie: что за приступ бдсм?
e_zombie #
13:13
садизму да.
Krakozaber #
13:13
свой написанный SA куда-то добавлять надо ?
evyscr #
13:13
errr
13:13
Krakozaber'у больше не наливать
z_pedalkin #
13:13
в interface discovery profile "default" есть чекбокс MAC-Discovery
evyscr #
13:14
Krakozaber: ты что именно написал-то?
13:14
профиль?
z_pedalkin #
13:14
и в дескрипшене "Fallback interface profile. Do not remove or rename"
Krakozaber #
13:14
get_lldp_neighbors.py
13:14
он появился в командах
z_pedalkin #
13:14
так я думал, что лучше вообще не трогать этот профайл, а то крякнется еще что-нибудь
Krakozaber #
13:15
но выполнить get_neighbors не может
13:15
да профиль
zi_rus #
13:15
да ничего не будет
13:16
просто этот профиль на всех интерфейсах по дефолту
13:16
снесешь, говна не оберешься
e_zombie #
13:16
Krakozaber: https://kb.nocproject.org/pages/viewpage.action?pageId=19169620
zi_rus #
13:16
а настройки хоть до усери меняй
Krakozaber #
13:17
про пул реквест понятно
evyscr #
13:17
Krakozaber: name правильный?
Krakozaber #
13:17
да, он работает когда локально вызывается
13:17
а когда вызывается job-ом на девайсе что-то не так
evyscr #
13:18
покажи файл
Krakozaber #
13:19
http://pastebin.com/iYcDxPYS
evyscr #
13:21
"локально" - это как? через debug-script или веб-морду?
z_pedalkin #
13:22
zi_rus, ага. чекбокс поставил в дефолтном интерфейс профайле - заработало. Спасибо!
zi_rus #
13:22
боль и страдания тебя ждут
13:22
заработало оно это не то что ты хочешь
evyscr #
13:22
бгг
zi_rus #
13:23
скоро узнаешь
evyscr #
13:23
кстати, у меня сразу заработало так, как я хотел
13:24
в дефолтном, конечно, всё выключено
zi_rus #
13:25
ну ты мой пируль заюзал
13:25
наверное
evyscr #
13:26
нет
13:26
мог в него поглядеть, но делал сам
zi_rus #
13:34
костылииии :)
anp135 #
13:36
Подскажите пожалуйста.
13:36
Создал в service activation > management objects несколько коробок (qtech 2800|8200, juniper mx80-p). На всех коробках включен lldp.
13:36
во вкладке links по каждому объекту есть связи, но ни одна не commited. Вручную approve проходит и на соседе также становится lldp+manual. Куда рыть, чтобы связи по lldp устанавливались автоматически?
e_zombie #
13:36
это багафича. нужныкостыли.
13:37
плюс я тебе скажу что на 2800 если они в кольце и влючен дискавер поллдп то начинает штырить маршрутизацию
anp135 #
13:37
колец в L2 нет, почти все поборол.
e_zombie #
13:37
ну гляди.
anp135 #
13:37
А lldp_discovery в mx80-p fail - тоже баг?
13:37
пардон, фича..
e_zombie #
13:37
возможно
13:38
закидывай багрепорт на багзиллу
evyscr #
13:39
anp135: смотри логи lldp_discovery по _обеим_ сторонам
e_zombie #
13:39
/noc debug-script get_version asw2-72-eng
Krakozaber #
13:39
да я себе моск сломал, get_lldp_neighbors срабатывает но обоих сторонах
13:40
но порты для связки даже не появляются
13:40
точнее появляются и исчезают
evyscr #
13:40
ну таки имена разные
13:40
надо же, чтобы с двух сторон совпало
Krakozaber #
13:40
одинаковые
evyscr #
13:41
(с точностью до символа)
Krakozaber #
13:41
на 2960 линки выставляются, а на 2960x нет
anp135 #
13:41
имена в mo и neighbor у меня совпадают
evyscr #
13:41
эээ
13:41
имена интерфейсов
anp135 #
13:43
визуально сопадают. собственно как они могут не совпадать, если это расписывает сам lldp?!
Dmitry1 #
13:44
Krakozaber: ты log_jobs включил ?
S_Artem #
13:45
Привет. Подскажите, можно ли в VC bind filter прописывать несколько префиксов?
Krakozaber #
13:45
да, но там просто пишет мак устроства -> none
13:45
хотя на том устройстве LLDP так же опереляет соседа
13:46
Dmitry1: где-то надо добавлять каким скриптом проводить проверочный discover ?
Dmitry1 #
13:46
Dmitry: Krakozaber: в noc-discovery.conf есть ключик "log_jobs ="
evyscr #
13:46
хех
Krakozaber #
13:47
включил, но там нет никаких ошибок
Dmitry1 #
13:47
Dmitry: Krakozaber: делаешь "log_jobs = /var/tmp" - и наблюдаешь там логи с каждого устройства
evyscr #
13:47
anp135: про log_jobs - тебе тоже
anp135 #
13:47
evyscr: включил, log_level поставил в debug
13:47
пока видел только [inv.discovery] Job lldp_discovery(MX24) is failed
13:48
перезапустил noc
evyscr #
13:48
если мак -> none - значит, либо мака нет в id_discovery/interfaces, либо имеется более одного
Dmitry1 #
13:48
anp135: я починю джунипер
13:48
кинь мне debug-script
evyscr #
13:49
Dmitry1: в жире последний issue посмотри
anp135 #
13:49
ээ debug-script?
evyscr #
13:49
Dmitry1: который 1717
e_zombie #
13:49
/noc debug-script get_version asw2-72-eng
evyscr #
13:49
e_zombot
Dmitry1 #
13:50
ага, вижу
e_zombie #
13:50
/noc debug-script get_lldp_neighbors
Krakozaber #
13:50
http://pastebin.com/kAUR90iK
e_zombie #
13:50
сам такой
evyscr #
13:50
Dmitry1: там накосячили с caps
Dmitry1 #
13:50
я уже увидел
Krakozaber #
13:52
http://pastebin.com/nWSds7Rx - дебаг
13:53
при том 2 линка с d-link-ами он установил
evyscr #
13:54
и что?
13:54
интерфейсы-то называются по-разному
13:54
делай convert_interface_name
Krakozaber #
13:54
http://pastebin.com/Vqn6dneQ - это вторая сторона
anp135 #
13:55
script-debug lldp_neighbors http://pastebin.com/FrQtL16g
evyscr #
13:55
эээ
e_zombie #
13:55
в конце имя МО поставь
13:55
для хоста
evyscr #
13:55
или его id
anp135 #
13:55
пардон -(
evyscr #
13:56
Krakozaber: повторяю, делай convert_interface_name
13:56
шобы пробел вставил
Krakozaber #
13:56
кого в куда
evyscr #
13:57
DxS_Smart
13:57
__init__.py
Krakozaber #
13:57
remote_port ?
evyscr #
13:57
нет
13:57
функцию создай
anp135 #
13:57
простите если что, первый день ковыряюсь, документаций и примеров маловато -). Переделал - http://pastebin.com/qEkRPKe2
Krakozaber #
13:58
ну функцию понятно, пробел вставлять в remote_port ?
anp135 #
14:01
не подскажете, как можно группе mo поменять SA profile? в management objects -> group edit сие поле недоступно.
e_zombie #
14:04
галочки выделяешь через шрифт и там есть сверху групповое изменение.
14:04
но лучше используй автоопределение типа оборудования по снмп.
anp135 #
14:04
это поле нельзя менять в групповом изменении -(
e_zombie #
14:04
читай тоды https://kb.nocproject.org/pages/viewpage.action?pageId=19169430
14:05
у менялюди меняли циску на джуниперы - утром всё отработало норм.
14:05
а на доступе такое вообще сплошь и рядом.
14:06
руками гиммороиться с этим смысла никакого
anp135 #
14:06
это то самое автоопределение?
e_zombie #
14:06
агась
anp135 #
14:06
спс
e_zombie #
14:06
там и автодобавление рядом лежит
14:07
пили шаблоны под своё железо и наслаждайся.
Krakozaber #
14:10
добавил пробел но всё равно не склеиваются линки
evyscr #
14:10
Krakozaber: тебе надо только написать функцию. её _уже_ пытаются вызвать.
Krakozaber #
14:11
так написал
14:11
вызывает
14:11
порт теперь с пробелом
evyscr #
14:14
лог джоба покажи
14:14
то есть джобов, с двух сторон
Dmitry1 #
14:14
починил NOC-1717
14:15
anp135: проверь
anp135 #
14:15
а как применить теперь? в upgrade поменять default на develop?
evyscr #
14:16
ох
14:16
да, только девелоп, дефолт мёртв
anp135 #
14:16
ну парддонте, не знал -)
14:16
чую щас сломаю всё себе…
e_zombie #
14:17
оно того стоит.
14:18
Dmitry1: твою мать. какого ты это в микросервисы закатал а не в девелоп ?
Dmitry1 #
14:18
а у меня теперь нету develop :(
e_zombie #
14:18
ну заебись. а всем что полгода делать ?
Dmitry1 #
14:19
блин, щас попробую в develop загнать
e_zombie #
14:19
было бы хорошо.
evyscr #
14:19
где коммит
14:19
?
e_zombie #
14:19
микросервисах ёбта
anp135 #
14:20
после upgrade /noc fix надо?
e_zombie #
14:20
https://bitbucket.org/nocproject/noc/commits/bef1698150a65b05535e1aebf4c6d35b20e6e675 вот ттоже запихали в микросервисы.
14:20
anp135: жди пока это в девелопах будет
evyscr #
14:21
e_zombie: ты упрлс
14:21
Dmitry1: уверен, что это правильный путь?
Dmitry1 #
14:21
закоммитил в develop
14:21
evyscr: я уверен, что неправильный путь
evyscr #
14:21
а
Dmitry1 #
14:22
более того, я уверен, что это мегакостыль
evyscr #
14:22
пиши TODO али FIXME
Dmitry1 #
14:22
для того же длинка я тупо рядом ставил freebsd с демоном lldpd, в котором по очереди менял все возможные варианты capabolities
evyscr #
14:22
у кого есть доступ до стандарта LLDP - скиньте мне -)
anp135 #
14:22
джентельмены, (стдыно блин, но надо) теперь снова upgrade или /noc fix?
Dmitry1 #
14:22
а на длинке смотрел, как оно отображает
14:23
как вариант - кирпич в сторону anp135
evyscr #
14:23
не, у него другие проблемы
anp135 #
14:24
? -0
evyscr #
14:24
это к SomovIS_
Dmitry1 #
14:24
если ему очень нужно lldp на juniper, пусть поставит рядом машинку с linux и софтовым демоном lldpd
evyscr #
14:24
фигня это всё
Dmitry1 #
14:24
и в исходниках этого демона меняет разные комбинации capabilities
evyscr #
14:25
Dmitry1: http://pastebin.com/qEkRPKe2
e_zombie #
14:25
anp135: теперь можно
Dmitry1 #
14:26
ага, вылез другой глюк
anp135 #
14:27
ага, добавилась ещё одна строка с fail -)
SomovIS_ #
14:28
фига вы текста нагенирили
evyscr #
14:29
port component
anp135 #
14:29
теперь на 80ке interface_status_discovery fail и lldp тоже
Dmitry1 #
14:32
можешт в нормальном виде вывести show lldp neighbors interface xe-0/0/1 ?
14:32
не могу продраться через эти "\n"
anp135 #
14:32
парсек
evyscr #
14:33
э
Dmitry1 #
14:33
там в самом скрипте есть
evyscr #
14:33
xe-0/0/2 же
anp135 #
14:33
http://pastebin.com/LNcPkrpb
Dmitry1 #
14:33
rx_detail, rx_detail1, rx_detail2. х.з., какой из них срабатывает
anp135 #
14:34
0/0/2 http://pastebin.com/APLqwwHi
evyscr #
14:34
Port type : Port component
14:36
педерастические {}[]
anp135 #
14:37
{} нету, а [] есть пameconv.
Dmitry1 #
14:37
evyscr: и что запорт такой "Port component" ?
anp135 #
14:38
бывают также $$ и другая херня в изобилии
Dmitry1 #
14:38
anp135: что за порт такой "Port component" ?
evyscr #
14:39
2 небось
14:39
LLDP_PORTID_SUBTYPE_PORT
anp135 #
14:39
хз. это же кутек
14:39
скорее всего имеется ввиду комбо-порт
Dmitry1 #
14:40
мне тут RFC подсказывает, что это "Interface Alias"
anp135 #
14:40
вот sh int с другой стороны http://pastebin.com/DcueA6sm
Dmitry1 #
14:41
lldp что говорит ?
anp135 #
14:41
пусто
14:42
по данному порту не видит rx
Dmitry1 #
14:42
у этого "KRD-SCH-PSE54-SW50-Q3900" есть аналог длинковского show lldp local_ports ?
anp135 #
14:42
sh lldp interface только
14:43
http://pastebin.com/sFcykHUX
Dmitry1 #
14:43
чтобы он про себя рассказал
14:43
какой тип порта у него
anp135 #
14:44
про себя он не умеет
14:44
щас покручу, может починю rx ему..
evyscr #
14:46
Dmitry1: какой rfc?
Dmitry1 #
14:46
по lldp
evyscr #
14:46
LLDP не в RFC
14:47
IEEE Std 802.1AB-2009
zi_rus #
14:47
почему-то то что описано в RFC реализовано лучше чем в стандартах
anp135 #
14:49
не, не видит qsw-3900 по lldp mx80-p
Dmitry1 #
14:51
будем думать, что 2
14:51
или 1 ?
anp135 #
14:52
мне вопрос?
Dmitry1 #
14:52
The enumeration 'portComponent(2)' represents a port
14:52
identifier based on the value of entPhysicalAlias (defined in
14:52
IETF RFC 4133) for a port component (i.e., entPhysicalClass
14:52
value of 'port(10)'), within the containing chassis.
anp135 #
14:54
в qtech-3900 это combo gjhn
evyscr #
14:55
это 2
14:55
а делать будем по-другому
Dmitry1 #
14:55
так
14:55
засунул пока в микросервисы
14:57
щас в develop запулю
anp135 #
14:57
а вот после upgrade в develop по тому же mx80-p interface_status_discovery Fail, это как покопать?
evyscr #
14:59
Dmitry1: don't do it Duddley
15:01
Dmitry1: серьёзно, лучше оставь до завершения каникул
15:02
anp135: в логах джоба что есть?
anp135 #
15:04
пишет Running script get_interface_status_ex и Job completed successfully (6.63ms)
evyscr #
15:05
эм
anp135 #
15:06
о пля, теперь побелело… -/
Dmitry1 #
15:07
anp135: ну вот по поводу "Port component" мне прищлось лезть в гугль, поднимать документацию по lldp и смотреть, что это такое
anp135 #
15:07
нажал руками Run - опять покраснело но в noc-dicovery.log не нашел свежих логов по данной коробке
15:08
Dmitry1: ?!
evyscr #
15:09
это плохое оправдание кривости нококода
anp135 #
15:09
вот, поймал в логах сие:
15:09
2015-12-29 18:04:33,411 [noc.lib.scheduler.job] [inv.discovery][interface_status_discovery][KRD-SCH-PSE54-R-MX80] Running script get_interface_status_ex
15:09
2015-12-29 18:04:34,431 [noc.lib.scheduler.scheduler] [inv.discovery] Job interface_status_discovery(KRD-SCH-PSE54-R-MX80) is failed
Dmitry1 #
15:10
я про то, что патч тривиальный. если хочешь более полной поддержки джунипера, поступай как я с длинками. тупо пытайся подключить к нему все подряд устройства и собирай статистику
evyscr #
15:10
бгг
Dmitry1 #
15:11
anp135: ну так запусти get_interface_status, и посмотри, чего ему не нравится
evyscr #
15:11
Dmitry1: а ты что, коды lldpd не читал?
Dmitry1 #
15:11
evyscr: я их наизусть помню :)
15:12
как и синтаксис всех моделей длинка, циски и джунипера
evyscr #
15:13
не, ну в lldpd явно указано, что этот сабтайп - unsupported
15:14
а ты хвастался про его взаимодействие с длинком
15:14
:)
anp135 #
15:14
get_interface_status вот такую перду выдаёт: http://pastebin.com/7cFdDwyk
evyscr #
15:16
get_interface_status_ex
15:17
и ежели через debug-script - то с '-c-'
Dmitry1 #
15:19
anp135: ну так нормально выдает get_interface_status
evyscr #
15:21
anp135: и, кстати, смотри заодно sa -> reports -> failed scripts
anp135 #
15:21
а зачем -с? он не возьмёт с конфига snmp community ?
evyscr #
15:21
-c- - чтоб взял из конфига
15:22
в хелпе про это не написано
15:22
это очередное (блядское) тайное знание
anp135 #
15:23
войну и мир мне выдал. в failed_scripts трейбек лежит
evyscr #
15:23
угу
15:23
там небось про dict parameter
anp135 #
15:23
ванга, ты?
evyscr #
15:24
это (относительно) известный баг нока
Dmitry1 #
15:24
не баг
evyscr #
15:24
кривой код
Dmitry1 #
15:24
это идеология такая
evyscr #
15:24
это баг
anp135 #
15:24
мои действия? расслабиться?
evyscr #
15:24
угу
Dmitry1 #
15:25
в скриптах специально допускается вываливание в traceback, чтобы можно было найти причину
evyscr #
15:25
ты хоть знаешь, про какой баг я говорю?-)
Dmitry1 #
15:25
про вываливание из SA скриптов
15:25
'nj yt ,fu
evyscr #
15:25
неа
Dmitry1 #
15:25
это не баг
evyscr #
15:26
нок падает, когда ему по snmp не всё прилетает
15:26
ок, если это не баг, то это пиздец.
Dmitry1 #
15:26
ну тек нужно дебажить
evyscr #
15:27
чо дебажить-то?
15:27
код править надо
Dmitry1 #
15:27
у меня физически нету возможности это делать сейчас
15:27
потому как я застрял в башне на установке mongodb-3.2
evyscr #
15:27
я решил, что не буду править до конца каникул
anp135 #
15:28
вот это через debug-script http://pastebin.com/JVV0pPVn
evyscr #
15:29
anp135: можешь расслабиться. рано или поздно тебе повезёт, и snmp пришлёт полные таблицы :)
anp135 #
15:29
он периодически присылает судя по всему -)
evyscr #
15:29
угу
anp135 #
15:29
строка в discovery по коробке то белая то красная
15:30
а это в репортах http://pastebin.com/W9JSQTnu
15:30
там правда каша =(
Dmitry1 #
15:31
ну так оно ругалось
15:31
2015-12-29 18:16:12.024000  KRD-SCH-PSE54-R-MX80    85.174.230.24   Juniper.JUNOS.get_lldp_neighbors    14  <class 'noc.sa.interfaces.base.InterfaceTypeError'> DictParameter: {'neighbors': [{'remote_chassis_id_subtype': 4}], 'local_interface': 'xe-0/0/2'}. Invalid value for 'neighbors': DictParameter: {'remote_chassis_id_subtype': 4}. Attribute 'remote_port' is required in {'remote_chassis_id_subtype': 4}
15:32
вроде ж починили ?
evyscr #
15:32
ну не проапгрейдились
15:32
и, если чо, этот патч только у меня заработает :)
Dmitry1 #
15:33
anp135: там есть специально обученный отчетик по "failed scripts"
anp135 #
15:34
дык sa -> reports -> failed scripts я и показал вторым бином
Dmitry1 #
15:34
а в traceback оно специально в 90% случаев выпадает
evyscr #
15:35
Dmitry1: так вот, твой патч у меня бы заработал, потому что http://dpaste.com/23BKYCZ
Dmitry1 #
15:36
evyscr: я пока не могу протестировать. у меня NOC в оффлайне уже несколько месяцев.
15:37
но там реально нужно дописывать как lldp, так и cdp
evyscr #
15:37
*переписывать
15:38
я в своём патче ещё не выбросил дублирующий код
Dmitry1 #
15:38
там и у lldp, и у cdp одна болячка
evyscr #
15:38
я помню твою идеологию
15:38
и не во всём с ней согласен
Dmitry1 #
15:39
там половину функций нужно вынести в профиль
15:40
такие как get_interface_name и comvert_interface_name
15:44
для того же qtech
15:44
оказывается, что portComponent == interfaceName
15:45
evyscr: смотри как я думаю
15:45
вместо такого:
15:46
1: self.get_remote_port_by_description, # interfaceAlias(1)
15:46
3: self.get_remote_port_by_mac, # macAddress(3)
15:46
5: self.get_remote_port_by_name, # interfaceName(5)
15:46
7: self.get_remote_port_by_local, # local(7)
15:46
128: self.get_remote_port_unspecified # undetermined
15:47
вызавать одну функцию, куда паредавать тип порта, имя порта, и его описание
15:47
если в профиле есть такая функция, то она сама правильно распарсит это все
15:47
иначе - общие правила для всех
15:48
т.е. для длинка, если тип порта mac, то нуэно заглянуть в interface descruption
15:49
а там мы обнаружим:
15:49
"D-Link DES-3200-10 R4.37.B008 Port 1 " -> "1"
15:49
"PORT 7 ON UNIT 1" -> "7"
15:50
evyscr: и тогда уберутся костыли из dlink.dxs.get_lldp_neighbors
15:55
Для этого, в интерфейсе IGetLLDPNeighbors нужно добавить несколько полей:
15:55
Port Description
15:55
System Description
15:55
Management Address
15:57
последний - для того, когда не удается определить удаленную железку по связке "Chassis ID Subtype" и "Chassis ID"
15:57
аналогично - для CDP
anp135 #
16:27
zombie тут?
Tweet
Share this page
Share this page: Tweet