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.09.2011
zi_rus #
05:51
доброго всем утра! поздравляю всех в началом новой недели и хочу задать вопрос
05:52
почему, когда я пытаюсь создать новую врф, мне валится трейсбек
05:52
Exception Type: DoesNotExist at /ip/vrf/add/
05:52
Exception Value: AS matching query does not exist.
05:53
сразу скажу, перед этим я тыкался в пиринг менеджменте, с попыткой разобраться как оно, но в результате стало только менее понятно
06:03
dvolodin, не подскажешь в чем может быть причина?
dvolodin #
06:08
причина чего?
zi_rus #
06:08
когда я пытаюсь создать новую врф, мне валится трейсбек
06:08
Exception Type: DoesNotExist at /ip/vrf/add/
06:08
Exception Value: AS matching query does not exist.
06:11
перед этим баловался пиринг менеджментом, возможно там что-то сломал
dvolodin #
06:11
AS0 снес?
zi_rus #
06:13
скажем, так - заменил
06:14
но ас0 тепрь нет. надо создать?
06:15
создал. заработало
06:18
Почему к моей новой АС привязались все префиксы из IPAM?
06:19
теперь если я хочу удалить свою АС из таблицы оно угрожает удалить все префиксы
dvolodin #
06:20
они были привязаны к AS0 по умолчанию
06:20
лучше убей AS0, переименую твою AS назад и сделай новую AS
zi_rus #
06:21
ок, спасибо, сейчас сделаю.
06:22
но по пиринг менеджменту еще есть вопросы
dvolodin #
06:24
давай
06:25
пометил себе заметочку - не надо давать переименовывать AS0
06:27
В ветке noc-ui окончательно пофиксил тестирование
zi_rus #
06:27
в смысле "тестирование"?
dvolodin #
06:28
поломанное еще при добавлении mongodb
06:28
./noc test
06:28
прогоняет unittest'ы, строит coverage report
06:29
все-таки в погоне за функционалом не надо забывать про качество :)
zi_rus #
06:31
такой момент, префикс-лист билдер, строит такой лист
06:31
ip prefix-list qqq permit 212.7.96.0/19 le 32
06:31
ip prefix-list qqq permit 212.7.96.0/20 le 32
06:31
ip prefix-list qqq permit 212.7.96.0/21 le 32
06:31
его нельзя заставить суммировать?
dvolodin #
06:32
можно
06:32
там есть флажок - оптимизация
zi_rus #
06:34
где?
06:35
тут 3 поля и флажка я не вижу
dvolodin #
06:38
интерактивный сейчас не сжимает
06:38
флажок добавить надо
06:38
а так - он умеет минимизировать их
06:39
точнее у него такой алгоритм
zi_rus #
06:39
ок
dvolodin #
06:40
если меньше 10 префиксов в префикс-листе, он не оптимизирует
zi_rus #
06:40
жаль
dvolodin #
06:40
в peer/resolver.py PL_THRESHOLD
zi_rus #
06:40
в том листе их около 8
dvolodin #
06:40
можешь поправить и поставить у себя =0
zi_rus #
06:40
отлично
dvolodin #
06:42
он вполне нормально переваривал и AS-ROSTELECOM и AS-RETN
06:42
:)
zi_rus #
06:42
это хорошо, пиримся мы с ростелекомом
dvolodin #
06:42
дольше на экране рисовал
06:42
с этими да - глаз да глаз нужен
06:43
не сморгнув вдуют и полную таблицу, да еще и дефолт в придачу
06:43
пиритесь в рамках какой AS?
zi_rus #
06:44
VTK-AS + NMTS-AS
06:44
2 сессии
06:46
AS25405 и 43975
06:47
как бы в это свете есть вопрос, как можно автоматически заливать и обновлять префикс листы?
dvolodin #
06:49
для начала настрой, чтобы в repo генерировались
zi_rus #
06:50
этого и хотел
06:50
я хочу предложить нок как вариант автоматического обновления префикс листов
dvolodin #
06:51
проще простого
zi_rus #
06:51
тем не менее
dvolodin #
06:51
в peering management'е пропиши пиру AS-SET'ы для export'а и import'f
06:51
и там же надо указать имена префикс-листов
zi_rus #
06:54
сейчас попробую сообразить, с райпом общается начальник, с RPSL я слабо знаком
dvolodin #
06:55
import: from AS30974 accept AS-NNTS
06:55
export: to AS30974 announce ANY
06:55
ну вот тебе пример
06:55
делаешь пир AS30974
06:55
import у теюя будет AS-NNTS
06:55
export - ANY
06:55
export тебе ограничивать не надо
06:56
на import в import prefix list name пишешь, например, pl-as-nnts
06:57
и врубаешь задачу cm.prefix_list_pull
zi_rus #
06:58
на что влияют link address?
dvolodin #
06:58
она пройдет, увидит, что надо сгенерировать префикс-лист pl-as-nnts для AS-NNTS, посмотрит по peering point, что это киска, сделает все, положит в репо и разошлет уведомленияя
06:59
fault management умеет по нему определять, какому пиру в базе соответсвует упавший пир и начинает заниматься обогащением событий
07:00
да и так, для порядка полезно
07:00
особенно на IX'ах
zi_rus #
07:01
почему оно ругается на лин адрес?
07:01
(в общем я туда пока левые адреса пишу, но все же, что ему не нравится в 127,0,0,1
dvolodin #
07:02
как именно ругается?
zi_rus #
07:02
Invalid prefix
dvolodin #
07:03
и еще важный момент - может быть несколько сессий с AS с одного peering point'а
07:03
маску укажи
07:03
127.0.0.1/30
zi_rus #
07:03
сработало
07:04
такой момент в импорте я указываю, адреса каких АС я хочу принимать
07:05
если я хочу принимать адреса АС и ее клиентов, мне их всех перечислять?
07:05
а если этот список меняется?
dvolodin #
07:05
as-set есть?
07:05
приличные люди делают as-set
07:05
он обновляется регулярно по базе RIPE
07:05
задачей update_whois_cache
07:06
то есть если твои префикс-листы поменялись - придет уведомление по почте
zi_rus #
07:06
вот допустим
07:06
import: from AS57104 action pref=120; accept AS57104
07:06
export: to AS57104 announce ANY
07:06
import: from AS15370 action pref=120; accept AS15370
07:06
export: to AS15370 announce ANY
07:06
import: from AS47376 action pref=120; accept AS47376
07:06
export: to AS47376 announce ANY
07:07
я принимаю маршруты от этих АС и обявляю их в мир
07:07
и своим пирам
07:07
мой пир чтобы их принять, должен как настроить?
07:08
перечислить их в импорт листе? или как?
dvolodin #
07:12
да
07:12
тьфу
07:12
если ты у них принимаешь тупо AS, то ничего настраивать не надо
07:12
и так найдет
07:12
если принимаешь группу AS - они делают as-set с перечислением member;ов
07:13
обычно, приличные люди декларируют сразу AS-set, пусть даже с одной AS
zi_rus #
07:15
начинаю понимать
dvolodin #
07:17
то есть принцип премерно такой
07:18
ты описываешь своих пиров и особенности ваших пиринговых отношений (фильтры, localpref, med и так далее). Причем для удобства ты пиры группируешь, тогда можно использовать групповые настройки по умолчанию
07:19
далее ты говоришь, что вот такие-то фильтры тебе надо генерировать автоматом и прописываешь их имена
07:19
далее update_whois_cache раз в день ходит на FTP-сервер RIPE, выкачивает куски базы и апдейтит свой кеш
07:19
и, примерно, раз в сутки запускается prefix_list_pull
07:20
который по кешу перестраивает префикс-листы и кладет в репо
07:20
ну и стандартный цикл с уведомлениями делает
zi_rus #
07:20
3 последних пункта понятно
dvolodin #
07:20
если, например, у клиента твоего клиента появился новый префикс
07:20
он прописывает его в базе ripe
07:21
noc просекает, что в as-set'е твоего клиента появился новый префикс - и добавляет его
07:21
а ты сразу видишь, что надо бы проапдейтить prefix-list
07:21
и уже решаешь, надо ли это тебе или нет
07:23
с заливкой автоматом я игрался, тогда уперся в то, что при заливке длинных списков скрипт начинал дико тормозить и останавливался почти до нуля
zi_rus #
07:23
а куда он его добавляет? в кеш? где тогда я вижу? я не вижу кеша
dvolodin #
07:23
тогда причину не нашел, отловили ее сильно позже, когда с конфигами TIMOS боролись
07:23
добавляет его в repo
07:23
в configuration management - prefix list
zi_rus #
07:24
те правит префикс лист
07:24
а потом я этот лист могу руками залить на железо
dvolodin #
07:24
угу
07:24
именно
zi_rus #
07:24
или включить автоматически
dvolodin #
07:25
можно автоматом, но я в production не ставил
07:25
фишка год как эксперементальная
07:25
provisioning достаточно интеллектуальный
07:25
в конфиге меняет только разницу
zi_rus #
07:26
не хочется экперименты с такими вещами производить
dvolodin #
07:26
аналогично
07:27
поэтому все-таки руками
07:27
в принципе, junos в virtual box'е у меня есть, можно и опять поиграться
07:28
надо подумать
07:28
может быть, сделать типа консоли с подтверждением
07:29
чтобы админ, ответсвенный за пиринг, проверял сначала глазами изменения, а потом уже либо подтверждал их, либо отклонял
07:29
а подтвержденное уже автоматом заливать
zi_rus #
07:30
а для особо смелых разрешить полный автомат
dvolodin #
07:30
по идее это из той же консоли должно настраиваться
07:31
для пиринг-менеджмента по идее должна быть отдельная консоль
07:34
напрочь поинтегрированная с performance management
07:35
чтобы можно было и пирами рулить, и фильтры переливать или модифицировать
07:35
и смотреть текущий трафик по пирами или историю
07:35
с привязкой к событиям
07:36
например, подняв новый пир полезно проверить, с какого пира туда перешел трафик
07:37
у нас так разок в совсем безобидный пир усвистело 600M
07:37
пришлось задуматься, то ли мы делаем вообще и все ли понимаем :)
zi_rus #
07:38
неприятности случаются (с)
dvolodin #
07:38
ну не сколько неприятности, сколько то, что с обоих сторон ожидали порядка 200M
07:39
а лишние 400 просно снялись с нашей стороны с IX'а и тут же были возвращены на IX партнером
zi_rus #
07:39
о как
dvolodin #
07:40
ну да, типовая ситуация вполне
07:41
и peering management сейчас активно используется контентом для управления исходняком
07:41
там помимо фильтров есть еще большое количество локальных твиков
07:42
типа на какой-то префикс или as предпочтительнее гнать трафик через такого-то пира
07:43
задачка из разряда звездной баллистики - как запулить трафик в далекую AS, чтобы он попал на относительно свободный стык
ss_ #
07:43
ls
07:43
упс, не туде
07:43
*туда
dvolodin #
07:44
если есть примерно 5-7 разумных путей
zi_rus #
07:45
столкновение электронов в ускорителе
dvolodin #
07:45
почти
07:46
эту фишку я еще дорабатывать и дорабатывать буду, спрос на нее большой
zi_rus #
07:47
и все же, линк адреса в настройках пира влияют только на fault management, или нужны для чего-то еще?
dvolodin #
07:47
на генерацию RPSL влияют
zi_rus #
07:49
а там то они для чего? я там вообще айпишников не вижу
dvolodin #
07:50
на группировку могут влиять
07:50
в любом случае - лучше их забить
zi_rus #
07:51
ок
Phoen #
07:53
привет всем, вопрос вот назрел. При выполнении post-update'a выдаёт "Error: Following builtin MIBs cannot be loaded: EQUIPMENT-MIB
07:53
post-update: : sync-mib failed" Я так понимаю наиболее просто путь решения - загрузить эквипмент миб руками. Дык вот вопрос - откуда это можно сделать?
dvolodin #
07:53
./noc import-mib <path>
07:54
а вообще он есть
Phoen #
07:56
noc@wrksttn:~$ ./noc import-mib EQUIPMENT-MIB
07:56
Error: Uploaded MIB requires TIMERANGE-MIB
07:56
noc@wrksttn:~$ ./noc import-mib TIMERANGE-MIB
07:56
Error: Uploaded MIB requires TIMERANGE-MIB
07:56
как то оно всё неочевидно)
dvolodin #
07:57
smilint/smidump какой версии
Phoen #
07:58
0.4.8
07:58
дистрибутив - дебиан
dvolodin #
08:01
странно
08:01
у меня сейчас с 0.4.8 все собралось
Phoen #
08:02
нок только что скаченный, ставился с нуля
08:03
до этого на этой же системе пробовал месяца 3 назад - всё устанавливалось без проблем
08:03
мистика какая-то
dvolodin #
08:04
а
08:04
завалилось, да
ss_ #
08:05
Здрасвуйте, есть вопрос по Service Activation. Пытаюсь запустить систему в своей не малеьнокй сети с разношорстным оборудованием. К сожалениею документации мало.
08:06
Попытка запустиь любую команду через Run commands дает ошибку 110123168_kan_z.yand F {'text': Exception(u"Activator pool 'default' is not available",), 'code': 15}
08:06
неподскажете куда копать?
zi_rus #
08:07
что-то мне подсказывает, надо разобраться что происходит с активаторами
dvolodin #
08:07
Все, пофиксил с MIB, r4643
08:07
забыли его положить
ss_ #
08:07
если в режиме дебага с ключем -f его запустить то вроде он нормально стартует
dvolodin #
08:08
имена активаторов в конфиге и в базе совпадают?
Phoen #
08:08
угу, спасибо
ss_ #
08:09
вроде да, смотреть в конфиге?
08:09
cat /opt/noc/etc/noc-activator.conf |grep name
08:09
name = default
dvolodin #
08:10
а в базе?
ss_ #
08:10
как посмотеть?
08:10
Change Activator
08:10
Name:
08:10
Shard:
08:10
From IP:
08:10
To IP:
08:10
Auth String:
08:10
Is Active
08:10
Tags:
08:11
это через веб морду Name: defaut
dvolodin #
08:11
Secret
08:11
который auth string
ss_ #
08:11
noc
08:11
cat /opt/noc/etc/noc-activator.conf |grep pm_data_secret
08:12
pm_data_secret = secret
08:12
это должно совпадать?
dvolodin #
08:12
нет
ss_ #
08:12
хм а как?
dvolodin #
08:12
secret в noc-activator.conf
08:12
и auth string в базе
ss_ #
08:12
cat /opt/noc/etc/noc-activator.conf |grep secret
08:12
secret = noc
08:12
pm_data_secret = secret
08:12
это свопадает и там и тут noc
08:13
если не совпадают то с ключом -f ругается на аутх ерор
dvolodin #
08:13
./scripts/noc-activator.py -f start
08:13
а так - цепляется?
08:13
max_scripts у активатора какой?
ss_ #
08:14
если весь вывод сюда скину не будут бить ногами?
08:14
./scripts/noc-activator.py -f start
08:14
2011-09-19 12:12:46,391 Running activator 'default'
08:14
2011-09-19 12:12:46,393 Setting up 'select' polling method
08:14
2011-09-19 12:12:46,393 Set up select() poller
08:14
2011-09-19 12:12:46,393 Loading profile classes
08:14
2011-09-19 12:12:46,613 ProfileRegistry:
08:14
потом много много железа
08:15
2011-09-19 12:12:46,650 [Activator(0x2c1d4d0)]<None> ==> IDLE
08:15
2011-09-19 12:12:46,650 [Activator(0x2c1d4d0)]<IDLE> set_timeout(3)
08:15
2011-09-19 12:12:46,651 [Activator(0x2c1d4d0)]<IDLE> Loading private ssh key from 'etc/ssh/id_rsa'
08:15
2011-09-19 12:12:46,651 [Activator(0x2c1d4d0)]<IDLE> Loading public ssh key from 'etc/ssh/id_rsa.pub'
08:15
2011-09-19 12:12:46,651 Running socket factory
08:15
2011-09-19 12:12:49,656 [Activator(0x2c1d4d0)]<IDLE> Timeout expired
08:15
2011-09-19 12:12:49,656 [Activator(0x2c1d4d0)]<IDLE> event(timeout)
08:15
2011-09-19 12:12:49,656 [Activator(0x2c1d4d0)]<IDLE> ==> CONNECT
08:15
2011-09-19 12:12:49,656 [Activator(0x2c1d4d0)]<CONNECT> set_timeout(10)
08:15
2011-09-19 12:12:49,657 register_socket(<noc.sa.activator.ActivatorSocket object at 0x2e27f10>,None)
08:15
2011-09-19 12:12:49,657 [ActivatorSocket(0x2e27f10)] Initializing socket
08:15
2011-09-19 12:12:49,658 [ActivatorSocket(0x2e27f10)] Connecting 127.0.0.1:19701
08:15
2011-09-19 12:12:49,658 [Activator(0x2c1d4d0)]<CONNECT> event(connect)
08:15
2011-09-19 12:12:49,658 [Activator(0x2c1d4d0)]<CONNECT> ==> CONNECTED
08:15
2011-09-19 12:12:49,659 [Activator(0x2c1d4d0)]<CONNECTED> set_timeout(10)
08:15
2011-09-19 12:12:49,659 Registering as 'default'
08:15
2011-09-19 12:12:49,659 Creating transaction id=1318990217 method=register callback=<function register_callback at 0x2e1f5f0>
08:15
2011-09-19 12:12:49,660 send_request
08:15
method: register
08:15
name: "default"
08:15
2011-09-19 12:12:49,677 rpc_handle_message:
08:15
id: 1318990217
08:15
response {
08:15
serialized_response: "\n(076b2c1768e3c4b2ed8b462a999980bcc7442d12"
08:15
}
08:15
2011-09-19 12:12:49,678 rpc_handle_response:
08:15
id: 1318990217
08:15
serialized_response: "\n(076b2c1768e3c4b2ed8b462a999980bcc7442d12"
08:15
2011-09-19 12:12:49,678 Registration accepted
08:16
2011-09-19 12:12:49,678 [Activator(0x2c1d4d0)]<CONNECTED> event(register)
08:16
2011-09-19 12:12:49,679 [Activator(0x2c1d4d0)]<CONNECTED> ==> REGISTRED
08:16
2011-09-19 12:12:49,679 [Activator(0x2c1d4d0)]<REGISTRED> set_timeout(10)
08:16
2011-09-19 12:12:49,679 Authenticating
08:16
2011-09-19 12:12:49,680 Creating transaction id=1116787244 method=auth callback=<function auth_callback at
08:16
количество скриптов max_scripts = 10
08:17
с запущенным ручками скриптом ошибка {'text': u'RPC Call to script failed', 'code': 1}
08:23
Еще могу дать пищу для размышленя
08:23
если это ужде обработали
_4ePTeHok #
08:27
длинные штуки лучше на pastebin какой нить...
ss_ #
08:28
хорошо, я только некоторые вещи буду постить, которые вроде как полезны
08:31
http://pastebin.com/eRvuwJu4 вот попытка сделать sh ru на cisco catalist 2950
inoyat_kayumov #
08:40
ss_: попробуйте max_scripts увеличить и для активатора и для каждой конкретной железки
zi_rus #
08:44
когда мне max_scripts не хватало, у меня так не падало
inoyat_kayumov #
08:48
ss_: а кстати - через SA->Activator status что говорит?
ss_ #
09:26
inoyat_kayumov увеличить где? Для активатора это наверняка тут /opt/noc/etc/noc-activator.conf, а для каждой железки?
09:27
SA->Activator Name default, From IP 127.0.0.1, Is Active да, Shard default
inoyat_kayumov #
09:27
через веб в SA->Managed object->железка - Max. Scripts
ss_ #
09:31
max_scripts = 50 в секции [activator] File: /opt/noc/etc/noc-activator.conf скрипт выполнился show runn отработал с циски
09:32
<inoyat_kayumov> <zi_rus> Спасибо, сейчас попробую без предварительного запуска активатора
inoyat_kayumov #
09:35
сорри за возможно неуместный вопрос - но сервисы нока вообще запущены?
ss_ #
09:35
в конфиге стоит true
inoyat_kayumov #
09:35
не о том
zi_rus #
09:36
ps -aux | grep python
inoyat_kayumov #
09:36
ps axw | grep python что говорит?
ss_ #
09:36
по идее их лаунч должен пускать или я не прав?
inoyat_kayumov #
09:36
нет - системный стартовый скрипт
09:36
в минидоке по установке на дебиан/сентос посмотрите
ss_ #
09:38
с него и с ставил чуть подравив под реали убунты
09:38
ps axw| grep phyton
09:38
11318 pts/0 S+ 0:00 grep phyton
09:38
от я болван
inoyat_kayumov #
09:38
phyton<>python :)
ss_ #
09:39
яж его до обеда выключал вроде
09:39
а нет не болван, я его включил потом
inoyat_kayumov #
09:39
ss_: еще раз внимательно - ps axw | grep python
ss_ #
09:39
noc@monitor:~$ ps axw| grep python
09:39
11784 pts/0 S+ 0:00 grep python
09:39
19304 ? S 0:16 python ./scripts/noc-launcher.py start
09:39
19306 ? S 0:15 /usr/bin/python ./scripts/noc-scheduler.py launch -c etc/noc-scheduler.conf -i 0
09:39
19307 ? Sl 0:12 /usr/bin/python ./scripts/noc-fcgi.py launch -c etc/noc-fcgi.conf -i 0
09:39
19308 ? S 0:22 /usr/bin/python ./scripts/noc-sae.py launch -c etc/noc-sae.conf -i 0
09:39
19310 ? S 0:03 /usr/bin/python ./scripts/noc-classifier.py launch -c etc/noc-classifier.conf -i 0
09:40
19311 ? S 0:04 /usr/bin/python ./scripts/noc-correlator.py launch -c etc/noc-correlator.conf -i 0
09:40
19312 ? S 0:13 /usr/bin/python ./scripts/noc-notifier.py launch -c etc/noc-notifier.conf -i 0
09:40
19313 ? S 0:01 /usr/bin/python ./scripts/noc-probe.py launch -c etc/noc-probe.conf -i 0
09:40
активатора нет
inoyat_kayumov #
09:40
вооот
ss_ #
09:41
все таки болван ;)
inoyat_kayumov #
09:41
заходим через веб Main->Configs->noc-activator.conf, проверяем там пароль - вот он-то как раз и пишется в базу, должен совпадать с тем что в конфиге текстовом
ss_ #
09:44
secret эта строка? или pm_data_secret?
inoyat_kayumov #
09:44
первая
ss_ #
09:45
там я прописал noc
inoyat_kayumov #
09:45
а в текстовом конфиге?
ss_ #
09:46
Получается название параметра secret в текстовом поле noc а дальше thesecretkey
09:46
что есть thesecretkey?
09:47
в текстовом тоже noc
inoyat_kayumov #
09:47
просто пример пароля - вот он и должен совпадать и в базе и в тексте
ss_ #
09:47
cat /opt/noc/etc/noc-activator.conf |grep secret
09:47
secret = noc
inoyat_kayumov #
09:48
через веб его задайте - чтобы в базу попал
ss_ #
09:49
он уже там, сейчас кое что нашел, поправлю перезапущу и скажу
09:49
14239 ? S 0:00 /usr/bin/python ./scripts/noc-activator.py launch -c etc/noc-activator.conf -i 0
inoyat_kayumov #
09:50
а в лог сейчас как гадит? активатор
ss_ #
09:51
имя юзера в noc-launcher.conf в секции активатора поставил не то
09:51
в букве ошибся
inoyat_kayumov #
09:51
ну там рута надо - иначе трапы не словите
ss_ #
09:52
у меня noc
09:52
имя пользователя созданого для этой системы
inoyat_kayumov #
09:53
дойдете до ловли трапов - смените :) ну или грязным хаком через редирект портов - на форуме поищите тему
ss_ #
09:53
может сразу, если подскажете?
09:53
просто прописывать рута?
inoyat_kayumov #
09:53
да
09:53
для активатора\
ss_ #
09:53
только для него?
inoyat_kayumov #
09:54
да
ss_ #
09:55
вроде запустился, inoyat_kayumov спасибо!
inoyat_kayumov #
09:55
не за что совсем
ss_ #
09:55
начнем изучать дальше, вашими устами да документацию бы писать ;)
inoyat_kayumov #
09:57
пока наверное нет смысла - только мелкие доки по установке
ss_ #
10:02
с первой весёлой частью разобрался, теперь вопрос по Home Configuration Management Configs config/KANASH-C2950
10:03
Push Every (secs): и Pull Every (secs):
10:03
что есть каждое?
dvolodin #
10:05
pull every - периодичность опроса
ss_ #
10:07
Push Every что значит?
dvolodin #
10:08
ничего, не используется
ss_ #
10:13
Спасибо!
dvolodin #
10:17
заработало?
ss_ #
10:19
Да, первые пункты которые хотел от этой системы работают
10:20
1. Хотел массовое применнение каких либо команд к группе железа.
10:20
2. Хотел централизованное сохранение конфигов со всего железа, а это под полтыши железок
dvolodin #
10:21
это есть все
ss_ #
10:21
Оно даже у меня заработало, спасибо!
10:21
Есть вопрос, по какой схеме дергается конфиг с железки?
10:22
по телнету snmp?
dvolodin #
10:23
telnet/ssh
ss_ #
10:25
т.е. правило для своего хитрого железа написать не проблема?
10:25
в каком месте они хранятся, не ткнете носом?
dvolodin #
10:32
sa/profiles/
10:32
конфиг выдирается скриптами get_config
ss_ #
10:36
Спасибо будем разбираться
dvolodin #
10:37
http://redmine.nocproject.org/projects/noc/wiki/DevelopersCorner
zi_rus #
10:40
на циске run command в каком режиме выполняется?
dvolodin #
10:44
enable
zi_rus #
10:46
ок
dvolodin #
10:48
http://redmine.nocproject.org/projects/noc/repository/entry/sa/profiles/Cisco/IOS/get_config.py
10:50
там ничего сложного
ss_ #
10:55
так то да. Есть вопрсы
10:56
если после енабле нужно еще конф терм сделать?
10:56
и енабле без пароля
10:56
+ есть имя и пароль на вход, а не просто пароль
dvolodin #
10:56
не надо ничего делать :)
ss_ #
10:57
у меня есть железки Huawei MA5605
dvolodin #
10:57
sa/profiles/Cisco/IOS/add_vlan.py как пример
10:57
VRP на них вроде был
10:57
это BRAS
ss_ #
10:57
Это малопортовые DSLAM,
dvolodin #
10:57
а
ss_ #
10:57
у браса консолька другая
dvolodin #
10:57
можно посмотреть профиль Huawei.VRP
ss_ #
10:57
а у этих дсламов строго
dvolodin #
10:57
и взять за основу
ss_ #
10:58
вот сейчас как раз смотрю
dvolodin #
10:58
если там другая система - нужно сделать новый профиль
10:58
нужно __init__.py, где описание особенностей
10:59
и get_version c get_config для начала
zi_rus #
11:28
почему prefix-list builder для некоторых АС пишет в конце le 32, а для некоторых нет?
dvolodin #
11:31
правильно пишет
11:31
если префикс-лист не оптимизировался, то строгий match
11:31
если оптимизировался, то размер маски четко не определен
zi_rus #
11:32
понятно
dvolodin #
11:33
тут уже tradeoff
11:33
между точностью и размером
zi_rus #
11:36
что-то тут не так
11:36
ip prefix-list ttknn permit 89.184.16.0/23 le 32
11:36
ip prefix-list ttknn permit 89.184.18.0/23 le 32
11:36
ip prefix-list ttknn permit 89.184.20.0/22 le 32
11:36
ip prefix-list ttknn permit 89.184.24.0/21 le 32
11:39
раз le32 значит оптимизировалось? но 89.184.16.0/21 как раз
11:39
или я не прав?
11:39
вернее /20
dvolodin #
11:40
дырка там
zi_rus #
11:40
в упор не вижу
11:41
что вылетает?
dvolodin #
11:41
это весь префикс-лист?
11:50
threshold подкрути
zi_rus #
11:54
не весь там дохрена всего, больше я видел только когда сгенерил сегодня для ростелекома
12:06
или вот
12:06
ip prefix-list ttknn permit 46.52.128.0/22 le 32
12:06
ip prefix-list ttknn permit 46.52.134.0/23 le 32
12:06
ip prefix-list ttknn permit 46.52.136.0/24 le 32
12:06
ip prefix-list ttknn permit 46.52.138.0/23 le 32
12:06
ip prefix-list ttknn permit 46.52.140.0/22 le 32
12:06
ip prefix-list ttknn permit 46.52.144.0/21 le 32
12:06
из той же оперы
12:07
такое ощущение что он видит что можно оптимизировать но не делает этого
dvolodin #
12:13
мало префиксов?
zi_rus #
12:13
нет, я же говорю, префикс лист на 2 экрана длиной
12:14
или он суммирует, только если число суммируемых префиксов превышает тот предел?
dvolodin #
12:15
проверю
12:15
интерактивным билдером делаешь?
zi_rus #
12:18
нет, через шедулер
12:25
dvolodin, вот только что узнал, у нас есть пир, по базе ripe за ним числится 1 префикс, но от него мы получаем 2 префикса, второй префикс ему выделил другой провайдер, и мы должны принимать этот второй префикс. внимание, вопрос!
12:25
это можно как-то учесть?
dvolodin #
12:25
все нормально 46.52.137.0/24 нет
12:26
с какой AS он его анонсирует?
zi_rus #
12:26
своей
dvolodin #
12:26
ну так пиши его AS
zi_rus #
12:26
8623
dvolodin #
12:26
если все правильно он прописал - выберет длва префикса
zi_rus #
12:27
94.25.78.0/24 вот он второй префикс
12:27
и боюсь оно может быть не последним
dvolodin #
12:28
да какая разница
12:28
если origin у него правильный, получишь все префиксы
zi_rus #
12:28
про 46.52.137.0/24. возможно, тут я уже на глаз просто, но в первом случае точно должно просуммироваться
12:28
как так
12:29
я на входе посталю префикс лист с одним префиксом, как он его пройдет?
ss_ #
12:31
еще вопрос по самописному методу получения конфига
12:32
name="Huawei.MA5605"
12:32
supported_schemes=[TELNET,SSH]
12:32
pattern_more="^--More(Enter: next line, spacebar: next page, any other key: quit)--"
12:32
pattern_prompt=r"^[<#]\S+?[>#]"
12:32
command_more=" "
12:32
config_volatile=["^%.*?$"]
12:32
command_disable_pager="screen-length 0 temporary"
12:32
на дслам ходится по логину паролю
12:32
далее енабле без пароля, далее конф терм и уже потом шов руннинг
12:33
преведуший вывод из этого файла /opt/noc/sa/profiles/Huawei/MA5605/__init__.py
12:33
import noc.sa.script
12:33
from noc.sa.interfaces import IGetConfig
12:33
class Script(noc.sa.script.Script):
12:33
name="Huawei.MA5605.get_config"
12:33
implements=[IGetConfig]
12:33
def execute(self):
12:33
config=self.cli("configure terminal")
12:33
config=self.cli("show running-config")
12:33
## config=self.cli("display current-configuration")
12:33
return self.cleaned_config(config)
12:33
а это уже /opt/noc/sa/profiles/Huawei/MA5605/get_config.py
12:33
правильно двигаюсь?
12:38
а как сделать так чтобы новы профиль появился в веб морде?
zi_rus #
12:55
dvolodin, так есть какие-нибудь варианты добалять свои записи в префикс-листы?
dvolodin #
13:02
conf t ему не нужен
13:03
command_enter_config и command_exit_config
13:03
а в скрипте
13:03
with self.configure():
13:03
zi_rus: минуя базу RIPE?
zi_rus #
13:04
вместе с базой
13:04
вот он создал список, а я хочу еще какие-то сети в него добавить
13:04
или наоборот какие-то сети из него исключить
13:05
если понадобится
13:10
без этой возможности, к сожалению, придется пользоваться rtconfig, а очень не хочется расползаться на кучу приложений, когда тоже самое может делать нок
dvolodin #
13:13
я думал уже на тему выражений в фильтрах
13:14
надо будет сделать
13:14
хотя это явно не там должно быть
13:17
ты что именно пишешь там?
zi_rus #
13:17
в смысле?
dvolodin #
13:21
какое именно выражение в rtconfig
13:21
proposals мне нужно, короче
13:21
что доработать и как
zi_rus #
13:22
собственно
13:22
@RtConfig printPrefixes "ip prefix-list TEST permit %p/%l ge %n le %m\n" filter AS-TTKNN
13:23
но это тестовая версия
13:23
зато я всегда во входном файлике могу еще дописать
13:23
вместо переменных, нужные мне сети
dvolodin #
13:24
пока ты пишешь то, что можно и в NOC
zi_rus #
13:24
я понимаю
13:25
но там могу написать "ip prefix-list TEST permit 1.1.1.0/24"
dvolodin #
13:25
тут еще важный момент есть
13:25
ты-то напишешь
13:25
а твои пиринг-партнеры - нет
13:25
:)
zi_rus #
13:25
как бы я на входе фильтрую
dvolodin #
13:26
да
zi_rus #
13:26
пусть пишут что хотят, но я приму только то что захочу
dvolodin #
13:26
а они у себя на входе зафильтруют нафиг
13:26
я не про это
13:26
при попытке пропустить транзитом этот креатив его просто порежут
zi_rus #
13:27
у нас приватный пиринг, объявляются только свои сети и сети клиентов
13:27
в мир эти префиксы не уходят
13:28
и ни каким другим пирам тоже
13:30
все жестко зафильтровано, на входе все маршруты метятся комьюнити и запрещаются на всех остальных сессиях
dvolodin #
13:30
а у кого это не так?
13:30
:)
zi_rus #
13:31
ну какой тут транзит
dvolodin #
13:31
если ты клиентские префикс кривой пропустишь
13:31
да и обычно это немного по другому делается
13:31
route map
zi_rus #
13:32
роут-мап - это роут-мап
dvolodin #
13:32
первыми правилами - что удалить, что дополнительно пропустить, разные вариации localpref
13:32
последнее правило - дефолтная фильтрация
13:32
где этот prefix-list и используешь
zi_rus #
13:32
это неудобно
dvolodin #
13:32
на junos, надо сказать, сильно прямее это делается
13:33
когда пиров много и подстроек много - так гораздо удобнее
zi_rus #
13:33
на каждого клиента приходится городить свой роут-мап
13:33
а так на каждого свой префикс лист и общий роут-мап
dvolodin #
13:33
тебе и так придется городить
13:34
например, в конкретном пире какой-то префикс ты хочешь принять, но немного придавить
13:34
или наоборот, поднять
zi_rus #
13:35
это все само-собой, кому-то надо кому-то нет, у нас нормальных пиров по пальцам одной руки
dvolodin #
13:35
у нас для пиров обычно так было
13:35
цепочка на import
13:36
первое правило - фильтрация по префикс-листу
13:36
потом два - раскраска по типу пира и по географии
zi_rus #
13:36
а теперь ход конем
dvolodin #
13:37
потом поднятые / придавленные префиксы
13:37
и в конце - прием того, что осталось с дефолтными значениями
13:37
выход фильтровался строго по раскраске
zi_rus #
13:37
это все понятно у нас примерно также, сам буквально пару недель назад приводил это в божеский вид, все как ты расписал
13:38
только первое правило, которое ты называешь было решено вынести в отдельный лист который вешается на входе
13:38
все остальное абсолютно тоже самое
13:39
но все это не избавляет от проблемы вот с таким корявым пиром как я описал
dvolodin #
13:39
в junos немного подход другой
13:39
ну да, корявый пир, лепишь твик на отдельный префикс
13:41
только на киске сносишь его с neighbor .... prefix-list в route-map
13:41
киска вообще по части BGP - ночной кошмар
13:41
хватит с меня GSR'а с полусотней пиров
zi_rus #
13:43
у нас сетка маленькая
13:43
200-300 узлов
13:45
жуниперы это жирно
_4ePTeHok #
13:46
жуниперы тоже разные
dvolodin #
13:46
да ладно
13:46
MX80 дешевле грязи нынче
_4ePTeHok #
13:47
порты там недешевы)
dvolodin #
13:47
4 десятки за 60k$ JPL это недешево?
zi_rus #
13:47
на мое недавнее предложение посмотреть жунипер, мне было сказано - оно для магистралов и не надо плодить зоопарк на сети
_4ePTeHok #
13:47
десятки не всем нужны.
dvolodin #
13:48
тем более
13:48
там есть бандлы софтварно зажатые до 5G
13:48
5 гиговых портов включено
13:48
вообще копейки стоят
13:48
zi_rus: зоопарк плодить не надо, особенно если ради одной железки
13:49
MX80 как бы совсем не для магистралов :)
_4ePTeHok #
13:49
)
zi_rus #
13:49
у нас вся сеть на цисках, так что вот
dvolodin #
13:50
ну а потом, ладно, есть железки по мотивам немецких диафильмов
13:50
MX5, MX10, MX40
_4ePTeHok #
13:50
для бгп имхо лучше жунипер...особенно если речь об fullview.
dvolodin #
13:51
juniper, на худой конец foundry/brocade
_4ePTeHok #
13:52
угу, засматривались на mlx серию
zi_rus #
13:52
dvolodin, ну так что-нибудь можно сделать с префикс-листами или peering management откладывать подальше?
dvolodin #
13:54
mlx это чересчур круто
13:54
там, кстати, порты недешевы, да :)
13:54
zi_rus: много сейчас исключений?
zi_rus #
13:55
я сегодня начал
13:55
это первый
13:55
есть подозрения на второго
13:55
пока проверяю
dvolodin #
13:55
проверь пока
13:56
и пиши пожелалку, подумаю
13:56
уж что-то, а добавить/придавить несколько префиксов - сделать совсем несложно
zi_rus #
13:56
ок
dvolodin #
13:57
тем более тебе как раз добавить надо
13:57
сделаем, если что, пока текстовое поле в пире с дополнительными префиксами
_4ePTeHok #
13:59
dvolodin, mlx-4 очень даже ничего для небольших сетей.
dvolodin #
13:59
не спорю
_4ePTeHok #
14:05
Дим, по задачкам когда поглядишь? а то там скопилось уже прилично(
dvolodin #
14:06
там MIB'ы смотреть надо
_4ePTeHok #
14:30
ну вот касательно ежей и CPU - трапы там swCpuUtiFallingNotification/swCpuUtiRisingNotification.
Tweet
Share this page
Share this page: Tweet