nocproject.org
04:41
dvolodin: привет, подскажи, пожалуйста, можно запускать скрипт commands с cli_error и если да, то как передается такой флаг
 
04:42
result = m.scripts.commands(commands=[cmd])
 
04:42
commands=[......], ignore_cli_errors=True
 
04:42
поджскажи как?
04:43
о, спасиб, сейчас попробую
04:55
да, работает
04:56
Dlink DGS-3100 как-то странно отвечает на простую команду "show firmware information", буду спрашивать с ignore_cli_errors
05:09
dvolodin: скажи, русский язык в пирулях --- это технологически невозможно?
 
05:10
у меня только в таком варианте сработало
05:10
CITY='%D0%A2%D0%BE%D0%BC%D1%81%D0%BA' # Tomsk
05:10
хотел прикрутить корректировщик адресов
 
05:17
# -*- coding: utf8 -*-
05:17
в первой строке
 
05:17
это само собой
05:18
хотя
05:18
# -*- coding: utf-8 -*-
05:18
есть разница?
 
05:19
тогда должно работать
 
05:20
хм, не ругается
05:21
точно помню что не получалось
05:22
а, вот, в логах выпала ошибка
05:23
'ascii' codec can't encode character in position и т.д.
 
05:53
подскажите бедному человеку, а есть какая-нибудь питоновская библиотека для транслита?
05:53
все что в интернете нашел обычно самописка
 
05:54
=) от алфавита решил избавлятся? неправославненько
 
05:55
циска не принимает русские буквы, так что я вынужден
 
05:59
zi_rus, я свою делал. что бы адреса забивать
05:59
и плюс еще передылвал prospect в p-kt
 
06:00
кто нить обновлялся в край уже?
 
06:01
чот у меня встал на DEBUG:south:south execute "ALTER TABLE "sa_managedobject" ADD COLUMN "termination_group_id" integer NULL;" with params "[]" и стоит уже с 5 минут
 
06:01
_4ePTeHok, нок то опусти
06:01
там лок в постгресе
 
06:02
хотя шелл один висел
 
06:03
zi_rus: функцию простейшую сделай
 
06:03
все говорят что это просто, почему штатно ничего ни у кого нет
 
06:03
TR = {'а': 'a', 'б': 'b', .....}
06:03
def translit(s):
06:04
    return "".join(TR.get(c, c) for c in s)
06:04
ну и все
 
06:06
Доброе утро. Дмитрий, подскажите пожалуйста, как правильно установить noc в centos через bootstrap? Запускаю сначала bootstrap0.sh, но когда дело доходит до запуска bootstrap.sh, то скрипт его не находит в /opt/noc/share/vagrant/x86_64/CentOS/6.4/
06:06
Его нужно туда ручками положить?
 
06:16
Vyacheslav, дело в том, что скрипт присутствует только в девелопе
06:16
а бутстрап тянет по умолчанию релиз
06:16
поэтому последовательность должна быть такой
06:16
1. качаем bootstrap0.sh с репо
06:17
2. запускаем его с опцией ./bootstrap0.sh --no-bootstrap
06:17
3. идем в ./opt/noc и делаем там hg update develop
06:19
4. редактируем /opt/noc/share/vagrant/x86_64/CentOS/6.4/files/upgrade.conf  - там должна быть  BRANCH=develop
06:20
и только после этого запускаем /opt/noc/share/vagrant/x86_64/CentOS/6.4/bootstrap0.sh
06:21
на 6.5 все аналогично
 
06:21
спасибо, _4ePTeHok. Попробую
 
06:31
народ, а как я могу сделать импорт систеной библиотеки?
06:31
в обычной консоли я делаю import xmpp
06:31
а в noc shell ругает
06:32
ImportError: No module named xmpp
 
06:33
дык оно в виртуалэнве же
06:33
подтяни библиотеку туда
 
06:34
да, я знаю про virtualenv
 
06:34
freeseacher, у тебя аппликашка ippool работает?
 
06:35
ну активизировать виртуалэнв( cd /opt/noc %% ./bin/activate) и pip install
 
06:36
source bin/activate
06:36
nfr dhjlt dthyj
06:36
так вроде верно
 
06:36
root@noc:/opt/noc # cd /opt/noc %% ./bin/activate
06:36
cd: Too many arguments.
06:36
root@noc:/opt/noc # cd /opt/noc
06:36
root@noc:/opt/noc # ./bin/activate
06:36
./bin/activate: Permission denied.
06:36
root@noc:/opt/noc # source bin/activate
06:36
Badly placed ()'s.
06:36
root@noc:/opt/noc #
 
06:36
[root@test noc]# source bin/activate
06:36
(noc)[root@test noc]#
06:37
центось
 
06:37
freebsd не работает
 
06:37
глянь в гугле как у тебя активируется в системе
 
06:38
я даже не знаю чего глядеть
06:38
я так и не понял что ты предлагаешь
06:39
а мимо virtualenv подсосать никак? в системе оно установлено и работает
 
06:39
нок крутится внутри виртуального питона
06:39
тот самый виртэнв
 
06:39
ну дырочку проковырять же можно
 
06:39
по дефолту оно не копирует системные либы
06:41
source ~/venv/<venv_name>/bin/activate  пишут для freebsd
06:42
т е собственно так же
06:42
только абсолютный путь
06:42
pip install -E ~/venv/<venv_name> <something> можно еще так ставить
 
06:44
root@noc:/opt/noc # source /opt/noc/bin/activate
06:44
Badly placed ()'s.
06:44
и второе тоже не работает
 
06:52
zi_rus, bash
06:52
из него работает, проверил на фряшке
06:52
в sh source чото не то вытворяет
 
06:53
stats:/usr/local/noc#> bash
06:53
[root@stats /usr/local/noc]# source /usr/local/noc/bin/activate
06:53
(noc)[root@stats /usr/local/noc]#
06:53
ну не суть, csh\sh
 
07:01
подскажите еще такую вещь
07:01
            for m in r:
07:01
                mo = m['mo']
07:01
                go = []
07:01
                commands = m['config'].split('\n')
07:01
                go = mo.scripts.commands(commands = commands)
07:01
вот часть от views.py
07:02
я кладу в переменные валидные данные
07:02
и в noc shell запускаю
07:02
все отрабатывает
07:02
на железках появляется конфиг
07:02
а если через веб запускаю приложение
07:03
то не видно даже чтобы нок логинился на железки
 
07:03
э. мы же вроде говорили сто раз, что из вьюшки надо не scripts дергать
07:03
а мрт делать
07:04
скриптс подразумевает немедленное исполнение
 
07:08
_4ePTeHok, ну мне и надо немедленное исполнение
07:08
и ошибок оно не выдает
 
07:08
Vyacheslav: как так не находит?
 
07:08
типа работает
07:08
dvolodin, почему из вьюшки этот код не выполняется
07:08
            for m in r:
07:08
                mo = m['mo']
07:08
                go = []
07:08
                commands = m['config'].split('\n')
07:08
                go = mo.scripts.commands(commands = commands)
 
07:10
dvolodin,  я Вячеславу все объяснил уже
 
07:15
zi_rus: как именно не выполняется :)
 
07:16
у него скрипт не выполняется
07:16
из вьюшки
 
07:16
dvolodin, в прямом смыле, если я его в консоль кидаю и подсовываю валидные переменные, все ок. если через веб, то нок долго думает, но даже не пытается залогиниться на железку
07:16
я на такаксе смотрю
07:17
даже нет попыток
 
07:17
а
07:17
даже подозреваю почему
07:17
коммит у тебя делается при завершении запроса
07:17
 :)
 
07:18
dvolodin, в смысле?
 
07:18
dvolodin, а где точки терминации описываются?
07:18
вообще на пальцах объясни структуру, как с этим работать
 
07:18
zi_rus: в прямом, запись в sa_maptask происходит только по завершению запроса
07:18
там не автокоммит
 
07:19
ять
07:19
и как мне это использовать тогда?
07:19
что делать?
07:19
ааааааааааа!!!!!!!
 
07:19
застрелиться
07:19
:)
 
07:19
спасите помогите1!!!!!!
 
07:20
сделай мрт, ну
07:20
сил уже нет)
 
07:20
мрт наркомания
07:20
я ее не понимаю
 
07:20
и под рукой нет веществ для расширения сознаниея
 
07:20
через обертку
07:20
:)
07:20
запускай свой job :)
 
07:20
гг
07:21
хорошо посмеялся сейчас)
 
07:21
_4ePTeHok: а чего тебе непонятно
 
07:22
она тупая как пробка
 
07:22
терминация - это брас?
 
07:22
если у тебя 1 или несколько BRAS терминируют пользователей, заводишь Termination Group
07:22
у  BRAS'ов ее прописываешь в termination group
 
07:23
а пулы уже к группам
 
07:23
а у свичей доступа, с которых ты ходишь к этим BRAS'ам -- в  service terminator
07:23
а пулы, да, создаешь в группах
07:23
пулы бывают динамические и статические
 
07:23
динамические -- считай DHCP, по ним будет считаться, сколько клиентов ты на них повесил
07:24
статические -- адреса будут выдаваться при подключении клиента и записываться в IPAM
 
07:24
статические можно с железа вытягивать?
 
07:24
да
07:24
динамические пулы дальше будут игнорироваться в ip discovery
07:25
там еще один момент недоделан
07:25
я сделал технологии
07:25
в пулах еще будет список технологий, для которых доступен пул
07:28
там еще у группы будет коэффициент переподписки задаваться
07:28
для динамических пулов
07:28
будет видно, когда слишком много навесили на него
 
07:30
а вот хороший вопрос. Если браса как такового нет( схема клиент - доступ - аггрегация - ядро - SCE-ки - NATы(если белый адрес-то мимо) - BSR ) - то что является терминатором?
 
07:31
угу, у нас это ядро..
 
07:32
на самом деле оно нужно для автоматизации подключения
07:32
по точке подключения нужно выяснить, где резервировать под него адрес
07:32
ну и дальше для фолта нам пригодится
07:33
если падает последний терминатор в группе, сразу видно, кого и по каким адресам накрыло
07:33
при желании заполнять можно и по топологии
07:33
скриптом
 
07:34
да, для актуализации будет полезно, ибо оно переезжает бывает
 
07:34
в общем, можно считать это логическим inventory
07:35
которое живет поверх физического
07:35
скажем, для managed object'а можно прорисовать схему терминации
07:35
на основании топологии
07:35
посмотреть, как он дотянется до всех терминаторов своей группы и что будет по пути
07:38
для VC interfaces можно отделить будет L3 интерфейсы от точек терминации
 
07:39
в любом случае это дерево выходит от терминатора вниз
07:39
тут только варианты с кольцами и резервированием
07:40
на уровне L3 уже всмысле
 
07:40
полукольцо может быть
07:40
на два терминатора
 
07:41
Подскажите пожалуйста, кто-нибудь api noc пользуется? мне нужно из внешней системы проверять наличие устройства в NOC
 
07:41
ieasm: ну и вопросы :)
 
07:41
dvolodin: описание по api нигде не видел
 
07:41
проверять по имени или по id?
 
07:41
dvolodin: а задача стоит такая)))
07:42
по имени
07:42
dvolodin: и было бы здорово еще через api конфиг получать
 
07:42
мы похожи на религиозную секту, по мене постижения тебе открываются новые знания
07:42
dvolodin: и это возможно
07:44
GET /sa/managedobject/<id>/  -- отдаст все по железке
07:44
GET /sa/managedobject/?name=XXXXX
07:44
найдет по имени
07:44
ну и так далее
 
07:44
как там с правами кстате)
07:45
в api
 
07:49
я верно понимаю, что если l3 начинается на сабе-например, то для каждого саба я должен делать группу терминации?
07:50
или все же одна группа на железку?
07:50
именно по группе же будет пул определятся
07:50
выдаст мне пул с другого интерфейса
07:50
и не заработает
 
07:53
dvolodin, таки как мне команды отправить на железку
07:53
что еще за коммиты
 
07:53
_4ePTeHok: одна на железку
 
07:53
почему обертка не работает
 
07:53
сделаешь разные пулы на разные интерфейсы
 
07:55
дык там же нет привязки пула к интерфейсу
07:55
только к группе
07:57
надо допиливать
 
07:59
так ты сам уж разбирайся, из какого пула запрашивать адрес
 
08:01
вторая часть марлезонского балета. МРТ. как его использовать не опускаясь до программирования js?
 
08:01
если такая вот специфика
08:01
zi_rus: ты чего вообще пытаешься изобразить?
 
08:02
dvolodin, я хочу надор команд кинуть на железку из своего приложения
08:03
у меня все есть кроме того как запустить выполнение команд
08:03
все тут склоняют к МРТ
08:03
но получить результат от него я не могу
08:04
там надо периодически дергать из морды какую-то хрень
08:05
не важно какой конфиг, может я генерирую конфиг на тысячу строк и пытаюсь его раскатать по сети, а может просто заблокировать один порт за неуплату
 
08:05
ты и у себя будешь дергать всякую хрень
 
08:05
почему нет прямого способа кинуть команды, получить ответ и идти по своим делам
 
08:05
NOC.mrt используй из JS
 
