nocproject.org
04:59
дружно правим get_interfaces
04:59
для Cisco.IOS, Juniper.JUNOS, Force10.FTOS и Vyatta я поправил уже
06:01
как в питоне можно отсортировать список префиксов
06:01
попроси сделать это базу
06:01
зачем самому заниматься онанизмом?
06:04
смотря как ты его получаешь, но вообще, если делаешь сам через Prefix.objects.filter, то есть там такой метод, как order_by
06:04
Entry.objects.filter(pub_date__year=2005).order_by('-pub_date', 'headline')
06:04
как пример
06:05
спасибо, попробую
06:07
то что нужно
06:07
спасибо
06:21
запятая
06:21
трейсбэк неполный, почему вылез мы не знаем
06:24
там по итогу потом надо будет еще 3 индекса на db.noc.subinterfaces грохнуть
06:28
dvolodin, что-то с пинговалкой опять не то творится
06:28
сегодня заметил
06:28
tcpdump icmp молчит как рыба об лед
06:28
рестартнул нок - побежало
06:35
dvolodin, ничего, ни у активатора ни у sae ни слова
06:35
просто перестал пинговать?
06:35
ну да
06:36
я поставил сегодня на утро ребут двух каталистов
06:36
они бутнулись а нок не заметил
06:36
стал проверять
06:36
а он вообще никого не пингует
06:36
странно
06:36
а event'ы принимает?
06:37
надо половить варианты с попыткой пинга и получением Host/Net unreachable
06:37
или с упавшим интерфейсом
06:37
с которого пинг идет
06:39
интерфейс не падал
06:40
на недоступные лупбеки у меня unreach не приходят
06:40
ивенты вроде принимал
06:42
хотя сейчас что-то не хочет
06:42
я вижу что в сети было событие link up
06:42
а нок его не видит
06:48
06:48
как это победить?
06:48
dvolodin, не знаю, связано ли, но нок опять не убивает при стопе свои демоны
06:50
еще круче, их не убивает даже killall python
06:58
в syscall они висят значит
07:01
и...
07:01
как их пристрелить то
07:01
заняли
07:02
они придут за тобой и съедят тебя
07:02
теперь нормальные процессыне могут слушать на портах
07:22
а в ноке по адресу можно выдернуть префикс в котором он находится?
07:22
в базе будет parent
07:23
да вот смотрю, не вижу такого
07:23
а вот увидел
07:25
а я ведь могу через noc shell работать как с обычным питоном, открывать файлы и прочее?
07:25
да это обычный питон
07:25
можешь, мы не возражаем
07:26
zi_rus, поставь на хост ipython
07:26
шел станет веселее
07:26
джанго с ними дружит и если он есть юзает его
07:29
freeseacher, это вообще что и для чего?
07:29
просто понять, может действительно нужная вещь
07:30
это чуток более удобный интерпретатор
07:31
сможешь сохранять сессию в скрипт питоновский, смотреть какие переменные есть, много удобств
07:32
вы как-то неправильно отвечаете на вопрос
07:32
это программа которая ставится на мою рабочую машину?
07:33
вопрос был "что и для чего"
07:33
ну смысл вопроса, что она даст, в чем преимущество перед сидением по ssh в noc shell
07:33
что - более удобный интерпретатор. Для чего - сможешь сохранять сессию в скрипт, просматривать переменные и т.п.
07:33
Помнится мне, ранее поднималась тема про конфигуратор для оборудования. кто-то делал у себя такое?
07:33
ставить на сервер с нок
07:34
просматривать переменные я и так могу
07:34
print a Ж)
07:34
а посмотреть какие переменные завел тоже можешь?
07:37
не сказал бы что страдаю без этого
07:42
zi_rus, хост!=локалхост
07:43
если ставить на noc, значит на сервер, если не на сервер значит на локалхост
08:10
а как в питоне сказать чтобы он начал следующую итерацию в цикле, а не продолжал исполнять дальше?
08:12
нашел
08:18
не пойму только как бороться с
08:18
atabaseError: current transaction is aborted, commands ignored until end of transaction block
08:35
это да
08:36
еще бы нок автоматически обновлял поля которые заполнил дискавери
08:36
вроде fqdn или description
08:37
если заполнено руками, то не трогать, если отдискаверил, то автообновлять
08:55
dvolodin, ты вот что скажи, во всех примерах что я вижу, скрипту или сниппету определяется набор устройств где надо отработать, а как сделать так чтобы набор железок определялся внутри этого скрипта/сниппета
08:55
zi_rus: такого не предусмотрено
08:56
я даже не очень представляю себе, как это выглядеть будет
08:56
если у тебя сниппет пускает внешняя система -- то она явно может указать, на какой железке выполняться
09:08
ну сниппет да, а если срипт, новое приложение, тоже не предусмотрено?
09:09
я хочу запустить приложение, передать несколько параметров, и по параметрам оно должно само определить где произвести исполнение
09:57
а как оно определит, какие железки ему нужны?
10:09
dvolodin: он говорит про SAApplication
10:15
zi_rus явно делает какое-то шайтанство
10:16
пытается заставить NOC работать вместо себя :)
10:16
dvolodin, оно определит, это его задача. конечно хочу
10:16
для этого и пишется
10:16
ты дошел до автоматизации процессов :)
10:16
чтобы сначала определить, потом отрубить
10:16
да
10:17
столько времени отнимает
10:17
процессы все-таки -- это workflow
10:17
ну что у вас за привычка, подбивать меня в пятницу на написание фундаментальных систем :)
10:18
не пиши
10:18
пиши в субботу, когда на дачу к уточке приедешь, она поможет
10:18
;)
10:18
лед в пруду колотить надо
10:19
да и в пруд лезть пока еще морозно
10:19
аааа... точно
10:19
город-корнеплод еще во льдах...
10:19
а до пруда еще -- снег разгрести
10:19
да не
10:19
в городе у нас уже плюс, но снег еще лежит
10:20
а у нас жара... ;))
10:20
на самом деле zi_rus не хватает концепции пулов
10:20
у нас снега уже почти месяц как нет. А +20 буквально дня три
10:20
в которых можно резервировать и забирать ресурсы
10:21
mikevlz|2, сосед, вилдаить ;))
10:23
dvolodin, если бы я знал чего мне так не хватает, а ты оказывается лучше меня знаешь, я даже не знал что мне не хватает именно этого
10:23
:)
10:23
ну смотри, если мы берем обычный ШПД, то для подключения абонента нам надо
10:24
BRAS, входящий интерфейс на BRAS, S-vlan/VPI, C-vlan/VCI, порт на свиче/DSLAM
10:25
BRAS и его интерфейс - вычисляются по адресу
10:25
клиента
10:25
вот это да, это мне надо, но то что я просил мне надо не для этого
10:25
S-VLAN -- в общем-то аттрибут коммутатора
10:25
хотя для этого тоже надо будет
10:25
C-vlan -- берется из пула
10:26
порт -- тоже
10:29
а чем закончилась (?) история с базой адресов?
10:29
Unbeerable: думаю над ней
10:30
а от общества что-нибудь нужно в этом направлении?
10:30
я помню было обсуждение драфта в блоге
10:30
на самом деле, чего я хочу, это ввести идентификаторы клиентов, которые не оплатили, найти их в нок, на руках у меня будет mo name и interface. собственно хочу чтобы нок нашел всех и заблокировал
10:31
с дебиторкой, значит, боремся?
10:31
эээ
10:31
мы и так это делаем
10:31
только руками
10:31
а нок мог бы это сам делать
10:31
ээ.. это уже вроде как, задача биллинга. не?
10:32
биллинг нам только выдает список тех кого надо отрубить
10:32
а мы ручками все
10:32
вопрос еще что я руками буду в нок передавать неплательщиков
10:33
а у вас клиенты не авторизуются в радиусе, например? как и у нас - сабинтерфейс 30я маска? :)
10:33
но это не так плохо как есть сейчас
10:33
а ты не хочешь сделать отдельный скрипт?
10:33
дополнительное поле в Interfaces, в которое вбить эти идентификаторы?
10:33
сниппет можно же и из питона пустить
10:33
dvolodin, в смысле отдельное SA приложение?
10:33
смотри sa/apps/runsnippet/views.py
10:34
либо отдельное приложение
10:34
ну я пытаюсь это сделать
10:34
которое возьмет параметры, запустит сниппет там, где надо
10:34
пробую плясать от run command
10:34
zi_rus: как биллинг выдает неплательщиков? выгрузка какая-то в CSV или как?
10:35
какой срок реакции на требование отключить?
10:35
mikevlz|3, приходит письмо что определены неплательщики, мы идем, открываем веб интерфейс биллинга, и идем по списку
10:35
mikevlz|3, в принципе сутки
10:35
на самом деле это можно будет обсудить
10:36
но не сейчас, я ноковскую часть сначала реализую
10:36
dvolodin, вот я открыл скрипт run_command и честно говоря не понял, в каком месте определяется список МО, могу ли я его передать
10:37
могу ли я по каждому МО сформировать список команд и отправить на исполнение
10:37
например
10:38
клиент А
10:38
ищем в ИПАМ (там у меня уже все есть
10:38
zi_rus: можешь, но по-своему...
10:38
МО = ФФФ, интерфейс = Fa0/1
10:38
на ФФФ надо выполнить conf t int fa0/1 shut
10:39
в ReduceTask в параметр object_selector можно дать список managed object'ов
10:39
или просто имя managed object'а
10:40
до меня туго доходит, я не понял
10:40
10:40
смотри секцию про pyRule
10:42
строка с упоминанием ReduceTask - это вызов MRT из питон-скрипта. Только писать этот скрипт надо не в сниппетах.
10:43
Технически, берешь эту пирулю за основу, добавляешь туда чтение из файла. суешь ее в планировщик. В файл вбиваешь должников.
10:43
хм
10:43
но это такая вещь
10:44
пируля должна прочитать файл с должниками, выдрать из базы все, что надо, вырубить интерфейсы, которые надо
10:44
отправить отчет о результатах
10:44
а как на счет отчета
10:44
импортируешь system notification, шлешь отчет
10:44
в стандартных пирулях есть пример
10:44
покурю этот вариант
11:13
изменениями в get_interfaces мы discovery не поломали?
11:58
dvolodin,
11:58
UNHANDLED EXCEPTION (2013-04-05 16:05:10.953728)
11:58
Working directory: /opt/noc
11:58
<class 'mongoengine.queryset.InvalidQueryError'>
11:58
Cannot resolve field "is_bridge"
11:58
START OF TRACEBACK
11:59
когда смотришь список интервейсов у вланов
Share this page
Share this page: