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: 05.04.2013
dvolodin #
04:59
дружно правим get_interfaces
04:59
для Cisco.IOS, Juniper.JUNOS, Force10.FTOS и Vyatta я поправил уже
Skripnik_A #
05:08
Уже правим
zi_rus #
06:01
как в питоне можно отсортировать список префиксов
mikevlz|3 #
06:01
попроси сделать это базу
06:01
зачем самому заниматься онанизмом?
zi_rus #
06:01
mikevlz|3, а как?
mikevlz|3 #
06:04
смотря как ты его получаешь, но вообще, если делаешь сам через Prefix.objects.filter, то есть там такой метод, как order_by
zi_rus #
06:04
через фильтр да
mikevlz|3 #
06:04
Entry.objects.filter(pub_date__year=2005).order_by('-pub_date', 'headline')
06:04
как пример
zi_rus #
06:05
спасибо, попробую
06:07
то что нужно
06:07
спасибо
e_zombie #
06:16
,
mikevlz|3 #
06:21
запятая
06:21
трейсбэк неполный, почему вылез мы не знаем
dvolodin #
06:24
там по итогу потом надо будет еще 3 индекса на db.noc.subinterfaces грохнуть
zi_rus #
06:28
dvolodin, что-то с пинговалкой опять не то творится
06:28
сегодня заметил
06:28
tcpdump icmp молчит как рыба об лед
06:28
рестартнул нок - побежало
dvolodin #
06:33
в логах что?
zi_rus #
06:35
dvolodin, ничего, ни у активатора ни у sae ни слова
dvolodin #
06:35
просто перестал пинговать?
zi_rus #
06:35
ну да
06:36
я поставил сегодня на утро ребут двух каталистов
06:36
они бутнулись а нок не заметил
06:36
стал проверять
06:36
а он вообще никого не пингует
dvolodin #
06:36
странно
06:36
а event'ы принимает?
06:37
надо половить варианты с попыткой пинга и получением Host/Net unreachable
06:37
или с упавшим интерфейсом
06:37
с которого пинг идет
zi_rus #
06:39
интерфейс не падал
06:40
на недоступные лупбеки у меня unreach не приходят
dvolodin #
06:40
проверить надо
zi_rus #
06:40
ивенты вроде принимал
06:42
хотя сейчас что-то не хочет
06:42
я вижу что в сети было событие link up
06:42
а нок его не видит
Skripnik_A #
06:48
<dvolodin>, пытаюсь выложить тушенку, а мне выдает вот такое http://pastebin.com/8SVgwT73
06:48
как это победить?
zi_rus #
06:48
dvolodin, не знаю, связано ли, но нок опять не убивает при стопе свои демоны
06:50
еще круче, их не убивает даже killall python
dvolodin #
06:58
в syscall они висят значит
zi_rus #
07:01
и...
07:01
как их пристрелить то
07:01
заняли
mikevlz|3 #
07:02
они придут за тобой и съедят тебя
zi_rus #
07:02
теперь нормальные процессыне могут слушать на портах
e_zombie #
07:16
http://www.opennet.ru/opennews/art.shtml?num=36588
zi_rus #
07:22
а в ноке по адресу можно выдернуть префикс в котором он находится?
mikevlz|3 #
07:22
вроде да
freeseacher #
07:22
в базе будет parent
mikevlz|3 #
07:22
посмотри модель
freeseacher #
07:22
parent_id
zi_rus #
07:23
да вот смотрю, не вижу такого
07:23
а вот увидел
07:25
а я ведь могу через noc shell работать как с обычным питоном, открывать файлы и прочее?
freeseacher #
07:25
да это обычный питон
mikevlz|3 #
07:25
можешь, мы не возражаем
freeseacher #
07:26
zi_rus, поставь на хост ipython
07:26
шел станет веселее
07:26
джанго с ними дружит и если он есть юзает его
zi_rus #
07:29
freeseacher, это вообще что и для чего?
07:29
просто понять, может действительно нужная вещь
mikevlz|3 #
07:30
это чуток более удобный интерпретатор
07:31
сможешь сохранять сессию в скрипт питоновский, смотреть какие переменные есть, много удобств
zi_rus #
07:32
вы как-то неправильно отвечаете на вопрос
07:32
это программа которая ставится на мою рабочую машину?
mikevlz|3 #
07:33
вопрос был "что и для чего"
zi_rus #
07:33
ну смысл вопроса, что она даст, в чем преимущество перед сидением по ssh в noc shell
mikevlz|3 #
07:33
что - более удобный интерпретатор. Для чего - сможешь сохранять сессию в скрипт, просматривать переменные и т.п.
Skripnik_A #
07:33
Помнится мне, ранее поднималась тема про конфигуратор для оборудования. кто-то делал у себя такое?
mikevlz|3 #
07:33
ставить на сервер с нок
zi_rus #
07:34
чем более удобный
mikevlz|3 #
07:34
habr: ipython
zi_rus #
07:34
просматривать переменные я и так могу
07:34
print a Ж)
mikevlz|3 #
07:34
а посмотреть какие переменные завел тоже можешь?
zi_rus #
07:35
нет
mikevlz|3 #
07:36
а там сможешь
zi_rus #
07:37
не сказал бы что страдаю без этого
freeseacher #
07:42
zi_rus, хост!=локалхост
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
dvolodin #
08:27
zi_rus: continue
zi_rus #
08:35
это да
08:36
еще бы нок автоматически обновлял поля которые заполнил дискавери
08:36
вроде fqdn или description
08:37
если заполнено руками, то не трогать, если отдискаверил, то автообновлять
08:55
dvolodin, ты вот что скажи, во всех примерах что я вижу, скрипту или сниппету определяется набор устройств где надо отработать, а как сделать так чтобы набор железок определялся внутри этого скрипта/сниппета
dvolodin #
08:55
zi_rus: такого не предусмотрено
08:56
я даже не очень представляю себе, как это выглядеть будет
08:56
если у тебя сниппет пускает внешняя система -- то она явно может указать, на какой железке выполняться
zi_rus #
09:08
ну сниппет да, а если срипт, новое приложение, тоже не предусмотрено?
09:09
я хочу запустить приложение, передать несколько параметров, и по параметрам оно должно само определить где произвести исполнение
dvolodin #
09:57
а как оно определит, какие железки ему нужны?
mikevlz|3 #
10:09
dvolodin: он говорит про SAApplication
dvolodin #
10:15
zi_rus явно делает какое-то шайтанство
10:16
пытается заставить NOC работать вместо себя :)
zi_rus #
10:16
dvolodin, оно определит, это его задача. конечно хочу
10:16
для этого и пишется
dvolodin #
10:16
ты дошел до автоматизации процессов :)
zi_rus #
10:16
чтобы сначала определить, потом отрубить
10:16
да
10:17
столько времени отнимает
dvolodin #
10:17
процессы все-таки -- это workflow
10:17
ну что у вас за привычка, подбивать меня в пятницу на написание фундаментальных систем :)
mikevlz|3 #
10:18
не пиши
10:18
пиши в субботу, когда на дачу к уточке приедешь, она поможет
10:18
;)
dvolodin #
10:18
лед в пруду колотить надо
10:19
да и в пруд лезть пока еще морозно
mikevlz|3 #
10:19
аааа... точно
10:19
город-корнеплод еще во льдах...
dvolodin #
10:19
а до пруда еще -- снег разгрести
mikevlz|3 #
10:19
это у нас уже +20
dvolodin #
10:19
да не
10:19
в городе у нас уже плюс, но снег еще лежит
MindGames #
10:20
а у нас жара... ;))
dvolodin #
10:20
на самом деле zi_rus не хватает концепции пулов
mikevlz|3 #
10:20
у нас снега уже почти месяц как нет. А +20 буквально дня три
dvolodin #
10:20
в которых можно резервировать и забирать ресурсы
MindGames #
10:21
mikevlz|2, сосед, вилдаить ;))
zi_rus #
10:23
dvolodin, если бы я знал чего мне так не хватает, а ты оказывается лучше меня знаешь, я даже не знал что мне не хватает именно этого
dvolodin #
10:23
:)
10:23
ну смотри, если мы берем обычный ШПД, то для подключения абонента нам надо
zi_rus #
10:24
денег?
dvolodin #
10:24
BRAS, входящий интерфейс на BRAS, S-vlan/VPI, C-vlan/VCI, порт на свиче/DSLAM
10:25
BRAS и его интерфейс - вычисляются по адресу
10:25
клиента
zi_rus #
10:25
вот это да, это мне надо, но то что я просил мне надо не для этого
dvolodin #
10:25
S-VLAN -- в общем-то аттрибут коммутатора
zi_rus #
10:25
хотя для этого тоже надо будет
dvolodin #
10:25
C-vlan -- берется из пула
10:26
порт -- тоже
zi_rus #
10:28
завершай мысль
Unbeerable #
10:29
а чем закончилась (?) история с базой адресов?
dvolodin #
10:29
Unbeerable: думаю над ней
Unbeerable #
10:30
а от общества что-нибудь нужно в этом направлении?
10:30
я помню было обсуждение драфта в блоге
zi_rus #
10:30
на самом деле, чего я хочу, это ввести идентификаторы клиентов, которые не оплатили, найти их в нок, на руках у меня будет mo name и interface. собственно хочу чтобы нок нашел всех и заблокировал
dvolodin #
10:31
с дебиторкой, значит, боремся?
zi_rus #
10:31
эээ
10:31
мы и так это делаем
10:31
только руками
10:31
а нок мог бы это сам делать
MindGames #
10:31
ээ.. это уже вроде как, задача биллинга. не?
zi_rus #
10:32
биллинг нам только выдает список тех кого надо отрубить
10:32
а мы ручками все
10:32
вопрос еще что я руками буду в нок передавать неплательщиков
MindGames #
10:33
а у вас клиенты не авторизуются в радиусе, например? как и у нас - сабинтерфейс 30я маска? :)
zi_rus #
10:33
но это не так плохо как есть сейчас
dvolodin #
10:33
а ты не хочешь сделать отдельный скрипт?
mikevlz|3 #
10:33
дополнительное поле в Interfaces, в которое вбить эти идентификаторы?
dvolodin #
10:33
сниппет можно же и из питона пустить
zi_rus #
10:33
dvolodin, в смысле отдельное SA приложение?
dvolodin #
10:33
смотри sa/apps/runsnippet/views.py
10:34
либо отдельное приложение
zi_rus #
10:34
ну я пытаюсь это сделать
dvolodin #
10:34
которое возьмет параметры, запустит сниппет там, где надо
zi_rus #
10:34
пробую плясать от run command
mikevlz|3 #
10:34
zi_rus: как биллинг выдает неплательщиков? выгрузка какая-то в CSV или как?
10:35
какой срок реакции на требование отключить?
zi_rus #
10:35
mikevlz|3, приходит письмо что определены неплательщики, мы идем, открываем веб интерфейс биллинга, и идем по списку
mikevlz|3 #
10:35
хренова =)
zi_rus #
10:35
mikevlz|3, в принципе сутки
mikevlz|3 #
10:35
гадя петрович
zi_rus #
10:35
на самом деле это можно будет обсудить
10:36
но не сейчас, я ноковскую часть сначала реализую
10:36
dvolodin, вот я открыл скрипт run_command и честно говоря не понял, в каком месте определяется список МО, могу ли я его передать
10:37
могу ли я по каждому МО сформировать список команд и отправить на исполнение
10:37
например
10:38
клиент А
10:38
ищем в ИПАМ (там у меня уже все есть
mikevlz|3 #
10:38
zi_rus: можешь, но по-своему...
zi_rus #
10:38
МО = ФФФ, интерфейс = Fa0/1
dvolodin #
10:38
тебе и не надо
zi_rus #
10:38
на ФФФ надо выполнить conf t int fa0/1 shut
dvolodin #
10:39
в ReduceTask в параметр object_selector можно дать список managed object'ов
10:39
или просто имя managed object'а
zi_rus #
10:40
до меня туго доходит, я не понял
mikevlz|3 #
10:40
http://kb.nocproject.org/pages/viewpage.action?pageId=7766118
10:40
смотри секцию про pyRule
zi_rus #
10:41
уже интересней
mikevlz|3 #
10:42
строка с упоминанием ReduceTask - это вызов MRT из питон-скрипта. Только писать этот скрипт надо не в сниппетах.
zi_rus #
10:42
да я понимаю
mikevlz|3 #
10:43
Технически, берешь эту пирулю за основу, добавляешь туда чтение из файла. суешь ее в планировщик. В файл вбиваешь должников.
zi_rus #
10:43
хм
10:43
но это такая вещь
mikevlz|3 #
10:44
пируля должна прочитать файл с должниками, выдрать из базы все, что надо, вырубить интерфейсы, которые надо
10:44
отправить отчет о результатах
zi_rus #
10:44
а как на счет отчета
mikevlz|3 #
10:44
импортируешь system notification, шлешь отчет
zi_rus #
10:44
о как
mikevlz|3 #
10:44
в стандартных пирулях есть пример
zi_rus #
10:44
покурю этот вариант
dvolodin #
11:13
изменениями в get_interfaces мы discovery не поломали?
zi_rus #
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
dvolodin #
11:59
где такое?
zi_rus #
11:59
когда смотришь список интервейсов у вланов
dvolodin #
12:03
поправил
zi_rus #
12:04
подтверждаю
Tweet
Share this page
Share this page: Tweet