08:06
вон есть commands, но его блять можно только из консоли дергать, а во вьюшке он не работает, ну и нахрена он нужен
08:06
не могу я использовать его из js
 
08:06
ну я же кидал ссылки
08:07
логи отмотай
 
08:08
без даты даже гугл не найдет что ты кидал
 
08:10
за месяц гугл говорит что ничего нет в логах
 
08:11
апр 07 10:03:12
08:11
в локальном логе нашел за 15 секунд.
 
08:12
у меня нет локального лога и ты знаешь что искать
 
08:13
=) нашел по noc.mrt
 
08:13
ну вот почему нет стандартной функции
 
08:13
и надо писать свои костыли
08:14
хоть немного человечности
 
08:14
тебе показывают стандартную функцию
08:14
делаешь конфиг задачи, засылаешь на испольнение, дергаешь результат
 
08:15
там даже дергать не надо
08:16
по успешному выполнению вызывается success
08:16
оно повторяет Ext.Ajax.request
08:16
по логике
 
08:16
ять
08:16
началось
08:16
опять меня склоняют начать убивать людей
 
08:17
ну посмотри django transaction middleware
08:17
это все оно
08:17
или sa_maptask нужно уносить в монгу
08:18
может в этом и будет профит какой
08:18
мне очень нравятся ttl index в монге
08:18
там можно будет автопрочистку сделать
 
08:19
_4ePTeHok, что это такое task = ReduceTask.create_task(o, "pyrule:mrt_result", {},name, {},None)
 
08:19
я там отсылку давал, откуда оно
 
08:19
то что ты куда-то послал, не значит что там был ответ
 
08:20
открой исходник sa/mo/commands уже
 
08:20
кроме того что о это мо, я не вижу вообще
 
08:21
    mrt_config = {
08:21
        "console": {
08:21
            "access": "console",
08:21
            "map_script": "commands",
08:21
            "timeout": 60
08:21
        }
08:21
а это что
 
08:22
то что запуляешь в мре-сае
08:22
мрт*
 
08:22
пролпр опаывл
08:22
начнем с начала
 
08:23
делаешь конфиг задачи, засылаешь на испольнение, дергаешь результат
 
08:23
mrt_config это параметры
08:23
допустим я скопирую то что написано
08:23
что дальше
 
08:24
там будут методы NOC.mrt
 
08:24
для засылания задачи на исполнение, и выдергивания результата
08:24
в логе я приводил их выжимки
08:25
второй раз, извини, уже лениво искать
 
08:26
дергание чего либо из js абсолютно и безповоротно убивает вообще всю идею чего либо делать
08:27
mo.cli() нельзя, mo.scripts.commands() нельзя. только вот блять через какую-то жопу
 
08:27
ты в вебморду ничего не выведешь
08:28
без ы
08:28
js
 
08:28
что мне надо я вывожу
 
08:28
учитывая что в вебе есть таймауты на странички
08:28
а в ноке задачи могут выполнятся гораздо более длительнее
 
08:28
я минимум сделал и Apllication.js даже открывать больше не хочу
 
08:29
механизм раздельной посылки задания и дергания результата - это необходимость
 
08:40
_4ePTeHok, ты смтрел Криминальное Чтиво,
08:41
там есть сцена когда Брюс Уиллис кидает телевизор в мотеле
08:41
вот у меня примерно такое же состояние
 
08:42
нервишки надо лечить вам
08:43
=)
08:43
выдели 5 минут, посмотри на ету тему крайний мультик Куваева, масяню.
08:43
как рукой снимет
08:43
на полном серьезе
 
08:56
что такое reduce task
08:56
а что map reduse task
 
09:28
:)
09:28
скрипт -- map task
 
09:31
zi_rus, у меня тоже по началу было непонятка ка кэто юзать
09:31
но как разобрался чо куда сразу полегчало
 
09:58
ieasm, sa/managedobject/lookup/?name=
 
09:59
zi_rus: Спасибо! А как конфиг получить не подскажите?
 
10:12
10:13
freeseacher, так можешь рассказать ключевые моменты, как в простом случае плюнуть из питона команды на железку, я потом разберусь в деталях, принципиальная работа системы непонятна
10:14
железка Switch
10:14
команды
10:14
int fa0/1
10:14
shut
10:14
end
10:14
write
10:15
что надо вызвать чтобы послать команды на свич
10:26
dvolodin, scripts/about поломался
 
