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: 30.10.2013
lexus-omsk #
04:33
dvolodin: трейсится get_interface_status на циске, когда по snmp натыкается на интерфейсы с service instance, там имена вида Gi0/4.SI.525
04:33
попробовать поправить rx_cisco_interface_name в sa/profiles/__init__.py?
dvolodin #
04:34
лучше в функции змену сделать
04:34
эти психи сами не знают, как такие интерфейсы называть
04:34
:)
lexus-omsk #
04:37
ага, т.е. в самом профиле обработать попробовать..
dvolodin #
04:38
да
04:38
там уже и так изрядно костылей
04:38
мы такие интерфейсы, вроде, через пробел пишем
04:39
Gi0/4 525
04:40
http://pastie.org/8441821
04:41
вот так
lexus-omsk #
04:45
почему ещё не закоммичено? :)
dvolodin #
04:45
а кто-нибудь проверил?
04:45
никто не может сказать, как правильно преобразовать имя этого интерфейса
04:45
доподлинно известно, что не через точку
lexus-omsk #
04:46
ну вот теперь хотя бы есть что проверить... а с efp_id я боролся в другом скрипте, по-моему в get_mac_address_table
04:47
так а почему не оставить с SI?
dvolodin #
04:51
:)
04:51
да лишь бы к одинаковому приводилось
04:51
si в ADOM == strange item
04:51
:)
04:52
они сами плодятся и портят персонажа :)
zi_rus #
05:57
для справки
05:57
efp - это ethernet flow point
_4ePTeHok #
06:38
если бутстрап скрипт для центоси будет заменять nginx.conf - ето некошерно, да?)
06:42
ладно, сделаем по другому..)
dvolodin #
06:45
zi_rus: и как с этим жить?
zi_rus #
06:45
понять и простить
06:46
dvolodin, на ASR9k это тоже называется efp, но фактически настраиваются сабы Gi0/1/0/0.25, а на 7600 это тоже efp, но представляют из себя сервис инстансы
dvolodin #
06:47
ну и что нам делать с этой пропагандой гомосексуализма?
zi_rus #
06:47
это efp на ASR
06:47
interface GigabitEthernet0/1/0/0.1007 l2transport
06:47
encapsulation dot1q 1007
06:47
rewrite ingress tag pop 1 symmetric
dvolodin #
06:47
ну да
06:47
нормальный саб
zi_rus #
06:48
а это на 7600
06:48
service instance 1007 ethernet
06:48
encapsulation dot1q 1007
06:48
rewrite ingress tag pop 1 symmetric
06:48
bridge-domain 2
06:48
вот так правильней
06:48
interface Port-channel1
06:48
service instance 1007 ethernet
06:48
encapsulation dot1q 1007
06:48
rewrite ingress tag pop 1 symmetric
06:48
bridge-domain 2
dvolodin #
06:50
так как нам это счастье различать?
zi_rus #
06:50
и то и другое это сабы в терминах нока, только в одном случае это классический саб, а в другом не классический сервис инстанс
dvolodin #
06:50
с точки зрения NOC -- и первое и второе - subinterface
zi_rus #
06:59
dvolodin, не понимаю что тебя смущает, на 7600 сабы возвращаются одной командой, а сервис инстансы другой, что ты в них собираешься различать и зачем?
dvolodin #
06:59
меня ничего не смущает
06:59
смотри, я могу преобразовать эту порнуху к любой строке
07:00
сейчас она преобразовывается к форме с пробелом
07:00
могу заменить на точку
07:00
но скрипты, которым передается имя интерфейса, должны понимать, саб ли это у них или service instance
zi_rus #
07:00
думаю не стоит, будет путаница сабов классических и инстансов
dvolodin #
07:01
и я про то же
zi_rus #
07:01
или через точку писать gi0/1.si123
dvolodin #
07:01
поэтому саб у нас с точкой, а service instance - с пробелом
zi_rus #
07:02
пробел мне тоже не нравится, с ним сложно работать
07:02
хотя может я заблуждаюсь
07:03
просто если где-то в скрипте надо будет порубить строку, и будешь это делать по пробелам, то тут будет засада
07:03
а .si<num> такой проблемы не имеет
07:05
по снмп циска вообще возвращает имя как GigabitEthernet1/1.ServiceInstance.1
07:05
тоже как вариант можно использовать
07:06
еще раз, пробел по-моему не самый лучший вариант
dvolodin #
07:06
ну давайте его тогда делать как <имя интерфейса>.si.<номер>
07:06
но тогда скрипты вроде get_mac_address_table и get_arp должны ловить этот .si.
zi_rus #
07:07
в любом случае их придется дорабатывать, что бы ты сейчас не решил
dvolodin #
07:07
и get/set switchport тоже
e_zombie #
07:13
мне надо дать человеку доступ к конфигам но не давать на управление железкам. где галочки ставить?
zi_rus #
07:14
e_zombie, нигде, я не смог так сделать, тоже надо было
e_zombie #
07:24
тоесть если давать конфиги - то 100% даётсяи управление?
dvolodin #
07:26
не обязательно
07:26
консоли и плюшки -- дополнительными правами даются
zi_rus #
07:29
а ран скриптов нет
07:34
dvolodin, я уже создавал issue про разграничение прав NOC-354
dvolodin #
07:37
это уже не работает
zi_rus #
07:40
_4ePTeHok, http://habrahabr.ru/post/199532/
_4ePTeHok #
07:42
спасибо. У нас правда оно только в дц открыто
07:42
в мир не смотрит
dvolodin #
07:44
помню историю как EqM во время discovery нарвался по SNMP на UPS в своей же стойке и дернул сам себе питание
_4ePTeHok #
07:48
кстати наработки по визуализации рэков есть?)
07:49
а то я тут кластер нарисовать хочу))
08:08
dvolodin, там были раньше костыли по рисованию рэков.. планы есть по переводу этих дел на экс?
08:08
extjs*
08:12
хотя это все по идее должно быть завязано на физический инвентори.
lexus-omsk #
08:14
Начинают немного напрягать qtech'и, которые после перезагрузки переставляют в конфиге строки с snmp community. Получается перезагрузка = новый diff
SWE #
08:20
Anyone using Edge-Core ECS3510-28t and dooing DHCP snooping?
e_zombie #
08:24
lexus-omsk: я вообще с кютечей снимаю только конфиги. потому что если там делать дискавери всю сеть штыряет.
lexus-omsk #
08:25
ну так я как раз о конфигах
08:26
а дискавери более или менее работает, правда у меня профиль для серии 2800 самописный
dvolodin #
08:43
_4ePTeHok: это в inventory
zi_rus #
08:47
громко заявлять что что-то где-то есть, когда ничего нет
MaximFomin #
08:48
Всем привет. А можно ли в noc shell или скриптом пройтись по всем managed object и выполнить на них команду?
e_zombie #
08:48
да
MaximFomin #
08:48
куда смотреть? есть пример?
e_zombie #
08:49
./noc debug-script commands sx8-pu76 'commands=show ver","show module","show int brief'
zi_rus #
08:49
круто, воспользуюсь
e_zombie #
08:49
sa - task - run command
MaximFomin #
08:49
мне дальше надо вывод попарсить
08:49
в ран команд нет такой возможности
zi_rus #
08:56
нет
08:56
а чего ты хочешь
08:57
я тоже думал вывод парсить, а потом понял что проще конфиг глянуть который уже в ноке готовый лежит
08:57
оно и быстрее
MaximFomin #
08:58
надо пройтись по всем асам и дернуть с нее sh inventory
lexus-omsk #
08:59
надо запилить для асы новый скрипт get_inventory - или это не совсем оно?
08:59
вроде были какие-то наработки на примере juniper
MaximFomin #
09:01
Да, в итоге хотелось бы, чтобы в базе были SN и chassis SN
e_zombie #
09:53
какие права нужны чтобы в конфигах показался список железок?
zi_rus #
09:55
MaximFomin, ну вот тебе правильней написать скрипт get_inventory для асы и будет у тебя актальная база прямо в ноке
09:57
dvolodin, я тут подумал про скрипт get_inventory, мне кажется что можно сделать по-другому, а именно чтобы скрипт возвращал part number и некую строку определющую коннект (наприимер где эта sfp торчит или в каком слоту этот БП
09:58
а строку которую он вернет парсить с помощью regexp уже в ноке
09:58
для каждого part number сделать правило и прописать его где-то там в атрибутах
09:59
зачем это нужно
09:59
чтобы не городить в одном скрипте огромное количество if-ов
10:00
ты написал скрипт который работает на МХ, но что будет на других железках, опять костыли придется приделывать
10:01
вот пример есть у меня каталист, как распарсить каждую sfp и каждый БП, делать if A then B
MaximFomin #
10:01
а где можно посмотреть пример get_inventory?
zi_rus #
10:01
и это придется на каждый парнамбер рисовать
10:02
MaximFomin, единственный существующий в природе скрипт сидит в ветке инвентори, тебе придется обновиться на нее
10:02
/opt/noc/sa/profiles/Juniper/JUNOS - вот тут
10:02
или может в репо посмотреть
dvolodin #
10:03
zi_rus: так и сделано
zi_rus #
10:04
dvolodin, тогда я вообще не понимаю как писать скрипт
10:04
NAME: "Power Supply 1", DESCR: "FRU Power Supply"
10:04
PID: ME34X-PWR-DC , VID: V03 , SN: LIT153907TB
10:04
NAME: "GigabitEthernet0/16", DESCR: "1000BaseLX SFP"
10:04
PID: Unspecified , VID: , SN: H22L873
10:05
вот
10:05
есть пид и name
10:05
нельзя в одном скрипте на каждый пид прикрутить костыль
10:05
надо вернуть пид и name
10:06
а инвентори должен сам разобраться куда это воткнуть
10:07
dvolodin, объясни что должен вернуть мой скритп (если я начну его писать), чтобы положить данные в инвентори
dvolodin #
10:08
вот ты inventory и скажи, какой это connection
zi_rus #
10:08
где я должен это сказать?
10:09
в скрипте определить?
10:09
я этого не могу
10:09
потому что Pidов [thjdf nexf
MaximFomin #
10:09
а когда планируется inventory пушнуть в develop?
zi_rus #
10:09
*херова туча
10:09
и на каждый пид своя коннектион строка
10:10
под один профиль попадает не одна железка
dvolodin #
10:12
pid у тебя матчится под asset.*
10:15
со стороны процесса discovery алгоритм примерно такой
10:16
по part_no ищем модель
10:16
по serial ищем объект с нужной моделью, если не нашли - создаем
10:29
а дальше по connections соединяем его с другими объектами или отцепляем лишнее
10:30
если ты выдашь без connections, оно тебе насыпет в базу железку россыпью
zi_rus #
10:57
выдам откуда?
10:58
из скрипта?
dvolodin #
10:58
да
zi_rus #
10:58
только без connection и получится
10:58
невозможно написать костыль под каждую железку
11:00
как парсить connection? PWR-C49M-1000DC - Power Supply 2, PWR-2700-DC - PS 2 PWR-2700-DC
11:01
для sfp проще, оно везде одинаковое
11:01
GigabitEthernet1/26
11:01
но это не решает проблему
11:01
есть еще вентиляторы
11:01
и линеййные карты
11:02
под каждый PID придется рисовать костыль
dvolodin #
11:02
где-то все равно придется это зашивать
zi_rus #
11:02
вот я и говорю, зашить в инвентори
11:02
рядом с PID
11:03
прописать regexp
11:03
один или несколько
11:03
в regexp одна переменная возвращается
dvolodin #
11:03
ну а где еще
11:03
вот у тебя есть россыпь всякого хлама
zi_rus #
11:03
в инвентори, в object models
dvolodin #
11:03
как узнать, что и куда засунули?
11:04
как ты засунешь это в object models?
zi_rus #
11:04
скрипт тебе это вернет
11:04
ну я не знаю, тебе виднее
11:05
asset
11:06
Power Supply 1 - Power Supply (?P<connection>.+)
11:06
json
dvolodin #
11:07
и?
11:07
давай с другой стороны
11:07
стек из 5 3750
11:07
в них - 10SFP
11:08
имеешь россырь из 15 объектов
11:08
как соединять
11:08
то, что ты хочешь какого-то декларативного описания алгоритма определения связей прямо в моделях я уже понял
11:09
вопрос только в том, как оно выглядит и как с ним жить
zi_rus #
11:10
ну надо подумать
dvolodin #
11:25
первое дельное предложение :)
11:26
ну или посложнее задачу возьми
11:26
виртуальное шасси
11:26
два шеститонника, куча плат и два ведра оптики
11:28
juniper выдает очень удобное дерево на такое
zi_rus #
11:35
ну я думал что ты сразу придумаешь как лучше
11:36
ну вот берет циска и не выдает
11:36
а джун выдает
11:36
давай искать третьего вендора
11:36
пусть будет хуавей
11:36
покажите как хуавей показывает инвентори
11:53
в общем я не знаю как писать скрипт для циски
dvolodin #
11:55
http://pastie.org/8442465
11:55
вот arista
zi_rus #
11:58
ты специально выбираешь железки под свою позицию :)
dvolodin #
11:59
какие есть
zi_rus #
12:00
железки к которым у меня есть доступ это или циски или нечто у чего нет волшебной команды для инвентори
e_zombie #
12:38
http://193.111.141.18/download/photo/photo/prikol_tablichki_i_obyavleniya_106/13.jpg
dvolodin #
12:41
баян
_4ePTeHok #
14:43
у меня у одного ./scripts/noc-launcher.py stop - под линуксом не убивает процессы?
14:48
во блин, просрался.
Tweet
Share this page
Share this page: Tweet