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: 18.09.2013
lexus-omsk #
02:37
присоединяюсь к тестированию sa-managedobject
02:58
долго же он импортировал репо...
03:42
dvolodin: обновился на ветку sa-managedobject - есть пара замечаний:
dvolodin #
03:42
каких?
lexus-omsk #
03:42
не нашёл возможности линковать / разлинковать интерфейсы вручную
03:42
и поиск в интерфейсах
03:43
когда много сабов очень выручал
dvolodin #
03:43
ok
03:44
по линкам пока не доделал
lexus-omsk #
03:44
и вопрос - нормально, что после миграции посыпались пустые письма с темой config has been changed?
dvolodin #
03:45
нет, не нормально
lexus-omsk #
03:45
хм... думал, это особенность миграции репо
dvolodin #
03:46
Линки, наверное, лучше в панели Links крутить
03:46
сделать кнопочки link и unlink
lexus-omsk #
03:48
ну да, логично... хотя если создаёшь новый линк - то как?
dvolodin #
03:48
кнопочка Add
lexus-omsk #
03:49
ну да тогда, просто добавится ещё один комбо с выбором локального интерфейса
freeseacher #
03:49
хай
03:50
потестил щас репу
03:50
очень хочется кнопку сравнить а не по выбору из списка
03:50
на аликовском конфиге вкладка солидно так подвисает
03:51
при нажатии на кнопку day/week/month с нехилой вероятностью генерятся фантомные правки. точного алгоритма пок ане понял
dvolodin #
03:52
freeseacher: как именно должна работать кнопка "сравнить" ?
freeseacher #
03:53
выбираешь две ревизии
03:53
нажимаешь сравнить
03:53
выбор из списка в данном случае не может быть действием
03:53
ибо отклик не быстрый
dvolodin #
03:56
сложно сказать
03:56
на juniper'овском конфиге на 12k строк все летает
03:56
лишнее действие
freeseacher #
03:56
эм
03:57
я просто сегодня оказался в ситуации с этими формачками когда я все уже выбрал
03:57
а никакого изменения на экране не произошло
03:57
в этот момент я не знал как действовать
03:57
быть может система чего то ждет или грузит
03:57
это никак не ясно
Unbeerab1e #
04:15
кстати, по поводу config has been changed
04:15
как можно сделать так, чтобы по одному из MO мне эти письма не летели?
04:15
а то бляха-муха при каждом перестроении ацл прилетают :)
freeseacher #
04:16
config diff filter
04:16
rfr hfp lkz 'njuj bpj,htkb
04:16
как раз для этого изобрели
Unbeerab1e #
04:30
круто
04:30
надо найти
freeseacher #
04:31
пируль это
04:31
примерв правда дать не могу
Unbeerab1e #
04:31
а, я думал штатные средства
freeseacher #
04:32
ну штатные средства как бы
04:32
но пируль то тебе писать :)
Unbeerab1e #
04:34
ох. всё же придётся мне познать, что это за чудо
freeseacher #
04:34
пируль ?
Unbeerab1e #
04:34
ну
freeseacher #
04:34
дык все ка кобычно просто :)
04:35
кусок кода на питоне
Unbeerab1e #
04:35
это уже не просто
freeseacher #
04:35
на входе дифф на выходе дифф без строк которые надо отправлять тебе.
04:35
если выход пустой слаться ничего не будет
Unbeerab1e #
04:36
так, а настраивается хотя бы это где?
04:36
полазил, не нашёл
freeseacher #
04:36
main -> setup -> pyrule
04:36
там оно пишется
Unbeerab1e #
04:36
а, оно централизованно в одном месте
freeseacher #
04:36
потом в свойстввах MO привяязывается к железяке
Unbeerab1e #
04:37
интерфейс IConfigDiffFilter
freeseacher #
04:37
dvolodin, у тя есть право менять топик ?
Unbeerab1e #
04:37
их же можно тестить как-то отдельно?
freeseacher #
04:37
да
04:38
прям качай pycharm и делай функцию
04:38
dvolodin, надо туда http://wombat.org.ua/AByteOfPython/frontpage.html добавить
Unbeerab1e #
04:38
ой
04:38
куда качать, откуда качать?
freeseacher #
04:39
pycharm это ide для разработки на питоне
04:39
очень клевая и новичкам сильно помогает
Unbeerab1e #
04:40
а есть какая-то дока по написанию пирулей?
04:40
откуда берётся инпут там, и т.д.
04:40
что доступно
04:40
какой-то шаблон что ли
04:40
ой. там же встроенные есть
freeseacher #
04:40
был.
04:40
шас не могу найти
04:44
Unbeerab1e, а ссылка чуть выше для тебя как раз :)
Unbeerab1e #
04:53
freeseacher, ну я уже открыл, да
04:53
но для пирулей же всё равно специфика ноковская нужна
freeseacher #
04:54
неа
Unbeerab1e #
04:54
ну как неа. вот у меня чистое поле редактора. из него я не узнаю, что нужно написать @pyrule
freeseacher #
04:54
из специфики надо что бы перед функцией была строка @pyrule
04:54
и все
Unbeerab1e #
04:54
ну вот
04:54
дальше во что мне поступает инпут
04:54
откуда его читать
04:55
или это уже нужно интерфейс читать
04:55
соответствующий
freeseacher #
04:55
он поступает тебе как кусок текста
Unbeerab1e #
04:56
ну мне же нужно к нему как-то обратиться
04:56
он мне поступает в виде какого-то параметра функции?
04:56
я про эти мелочи
04:57
буду сейчас сравнивать готовые пирули встроенные с их интерфейсами, чтобы уловить взаимосвязь
lexus-omsk #
05:00
ipam поломалсо немного... трейсит, когда тыкаешь на любой адрес
05:01
http://pastebin.com/5NJqnGy2
dvolodin #
05:17
да, вижу
05:18
это в sa-managedobject поломалось
05:18
делай issue
05:28
заменил его пока на обычный комбобокс
05:32
freeseacher: проблема с аликами в том, что долго строится diff?
05:33
нужно на это время отображать что-то вроде loading?
freeseacher #
05:33
чем бы мне тебе записать скринкаст
05:33
индикацию активного действия надо
05:33
у меня совсе мне быстрый сервер и по этому все может происходить долго.
05:34
впрочем сервер под нормальной нагрузкой будет вести себя так же
dvolodin #
05:36
он быстрее выдирается, чем из mercurial'а, или медленнее?
freeseacher #
05:42
у меня нет ответа на такой вопрос
05:49
"складывается впечатление" что медленно
05:49
ибо когда страница с дифом грузилась было понятно что грузится страница с дифом
05:49
а щас ничего не понятно :)
dvolodin #
05:50
а объективно?
freeseacher #
05:51
предлагаешь засечь ?
dvolodin #
05:51
неплохо было бы
05:51
бенчмарки меня сильно интересуют
freeseacher #
05:53
в новой интерфейсе на новой вкладке 7,65 секунды
dvolodin #
05:54
а в старом?
freeseacher #
05:54
на старом страницу увидел через 3,62 секунды
05:54
тот же самый конфиг
dvolodin #
05:54
ok
05:54
железо разное?
freeseacher #
05:54
только тут еще и список дифов
05:54
да
05:54
сильно разное
dvolodin #
05:59
а полная загрузка страницы с боевого сервера сколько идет?
freeseacher #
06:00
3,77
06:00
думаю это погрешность моей реакции
06:00
конфиг и там и там одинаковый
dvolodin #
06:01
размер какой?
freeseacher #
06:01
32793 строк на новом, 32817 на старом.
dvolodin #
06:02
ok
06:02
будем тюнить
07:06
в принципе, результат объясним
07:06
hg cat тупо читает файл с файловой системы
07:07
GridVCS -- извлекает полный снимок из GridFS
07:17
как показывают бенчмарки того же nginx, раздача статики с GridFS примерно в 2 раза медленнее раздачи из файлов
07:19
teroni: попробуй посмотреть реализацию кнопок day/week/month
zi_home #
07:20
гребаный дслам, присылает сислог для падения линка как link down, и для поднятия динка тоже link down
teroni #
07:21
dvolodin: ты в смысле диапазон дат пытаешься прописать ?
dvolodin #
07:27
там суть в том, что проходится store с ревизиями и находится крайняя по интервалу времени
07:27
не сколько диапазон
07:28
а нахожу первое изменение в диапазоне
07:28
хотя, наверное, нужно первое изменение перед диапазоном
teroni #
07:29
за день ... от кекущего момента?
07:29
то есть от вчера до сегодня?
vovan888 #
07:31
кто знает SA-Run commands сохраняет текущий контекст команды ? можно например создать аксесс лист ?
zi_home #
07:32
vovan888, я не понял вопроса
Huko #
07:33
а как можно запретить ip_discovery привозить 192.168.0.0/16 ?
zi_home #
07:33
никак, сам хотел бы
vovan888 #
07:34
пробую через Run commands создать аксесс лист на хуавее
07:34
но скрипт висит минуту и ничего не выполняет
dvolodin #
07:34
нет
07:34
смотри как
07:34
данные в store отсортированы по убыванию
07:34
если мы хотим изменения за день
07:35
то берем 0-ю запись в первом комбо
07:35
и бежим по store, пока дата ревизии не станет меньше текущего значения времени - 24h
teroni #
07:35
и следующую
07:35
ну да
dvolodin #
07:36
вот тут я явно на одну ревизию промахнулся
07:36
можешь алгоритм проверить и потестить
07:36
количество дней я задаю в свойствах кнопки, обработчик у них один
07:37
и там еще нужно при любых изменениях в комбо и при использовании стрелок отжимать кнопку выбора дня/месяца/года
zi_home #
07:37
vovan888, а он висит для любого набора команд, может попробовать по одной их добавлять, сначала одна команда, потом две, на какой заткнется, смотреть что при этой команде в живой консоли происходит
vovan888 #
07:39
zi_home: висит на команде "acl 2009", видимо не опознает приглашение ком строки, хотя регексспы вроде правильные в профиле
dvolodin #
07:40
vovan888: нужно полный debug-script смотреть
07:40
по фотографии тяжело
zi_home #
07:40
vovan888, ну да, я на это и намекал, чего-то с regexp-ами
vovan888 #
07:42
а как запустить дебаг для run commands ?
07:42
скрипт Generic.commands ?
zi_home #
07:43
хотел бы я знать
dvolodin #
07:44
добавить "{'commands': ['my command']}"
07:44
ну и сам профиль покажи
vovan888 #
07:50
чето ошибка - ValueError: need more than 2 values to unpack
zi_home #
07:51
dvolodin, а за notification center можно сейчас поругаться, или подождать пока ты SA доделаешь
mikevlz|3 #
07:52
vovan888: просто commands
07:53
без указания профиля Generic, но с указанием имени устройства из НОКа.
dvolodin #
07:53
vovan888: или так commands="['my command']"
mikevlz|3 #
07:53
он сам всосет правильный профиль, регэкспы из него и выполнит скрипт
zi_home #
07:56
dvolodin, кстати vovan888 очень хотел помочь с инвентори
vovan888 #
08:05
12:02:49 - vovan888: висит точно на acl 2009
08:05
12:03:08 - vovan888: http://pastebin.com/SGBMQFYe
08:05
12:04:57 - vovan888: профиль Huawei.VRP
dvolodin #
08:11
ну нормально вполне
teroni #
08:12
dvolodin: это откель взял? t1 = t0 - button.diffRange * 86400 - число
zi_home #
08:12
народ, а кто-нибудь здесь с АДСЛ плотно работает, я плаваю в теории и не могу понять кое-что, вот дслам, в логах он записывает link down, а в сислог приходит loss of frame, а на другом дсламе приходит loss of frame, loss of signal и line is down
dvolodin #
08:12
diffRange -- количество дней
08:13
перевожу в секунды
08:13
а, блин
teroni #
08:13
store.getAt(0).get("ts")
08:13
Wed Sep 18 2013 18:58:31 GMT+0600 (Уральское время (зима))
08:13
store.getAt(1).get("ts")
08:13
Tue Sep 17 2013 14:02:11 GMT+0600 (Уральское время (зима))
08:13
store.getAt(0).get("ts")-store.getAt(1).get("ts")
08:13
104180740
dvolodin #
08:13
там же в милисекундах вроде в js
teroni #
08:13
один день... 100 лямов
dvolodin #
08:13
плюсик поставь перед store
teroni #
08:14
там дельта..
dvolodin #
08:14
в ms?
teroni #
08:15
я доки не читаю наверно да...
dvolodin #
08:17
Интересно, почему сайт fias.nalog.ru до сих пор не заблокирован за пропаганду наркотиков?
08:17
и гомосексуализма
lexus-omsk #
08:23
dvolodin: будем с ними адресную базу синхронизировать?
dvolodin #
08:24
мы сейчас причесываем штук 5 разных адресных баз
08:24
разной степени запущенности
lexus-omsk #
08:27
наших биллингистов бы туда потыкать, чтобы тоже причесали....
teroni #
08:28
dvolodin: да elapsed = end - start; // time in milliseconds
dvolodin #
08:28
ok
08:29
то есть минимум 86400 нужно переделать в 86400000
08:29
и поиск правильной ревизии проверить нужно
08:30
lexus-omsk: у нас масштабнее -- запускаем централизованный адресный реестр
08:30
пока - на макрорегион
teroni #
08:34
dvolodin: к стати... день - неделя считается всетаки от текущего момента или от последней записи конфига?
08:35
должна считаться...
08:35
у тебя от последней записи..
08:36
86400000 - помогло..
08:38
или всетаки смотреть это как дельту от даты указанной в поле Version
dvolodin #
08:40
нет
zi_home #
08:43
ufir, ты тут? кажется у вас есть дсламы
08:44
ты все ищешь как инвентори и ГИС в базе хранить?
08:44
я про это говорил
08:44
что надо считать от текущего открытого конфига
dvolodin #
08:51
zi_home: неверное так
08:52
неверно
08:52
кнопка -- изменения за день
zi_home #
08:52
как она выглядит я считаю ее кнопка сравнение с те что было вчера/неделю/месяц назад
08:53
ну вот такое у меня видение
08:53
dvolodin, правильней будет у людей спросить, что они думают, как ты или как я
08:53
это опять вопрос юзабилити
08:54
простонапример в 90% случаев у меня будет открыт сегодняшний конфиг, и нажатие этой кнопки даст одинаковый эффект по моей и по твоей схеме
08:55
а оставшиеся 10% по моей схеме получат результат, а по твоей только мат
08:55
но это ты как бы сам смотри
teroni #
09:00
я бы еще хитрее завернул...
09:00
день неделя месяц - это переключатель для стрелок... :-)
dvolodin #
09:09
zi_home: наверное, можно и от базовой ревизии крутить, да
09:37
знаешь в чем засада
09:38
по твоей логике выходит, что будет браться день от последней ревизии
09:38
а не от текущего момента
09:39
или получится странное
09:39
если выбрана последняя ревизия, то день от текущего момента
09:39
если любая другая -- то день от нее
freeseacher #
09:40
[v
09:40
хм
09:41
господа, я когда хочу узнать дифы за поеледнюю неделю хочу увидеть не конкретику по ревизиям
09:41
у меня есть железяки которые по полгода не менялись
09:41
я хочу ответить на вопрос "я ничего не пропустил?"
09:41
тоесть имею ввиду физическое время
09:41
а не в ревизиях
09:42
и ответ из разряда ничего не менялось полностью устроит
teroni #
09:46
freeseacher: не получится...
freeseacher #
09:47
эм почему ?
09:47
два диапазона
zi_home #
09:47
dvolodin, я про это и говорю, я открываю или у меня уже открыт какой-то конфиг, я нажимаю на эту кнопку и расчитываю на что? на то что он отсчитает 7 дней назад и сравнит с конфигом на 7 дней старше относительно того что у меня открыт
freeseacher #
09:48
сначала ищем все которые были за неделю находим начало выборки находим конец. отображаем в виде дифа
zi_home #
09:48
стрелочки которые вы там еще прикрутили, лично для себя я не встречал для них use case
09:48
но это я, вам может быть и надо
dvolodin #
09:49
стрелочки как раз логичны
09:49
просто пройтись по изменениям
freeseacher #
09:49
zi_home, все просто надо найти когда "это" появилось
09:50
а по том по аккаунтингу найти "какая су.."
zi_home #
09:50
dvolodin, я не говорю что они не логичны, я говорю что они бесполезны, по крайней мере для меня
09:51
freeseacher, если выполнялся скрипт из нока, то в аккаунтинге ты только увидишь логин нока
freeseacher #
09:51
так "не принято"
teroni #
09:51
[15:03] teroni: день неделя месяц - это переключатель для стрелок...
dvolodin #
09:52
teroni: нет уж
09:52
это немецкий диафильм будет
freeseacher #
09:53
teroni, не логично
teroni #
09:53
зато можно будет ходить по дням - и т.д.
09:54
как раз логично
09:54
когда много правок за день..... лучше листать день... чем все 10 правок
zi_home #
09:54
freeseacher, а ведь для твоей ситуации, нок должен не каждодневную копию записывать, а только когда были изменения тогда все нормально, так ведь раньше и было
teroni #
09:54
он и хочет увидеть ответ - нету версий..
freeseacher #
09:54
zi_home, у меня опрос раз в день
09:55
более частые себя не оправдали
zi_home #
09:55
у меня тоже
09:55
я про то что если за неделю не было изменений
teroni #
09:55
а по эвентам?
zi_home #
09:55
то в ноке должна быть одна ревизия а не семь
teroni #
09:56
она и есть одна - ей уже 3 месяца...
zi_home #
09:57
а нет, все правильно, нок и сейчас так ревизии записывает
09:57
16 число, 12 число, 10 число, но собирает и сверяет каждый день
09:59
dvolodin, тебе lexus-omsk уже говорил, но я повторю, зачем нок присылает письмо config changed, если изменений в конфиге не было и тело письма пустое, это плохо
dvolodin #
09:59
он вообще всегда так присылает?
zi_home #
10:00
да, каждый день
10:01
по каждому конфигу
10:01
собрал
10:01
прислал
lexus-omsk #
10:01
я только сегодня перешёл на эту ветку, поэтому думал, что это баг переезда в GridFS
10:02
а каждый день по нескольку сотен пустых писем - это совсем не айс
vovan888 #
10:03
dvolodin: для чего в noc/sa/script/cli.py сделано # Refine adaprive pattern prompt ?
zi_home #
10:03
у меня в тесте с десяток железок, не сильно напрягает, но это баг, а с сотен тысяч, это нагибалово
dvolodin #
10:03
щл
10:03
ok
10:03
нашел, да, косяк
10:07
пофиксил
10:08
vovan888: как для чего?
10:08
запускай commands как ./noc debug-script Huawei.VRP.commands …….
10:08
и все будет
10:09
ну или просто ./noc debug-script commands <железка>
vovan888 #
10:09
я нашел где проблемя
10:10
в pattern_prompt в профиле
10:10
только вот для чего этот регексп меняется в процессе выполнения скрипта ?
10:12
проблема в том, что после выполнения команды acl 2009 приглашение меняется на приглашение вида [pe0-acl-basic-2009], тоесть добавляется через дефис текущий acl
zi_home #
10:12
dvolodin, а тебе не сложно вот то что ты сейчас написал про debug-script commands отразить в доке, а то http://kb.nocproject.org/display/DOC/noc+debug-script не изобилует подробностями
vovan888 #
10:13
и после преобразования ( # Refine adaprive pattern prompt) этот регексп перестает матчить приглашение и висит ждет
ufir #
10:15
ну.. у меня на каких-то железяках вообще не работали скрипты, из-за того, что в имени железки мои гавайцы поставили пробел
vovan888 #
10:15
а у меня есть дефис в хостнейме, вот теперь думаю как регексп извратить
zi_home #
10:16
ufir, за такое стерелизовать надо
ufir #
10:17
у меня почти везде дефисы. я все железяки именую так - префикс определяющий оборудование, город/населенный пункт - площадка
10:17
так что без дефисов мне никак ;)
zi_home #
10:18
дефис не проблема, у меня у всех железок 1-3 дефиса, и все ок
vovan888 #
10:21
да, простого решения проблемы походу нет...
dvolodin #
10:24
vovan888: да, понял про что ты
vovan888 #
10:25
пока сделал issue в трекере, попробую придумать решение
dvolodin #
10:30
-acl-basic-2009 это кто добавил?
10:31
huawei блок приписал сам?
10:33
hostname у него какой вообще
vovan888 #
10:36
ага сам
10:36
hostname pe0
dvolodin #
10:38
патчик в issue
vovan888 #
10:39
помог!
dvolodin #
10:52
проверьте кто-нибудь хуавеи с патчем
10:52
http://pastie.org/8335548
vovan888 #
10:54
я немного уже поправил регэксп
10:54
в issue
zi_home #
11:55
dvolodin, так вот по поводу get_interfaces. какая там структура, я смотрю на вывод цисковского, и мне это взрывает мозг
11:56
допустим список физических портов, дескрипшен и админ статус я вытащу легко
11:56
а как сабы к ним привязываются?
11:57
xnj nfrjt ащкцфквштп штыефетсу
11:57
что такое forwarding instatce
dvolodin #
11:57
для dslam он один
11:57
default
11:57
один из частных случаев fi -- VRF
zi_home #
11:59
такая дикая структура взрывает мне мозг, даже не представляю как это все формировать
14:30
mikevlz, ты тут?
14:32
тут есть кто-нибудь кто в питоне разбирается?
14:35
freeseacher, может быть ты?
14:50
сам разобрался
14:56
хотя вопросы остались
dvolodin #
18:47
zi_home: структура как раз вполне прямолинейная
18:47
покажи, что получилось?
zi_home #
18:48
dvolodin, посмотри http://pastebin.com/gSADd6py
18:49
порнушка такая
dvolodin #
18:49
нормально
zi_home #
18:49
думаю чего еще не хватает
dvolodin #
18:49
концовка вполне достаточная
18:49
что на выходе получается?
zi_home #
18:50
ну на выходе чего-то получается, дискавери сработал, базу щаполнил
dvolodin #
18:50
description = parse_table(phy_ports[1])[int(phy[0])-1][1] + " " + parse_table(phy_ports[1])[int(phy[0])-1][2]
18:50
это ты сгоряча
zi_home #
18:50
это да
dvolodin #
18:50
покажи выход, проверим
18:51
и почитай PEP8
zi_home #
18:51
вывод чего?
dvolodin #
18:51
вокруг бинарных операций - пробелы
18:51
вывод скрипта
18:51
что он тебе в итоге отдал
18:52
parse_table(phy_ports[1])
18:52
несколько раз у тебя вызывается
18:52
запомни результат что-ли
18:52
t = parse_table(phy_ports[1])
18:52
и дальше используй t
zi_home #
18:53
http://pastebin.com/w8CY6K0n
dvolodin #
18:53
[int(phy[0])-1]
zi_home #
18:53
да, надо бы, я просто не про это думал, поэтому сделал как проще, я знаю что надо подчищать
dvolodin #
18:53
это у тебя последняя запись должна быть?
18:54
[{'forwarding instance': 'default',
18:54
'forwarding_instance': 'default',
18:54
подчеркивание забыл
zi_home #
18:54
в смысле последняя
dvolodin #
18:54
а, нет
18:55
и еще -- для профиля функция convert_interface_name определена?
zi_home #
18:55
нет наверное
18:55
чего там конвртировать, одни номера
dvolodin #
18:56
номера или enet
zi_home #
18:56
да
dvolodin #
18:56
да, у тебя DSLAM по ip управляется?
zi_home #
18:56
да
dvolodin #
18:56
я не вижу ни одного адреса
zi_home #
18:56
ip в смысле?
18:56
там как бы нет интерфейса управления
18:56
есть ip и влан по которому он доступен
dvolodin #
18:57
нет его у тебя
18:57
не вижу SVI с IP в выводе
18:57
ATM и бриджовые порты - все пучком
zi_home #
18:57
надо?
18:57
я помню про него, просто подумал, что он нафиг не нужен
dvolodin #
18:58
надо, конечно
18:58
у тебя вкладка L3 пустая будет
zi_home #
18:58
и хрен с ней, у меня на них собственно только л2
dvolodin #
18:58
лучше сделай
zi_home #
18:59
ладно, пририсую
dvolodin #
18:59
потом в ipam в management сетях будет хоть видно, что адрес занят этой железкой
zi_home #
18:59
ты атм информацию покажешь где-нибудь
dvolodin #
18:59
оптимизируй вызовы parse table
18:59
да, покажу
zi_home #
18:59
да, займусь
dvolodin #
18:59
давай только решим где
18:59
либо вкладкой ATM
zi_home #
18:59
мне подумалось столбец просто подошел бы
19:00
в switchports и в л3
dvolodin #
19:00
там не все будет
zi_home #
19:00
скрывать его автоматом если железка не атм
dvolodin #
19:00
тот самый случай, когда у тебя несколько vpi/vci на порту
19:01
а так -- годный скрипт для начала
19:01
таблицы маков с него еще выдирать научись
zi_home #
19:02
как раз занимался, ты меня выдернул
dvolodin #
19:03
ok
zi_home #
19:03
dvolodin, вот вопросик, как лучше сделать
19:03
> statistics mac
19:03
Port: 2
19:03
1 : 00:22:15:21:4b:e2
19:03
2 : 02:19:5b:c6:ac:6b
19:03
Port: Enet1
19:03
1 : 00:11:93:d5:33:c0
19:03
2 : 00:16:76:c7:f2:49
19:04
Enet с большой буквы
19:04
как ее уменьшить?
19:04
или это пофигу
19:05
dvolodin, и еще по регекспу
19:05
(?P<mac>[0-9a-z:]*)
19:05
то что в [] как-то можно заменить проще?
dvolodin #
19:06
да, для DSL еще полезно будет по порту annex.a, annex.b и прочую ересь
19:06
s = "Enet"
19:06
s.lower()
19:06
на самом деле проще сделай
19:06
нужен convert_interface_name
19:06
и просто выдавай из скрипта то, что прочитал
19:06
оно само сконвертит
19:07
маки лови либо \S+
19:07
либо совсем уж
19:07
(?:[0-9a-f]{2}:){5}:[0-9a-f]{2}
zi_home #
19:08
думаешь это проще?
dvolodin #
19:09
неа
19:09
я по \S+ делаю
zi_home #
19:10
попробую, сейчас подчищу остальное
19:11
\S+ сработал, да так красивее
19:13
dvolodin, имя для svi имеет какое-то значение?
dvolodin #
19:13
никакого
zi_home #
19:13
ясно
dvolodin #
19:22
stp на них есть?
zi_home #
19:24
теоретически да, но у нас не используется
dvolodin #
19:25
это ему бы с топологией хорошо помогло
zi_home #
19:26
у нас они с сетью динамически никак не взаимодействуют, только ручная линковка
19:27
я не парюсь по этому поводу
19:28
dvolodin?
dvolodin #
19:28
а
zi_home #
19:28
dvolodin, вопрос, это баг что под селектор не попадает МО при фильтрации по vc domain
19:29
если в домене не вся железка, а только 1 интерфейс
dvolodin #
19:29
хм
19:30
пиши issue
19:30
решение, правда, будет совсем чудовищное
zi_home #
19:31
issue сделаю
19:32
dvolodin, есть функция для конвертации маски? 255.255.255.0 в /24
dvolodin #
19:32
угу
19:32
lib/ip.py
19:33
IPv4.netmask_to_len()
zi_home #
19:37
как бы еще строку в ip преобразовать
dvolodin #
19:39
какою строку?
zi_home #
19:40
a = "255.255.0.0"
19:40
из вывода команды у меня на руках только строка
dvolodin #
19:41
а какой там может быть ip?
zi_home #
19:41
в смысле?
19:41
> ip show
19:41
interface ip netmask
19:41
--------- --------------- ---------------
19:41
Ethernet 10.0.0.82 255.255.255.0
19:41
default gateway: 10.0.0.1
19:42
вот и все что есть
dvolodin #
19:42
а
19:42
тебе нужно 10.0.0.82/24 ?
zi_home #
19:43
ну не мне, а ноку
19:43
я бы и так влил, если он схавает
dvolodin #
19:43
IPv4("10.0.0.82", netmask="255.255.255.0").prefix
zi_home #
19:44
ммм, сейчас еще одна дикость родится
19:51
dvolodin, такая тема годится? http://pastebin.com/QH8MDqLA
dvolodin #
19:52
да
zi_home #
19:52
ok
19:54
dvolodin, вот полностью http://pastebin.com/5HMwQpb0, если ок, завтра с тушенкой к issue приложу
dvolodin #
19:54
r = [{"forwarding instance" : "default",
19:55
forwarding_instance
19:55
или можно вообще его убрать и оставить только interfaces
zi_home #
19:55
ok, уберу
dvolodin #
19:57
ладно, пойду я
Tweet
Share this page
Share this page: Tweet