10:26
./scripts/about
10:26
|NOC|0.8dev9508|
10:26
|Branch|develop|
10:26
|OS|Darwin dv-mbp.local 13.1.0 Darwin Kernel Version 13.1.0: Thu Jan 16 19:40:37 PST 2014; root:xnu-2422.90.20~2/RELEASE_X86_64 x86_64|
 
10:26
|OS Brand|Mac OS X 10.9.2|
10:26
|Python|2.7.6|
 
10:28
работает, подтверждаю
 
10:28
трейсит в конце
10:28
не подтверждаю работу
 
10:28
./bin/pip freeze сделай
 
10:32
я точно этого не делал
 
10:32
по крайней мере сознательно
 
10:32
всмысле со стороны похоже на разговор родителя с ребенком
10:32
что ето? - я не делал
 
10:32
на тебе конфетку и больше не греши
 
10:33
 на Илью украинский кризис плохо действует
 
10:33
а куда Дима подевался
 
10:33
на меня весна плохо действует
 
10:33
пропал чего то совсем
 
10:33
жара
10:33
верните +5
 
10:33
в мурманск тебе надо)
 
10:34
меня в Новосибирск тянет
 
10:35
думаешь там нежарко летом?
10:36
ошибаешься)
 
10:38
в среднем пару градусов можно выиграть
10:38
зато там работа есть
 
10:39
zi_rus: проверил патчик?
 
10:40
_4ePTeHok, по поводу установки noc в centos с помошью bootstrap. Сделал как вы сказали. Но при выполнении скрипта  /opt/noc/share/vagrant/x86_64/CentOS/6.4/bootstrap0.sh он ругается что abort: destination 'noc' is not empty
 
10:42
это пункт номер который?
10:42
в списке что я давал
10:44
 только после этого запускаем /opt/noc/share/vagrant/x86_64/CentOS/6.4/bootstrap0.sh  - тут ошибка.
10:44
запускать надо  только после этого запускаем /opt/noc/share/vagrant/x86_64/CentOS/6.4/bootstrap.sh
10:44
0й - это на чистую систему накатываем
 
10:44
понял
10:44
сейчас попробую
 
10:44
просто бутстрап - это уже разворачивание нока
 
10:50
dvolodin, да работает
11:11
ну и что. никто так и не знает как с этими reduce / mrt выполнять команды. а еще сказки как все просто
 
11:19
ReduceTask.create_task(....)
 
11:23
меня тоже сильно интересует :)
11:23
часть задачи я сделал сниппетом
11:24
часть сейчас запускаю кодом в консоли, с отдачей в коммутатор result = m.scripts.commands(commands=[cmd])
11:25
а есть ли тут Skripnik Artem?
 
11:26
11:26
чуть подробнее, мне как раз нужны некоторые отчеты
 
11:26
TSergey, не отвлекайся, тебе тоже нужно про reducetask узнать
 
11:26
:)
11:27
мне много нужно сделать :)
 
11:27
_4ePTeHok, после выполнения скрипта upgrade-user: 42: migrate failed Terminating upgrade complete
 
11:28
до этого покажи вывод в пасту
11:28
где там трейсбэк
 
12:07
zi_rus как активатор отдельный поднять, он у меня с САЕ не дружит она его пинает, пишет Refusing connection from
 
12:07
я думаю дело в пароле
12:07
если пароль правильный то я не знаю
12:15
dvolodin, так?
12:15
ReduceTask.create_task(mo, ???reduce_script???, map_script = 'commands', map_script_params = {commands = ['aaa', 'bbb'], timeout = 120})
 
12:16
t = ReduceTask.....
12:16
result = t.get_result()
 
12:16
t = ReduceTask.create_task(mo, ???reduce_script???, map_script = 'commands', map_script_params = {'commands': ['aaa', 'bbb']}, timeout = 120)
12:17
а вот там где знаки вопроса я поставил оно не нужно?
 
12:17
а другие параметры я правильно указал?
 
12:17
до 17 строки скрипт
 
12:17
freeseacher, что значит reduce_script="pyrule:mrt_result",
 
12:18
это значит результаты обработать этим пирулем
 
12:18
а что делает этот пируль?
 
12:18
просто формирует словарик
12:18
как внизу написано
 
12:18
а если безнего то...???
 
12:19
zi_rus, дданные будут получаться через активтор
12:19
активатор на выходе вернет что то
12:20
все резуольтаты надо от всех запросов ка кто собрать в кучу
12:20
вот редьюстаск их пролсто собирает в кучу
 
12:21
Надо удалённый активатор завести САЕ его реджектит пароли в вебке и удалённом конфиге идентичны. Какие варианты?
12:22
prefix table - от неё конект зависит?
 
12:22
admin_, да
12:24
admin_, sa setup activators
 
12:27
коллеги, а как у вас решается вопрос сохранения конфигурации ?
 
12:27
prefix table имеет два варианта: Activator::default и NOC::Activators пробовал оба с темже результатом
 
12:28
admin_, main setup prefixtable
 
12:28
freeseacher, мой нок не знает sleep. какой импорт добавить?
 
12:29
первая строка же
12:29
не, не так.
12:29
zi_rus, все строки с 1 по 17 нужны что бы выполнить команду
 
12:30
freeseacher, судя по модели я могу вместо селектора подсунуть конкретный мо
12:30
остальные импорты вроде есть
 
12:34
freeseacher, но что-то не то
12:34
12:34
выполнилось на первой железке из трех
 
12:39
дык у тебя в цикле
12:39
а у него - в селекторе
 
12:43
иииииии...
12:43
в консоли слаботало
12:46
видимо цикл не работает
 
12:53
Всем спасибо, дело было не в пароле, а в префикс табле!
 
12:54
да, такое тоже есть
 
12:55
ещё вопрос. некоторые сервера имеют ecdsa 512бит ключ на ssh нок к ним попасть не может..
12:56
зделал:
12:56
cd /opt/noc
12:56
./bin/pip install ecdsa
12:58
 
13:17
admin_: это тебе sa/script/ssh/transport.py править
13:18
там где SSH_CYPHERS
13:18
нужно как-то проверять, какие методы вообще доступны
 
13:21
надо смотреть.. А автоматом нельзя сделать?
13:22
Ато после своих правок потом день уходит на вылавливание глюков.
 
13:22
придумать надо
13:22
я не задавался целью проверять доступность методов
 
13:23
вон ssh ходит.. и както автоматом цепляет, причём автоматом выбирает всегда самый сильный....
13:23
ладно, завтра гляну..
 
13:24
        m=__import__("Crypto.Cipher.%s"%m_name, {}, {}, "x")
13:24
вот тако он проверяется
13:26
In [1]: from Crypto.Cipher.
13:26
Crypto.Cipher.AES         Crypto.Cipher.CAST        Crypto.Cipher.PKCS1_v1_5  Crypto.Cipher._ARC4       Crypto.Cipher._DES3
13:26
Crypto.Cipher.ARC2        Crypto.Cipher.DES         Crypto.Cipher.XOR         Crypto.Cipher._Blowfish   Crypto.Cipher._XOR
13:26
Crypto.Cipher.ARC4        Crypto.Cipher.DES3        Crypto.Cipher._AES        Crypto.Cipher._CAST       Crypto.Cipher.blockalgo
13:26
Crypto.Cipher.Blowfish    Crypto.Cipher.PKCS1_OAEP  Crypto.Cipher._ARC2       Crypto.Cipher._DES
13:34
а public он воообще никак не проверяет
 
13:40
dvolodin, почему бы ноку если он использует какой-нибудь дискаври lldp, cdp, oam и другие, заполнять поле protocols у интерфейсов
 
13:42
хм
13:42
а чистить как?
 
13:44
так же
13:44
dvolodin, это же обратное действие, не нашел значит нет, значит чистить. нашел значит добавить
 
13:45
 если нет соседа, то не значит, что на интерфейсе нет протокола
 
13:45
нет, не в соседе дело
13:46
скрипт же возвращает список всех портов с протоколом
13:46
на самом деле зависит от скрипта и железки
13:47
например оам на циске возвращает только порты где оам включен
13:47
вопрос в доработке скрипта
13:47
копеечная доработка на самом деле
13:47
зато бонус какой никакой
13:47
стп тоже только там где включен
 
13:51
admin_: NOC тоже так делает, из списка того, что умеет, выбирает самый стойкий
13:52
эллиптических кривых не умеет
13:57
zi_rus: не обязательно
 
17:24
немного подпилил реализацию ssh
17:24
теперь она понимает компрессию zlib@openssh.net с отложенным сжатием и метод diffie-hellman-group14-sha1 в key exchange
17:25
с ключами ecdsa - не на чем проверять
17:25
но нашел, что править нужно в районе keys.py
 
18:05
Очень нравятся возможности noc, но порог вхождения к сожалению высоковат. Подскажите с чего начать? Что почитать? Интересует архитектура проекта, какие части от чего зависят...
 
    Share this page
    Share this page: