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: 22.04.2014
TSergey #
04:41
dvolodin: привет, подскажи, пожалуйста, можно запускать скрипт commands с cli_error и если да, то как передается такой флаг
dvolodin #
04:42
можно, конечно
TSergey #
04:42
result = m.scripts.commands(commands=[cmd])
dvolodin #
04:42
commands=[......], ignore_cli_errors=True
TSergey #
04:42
поджскажи как?
04:43
о, спасиб, сейчас попробую
04:55
да, работает
04:56
Dlink DGS-3100 как-то странно отвечает на простую команду "show firmware information", буду спрашивать с ignore_cli_errors
05:09
dvolodin: скажи, русский язык в пирулях --- это технологически невозможно?
dvolodin #
05:09
возможнл
TSergey #
05:10
у меня только в таком варианте сработало
05:10
CITY='%D0%A2%D0%BE%D0%BC%D1%81%D0%BA' # Tomsk
05:10
хотел прикрутить корректировщик адресов
dvolodin #
05:17
# -*- coding: utf8 -*-
05:17
в первой строке
TSergey #
05:17
это само собой
05:18
хотя
05:18
# -*- coding: utf-8 -*-
05:18
есть разница?
dvolodin #
05:19
тогда должно работать
TSergey #
05:20
хм, не ругается
05:21
точно помню что не получалось
05:22
а, вот, в логах выпала ошибка
05:23
'ascii' codec can't encode character in position и т.д.
zi_rus #
05:53
подскажите бедному человеку, а есть какая-нибудь питоновская библиотека для транслита?
05:53
все что в интернете нашел обычно самописка
_4ePTeHok #
05:54
=) от алфавита решил избавлятся? неправославненько
zi_rus #
05:55
циска не принимает русские буквы, так что я вынужден
freeseacher #
05:59
zi_rus, я свою делал. что бы адреса забивать
05:59
и плюс еще передылвал prospect в p-kt
_4ePTeHok #
06:00
кто нить обновлялся в край уже?
freeseacher #
06:01
я
_4ePTeHok #
06:01
чот у меня встал на DEBUG:south:south execute "ALTER TABLE "sa_managedobject" ADD COLUMN "termination_group_id" integer NULL;" with params "[]" и стоит уже с 5 минут
freeseacher #
06:01
_4ePTeHok, нок то опусти
06:01
там лок в постгресе
_4ePTeHok #
06:02
да опущен
freeseacher #
06:02
убедись :)
_4ePTeHok #
06:02
хотя шелл один висел
dvolodin #
06:03
zi_rus: функцию простейшую сделай
zi_rus #
06:03
все говорят что это просто, почему штатно ничего ни у кого нет
dvolodin #
06:03
TR = {'а': 'a', 'б': 'b', .....}
06:03
def translit(s):
06:04
return "".join(TR.get(c, c) for c in s)
06:04
ну и все
Vyacheslav #
06:06
Доброе утро. Дмитрий, подскажите пожалуйста, как правильно установить noc в centos через bootstrap? Запускаю сначала bootstrap0.sh, но когда дело доходит до запуска bootstrap.sh, то скрипт его не находит в /opt/noc/share/vagrant/x86_64/CentOS/6.4/
06:06
Его нужно туда ручками положить?
_4ePTeHok #
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 все аналогично
Vyacheslav #
06:21
спасибо, _4ePTeHok. Попробую
zi_rus #
06:31
народ, а как я могу сделать импорт систеной библиотеки?
06:31
в обычной консоли я делаю import xmpp
06:31
а в noc shell ругает
06:32
ImportError: No module named xmpp
_4ePTeHok #
06:33
дык оно в виртуалэнве же
06:33
подтяни библиотеку туда
zi_rus #
06:34
да, я знаю про virtualenv
_4ePTeHok #
06:34
freeseacher, у тебя аппликашка ippool работает?
zi_rus #
06:34
как подтянуть
_4ePTeHok #
06:35
ну активизировать виртуалэнв( cd /opt/noc %% ./bin/activate) и pip install
zi_rus #
06:36
не работает
_4ePTeHok #
06:36
source bin/activate
06:36
nfr dhjlt dthyj
06:36
так вроде верно
zi_rus #
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 #
_4ePTeHok #
06:36
[root@test noc]# source bin/activate
06:36
(noc)[root@test noc]#
06:37
центось
zi_rus #
06:37
freebsd не работает
_4ePTeHok #
06:37
глянь в гугле как у тебя активируется в системе
In-nick #
06:38
.
zi_rus #
06:38
я даже не знаю чего глядеть
06:38
я так и не понял что ты предлагаешь
06:39
а мимо virtualenv подсосать никак? в системе оно установлено и работает
_4ePTeHok #
06:39
нок крутится внутри виртуального питона
06:39
тот самый виртэнв
zi_rus #
06:39
ну дырочку проковырять же можно
_4ePTeHok #
06:39
по дефолту оно не копирует системные либы
06:41
source ~/venv/<venv_name>/bin/activate пишут для freebsd
06:42
т е собственно так же
06:42
только абсолютный путь
06:42
pip install -E ~/venv/<venv_name> <something> можно еще так ставить
zi_rus #
06:44
root@noc:/opt/noc # source /opt/noc/bin/activate
06:44
Badly placed ()'s.
06:44
и второе тоже не работает
_4ePTeHok #
06:52
zi_rus, bash
06:52
из него работает, проверил на фряшке
06:52
в sh source чото не то вытворяет
zi_rus #
06:53
у меня csh
_4ePTeHok #
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
zi_rus #
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
то не видно даже чтобы нок логинился на железки
_4ePTeHok #
07:03
э. мы же вроде говорили сто раз, что из вьюшки надо не scripts дергать
07:03
а мрт делать
07:04
скриптс подразумевает немедленное исполнение
zi_rus #
07:08
_4ePTeHok, ну мне и надо немедленное исполнение
07:08
и ошибок оно не выдает
dvolodin #
07:08
Vyacheslav: как так не находит?
zi_rus #
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)
_4ePTeHok #
07:10
dvolodin, я Вячеславу все объяснил уже
dvolodin #
07:15
zi_rus: как именно не выполняется :)
_4ePTeHok #
07:16
у него скрипт не выполняется
07:16
из вьюшки
zi_rus #
07:16
dvolodin, в прямом смыле, если я его в консоль кидаю и подсовываю валидные переменные, все ок. если через веб, то нок долго думает, но даже не пытается залогиниться на железку
07:16
я на такаксе смотрю
07:17
даже нет попыток
dvolodin #
07:17
а
07:17
даже подозреваю почему
07:17
коммит у тебя делается при завершении запроса
07:17
:)
zi_rus #
07:18
dvolodin, в смысле?
_4ePTeHok #
07:18
dvolodin, а где точки терминации описываются?
07:18
вообще на пальцах объясни структуру, как с этим работать
dvolodin #
07:18
zi_rus: в прямом, запись в sa_maptask происходит только по завершению запроса
07:18
там не автокоммит
zi_rus #
07:19
ять
07:19
и как мне это использовать тогда?
07:19
что делать?
07:19
ааааааааааа!!!!!!!
dvolodin #
07:19
застрелиться
07:19
:)
zi_rus #
07:19
спасите помогите1!!!!!!
_4ePTeHok #
07:20
сделай мрт, ну
07:20
сил уже нет)
zi_rus #
07:20
мрт наркомания
07:20
я ее не понимаю
dvolodin #
07:20
ты его и вызываешь
zi_rus #
07:20
и под рукой нет веществ для расширения сознаниея
dvolodin #
07:20
через обертку
07:20
:)
07:20
запускай свой job :)
_4ePTeHok #
07:20
гг
07:21
хорошо посмеялся сейчас)
dvolodin #
07:21
_4ePTeHok: а чего тебе непонятно
_4ePTeHok #
07:21
структура
dvolodin #
07:22
она тупая как пробка
_4ePTeHok #
07:22
терминация - это брас?
dvolodin #
07:22
если у тебя 1 или несколько BRAS терминируют пользователей, заводишь Termination Group
07:22
у BRAS'ов ее прописываешь в termination group
_4ePTeHok #
07:23
а пулы уже к группам
dvolodin #
07:23
а у свичей доступа, с которых ты ходишь к этим BRAS'ам -- в service terminator
07:23
а пулы, да, создаешь в группах
07:23
пулы бывают динамические и статические
_4ePTeHok #
07:23
это уже понятно
dvolodin #
07:23
динамические -- считай DHCP, по ним будет считаться, сколько клиентов ты на них повесил
07:24
статические -- адреса будут выдаваться при подключении клиента и записываться в IPAM
_4ePTeHok #
07:24
статические можно с железа вытягивать?
dvolodin #
07:24
да
07:24
динамические пулы дальше будут игнорироваться в ip discovery
07:25
там еще один момент недоделан
07:25
я сделал технологии
07:25
в пулах еще будет список технологий, для которых доступен пул
07:28
там еще у группы будет коэффициент переподписки задаваться
07:28
для динамических пулов
07:28
будет видно, когда слишком много навесили на него
_4ePTeHok #
07:30
а вот хороший вопрос. Если браса как такового нет( схема клиент - доступ - аггрегация - ядро - SCE-ки - NATы(если белый адрес-то мимо) - BSR ) - то что является терминатором?
dvolodin #
07:30
где L3 начинается
_4ePTeHok #
07:31
угу, у нас это ядро..
dvolodin #
07:32
на самом деле оно нужно для автоматизации подключения
07:32
по точке подключения нужно выяснить, где резервировать под него адрес
07:32
ну и дальше для фолта нам пригодится
07:33
если падает последний терминатор в группе, сразу видно, кого и по каким адресам накрыло
07:33
при желании заполнять можно и по топологии
07:33
скриптом
_4ePTeHok #
07:34
да, для актуализации будет полезно, ибо оно переезжает бывает
dvolodin #
07:34
в общем, можно считать это логическим inventory
07:35
которое живет поверх физического
07:35
скажем, для managed object'а можно прорисовать схему терминации
07:35
на основании топологии
07:35
посмотреть, как он дотянется до всех терминаторов своей группы и что будет по пути
07:38
для VC interfaces можно отделить будет L3 интерфейсы от точек терминации
_4ePTeHok #
07:39
в любом случае это дерево выходит от терминатора вниз
07:39
тут только варианты с кольцами и резервированием
07:40
на уровне L3 уже всмысле
dvolodin #
07:40
полукольцо может быть
07:40
на два терминатора
ieasm #
07:41
Подскажите пожалуйста, кто-нибудь api noc пользуется? мне нужно из внешней системы проверять наличие устройства в NOC
dvolodin #
07:41
ieasm: ну и вопросы :)
ieasm #
07:41
dvolodin: описание по api нигде не видел
dvolodin #
07:41
проверять по имени или по id?
ieasm #
07:41
dvolodin: а задача стоит такая)))
07:42
по имени
07:42
dvolodin: и было бы здорово еще через api конфиг получать
dvolodin #
07:42
мы похожи на религиозную секту, по мене постижения тебе открываются новые знания
07:42
dvolodin: и это возможно
07:44
GET /sa/managedobject/<id>/ -- отдаст все по железке
07:44
GET /sa/managedobject/?name=XXXXX
07:44
найдет по имени
07:44
ну и так далее
_4ePTeHok #
07:44
как там с правами кстате)
07:45
в api
dvolodin #
07:46
как для юзера
_4ePTeHok #
07:49
я верно понимаю, что если l3 начинается на сабе-например, то для каждого саба я должен делать группу терминации?
07:50
или все же одна группа на железку?
07:50
именно по группе же будет пул определятся
07:50
выдаст мне пул с другого интерфейса
07:50
и не заработает
zi_rus #
07:53
dvolodin, таки как мне команды отправить на железку
07:53
что еще за коммиты
dvolodin #
07:53
_4ePTeHok: одна на железку
zi_rus #
07:53
почему обертка не работает
dvolodin #
07:53
сделаешь разные пулы на разные интерфейсы
_4ePTeHok #
07:55
дык там же нет привязки пула к интерфейсу
07:55
только к группе
07:57
надо допиливать
dvolodin #
07:59
так ты сам уж разбирайся, из какого пула запрашивать адрес
zi_rus #
08:01
вторая часть марлезонского балета. МРТ. как его использовать не опускаясь до программирования js?
dvolodin #
08:01
если такая вот специфика
08:01
zi_rus: ты чего вообще пытаешься изобразить?
zi_rus #
08:02
dvolodin, я хочу надор команд кинуть на железку из своего приложения
08:03
у меня все есть кроме того как запустить выполнение команд
08:03
все тут склоняют к МРТ
08:03
но получить результат от него я не могу
08:04
там надо периодически дергать из морды какую-то хрень
08:05
не важно какой конфиг, может я генерирую конфиг на тысячу строк и пытаюсь его раскатать по сети, а может просто заблокировать один порт за неуплату
dvolodin #
08:05
ты и у себя будешь дергать всякую хрень
zi_rus #
08:05
почему нет прямого способа кинуть команды, получить ответ и идти по своим делам
dvolodin #
08:05
NOC.mrt используй из JS
zi_rus #
08:06
вон есть commands, но его блять можно только из консоли дергать, а во вьюшке он не работает, ну и нахрена он нужен
08:06
не могу я использовать его из js
_4ePTeHok #
08:06
понеслось)
zi_rus #
08:06
я не знаю js
_4ePTeHok #
08:06
ну я же кидал ссылки
08:07
логи отмотай
zi_rus #
08:07
это было давно
_4ePTeHok #
08:07
на то и логи
zi_rus #
08:08
без даты даже гугл не найдет что ты кидал
_4ePTeHok #
08:09
блин
zi_rus #
08:10
за месяц гугл говорит что ничего нет в логах
_4ePTeHok #
08:11
апр 07 10:03:12
08:11
в локальном логе нашел за 15 секунд.
zi_rus #
08:12
у меня нет локального лога и ты знаешь что искать
_4ePTeHok #
08:13
=) нашел по noc.mrt
zi_rus #
08:13
ну вот почему нет стандартной функции
_4ePTeHok #
08:13
=(
zi_rus #
08:13
и надо писать свои костыли
08:14
хоть немного человечности
_4ePTeHok #
08:14
тебе показывают стандартную функцию
08:14
делаешь конфиг задачи, засылаешь на испольнение, дергаешь результат
dvolodin #
08:15
там даже дергать не надо
08:16
по успешному выполнению вызывается success
08:16
оно повторяет Ext.Ajax.request
08:16
по логике
zi_rus #
08:16
ять
08:16
началось
08:16
опять меня склоняют начать убивать людей
dvolodin #
08:17
ну посмотри django transaction middleware
08:17
это все оно
08:17
или sa_maptask нужно уносить в монгу
08:18
может в этом и будет профит какой
08:18
мне очень нравятся ttl index в монге
08:18
там можно будет автопрочистку сделать
zi_rus #
08:19
_4ePTeHok, что это такое task = ReduceTask.create_task(o, "pyrule:mrt_result", {},name, {},None)
_4ePTeHok #
08:19
я там отсылку давал, откуда оно
zi_rus #
08:19
то что ты куда-то послал, не значит что там был ответ
_4ePTeHok #
08:20
открой исходник sa/mo/commands уже
zi_rus #
08:20
кроме того что о это мо, я не вижу вообще
_4ePTeHok #
08:20
console nj tcnm
zi_rus #
08:21
mrt_config = {
08:21
"console": {
08:21
"access": "console",
08:21
"map_script": "commands",
08:21
"timeout": 60
08:21
}
08:21
а это что
_4ePTeHok #
08:22
конфиг задачи.
zi_rus #
08:22
что такое задача
_4ePTeHok #
08:22
то что запуляешь в мре-сае
08:22
мрт*
zi_rus #
08:22
пролпр опаывл
08:22
начнем с начала
_4ePTeHok #
08:23
делаешь конфиг задачи, засылаешь на испольнение, дергаешь результат
zi_rus #
08:23
mrt_config это параметры
08:23
допустим я скопирую то что написано
08:23
что дальше
_4ePTeHok #
08:24
смотри в код js
zi_rus #
08:24
блять
_4ePTeHok #
08:24
там будут методы NOC.mrt
zi_rus #
08:24
дважды блять
_4ePTeHok #
08:24
для засылания задачи на исполнение, и выдергивания результата
08:24
в логе я приводил их выжимки
08:25
второй раз, извини, уже лениво искать
zi_rus #
08:26
дергание чего либо из js абсолютно и безповоротно убивает вообще всю идею чего либо делать
08:27
mo.cli() нельзя, mo.scripts.commands() нельзя. только вот блять через какую-то жопу
_4ePTeHok #
08:27
ты в вебморду ничего не выведешь
08:28
без ы
08:28
js
zi_rus #
08:28
что мне надо я вывожу
_4ePTeHok #
08:28
учитывая что в вебе есть таймауты на странички
08:28
а в ноке задачи могут выполнятся гораздо более длительнее
zi_rus #
08:28
я минимум сделал и Apllication.js даже открывать больше не хочу
_4ePTeHok #
08:29
механизм раздельной посылки задания и дергания результата - это необходимость
zi_rus #
08:40
_4ePTeHok, ты смтрел Криминальное Чтиво,
08:41
там есть сцена когда Брюс Уиллис кидает телевизор в мотеле
08:41
вот у меня примерно такое же состояние
_4ePTeHok #
08:42
нервишки надо лечить вам
08:43
=)
08:43
выдели 5 минут, посмотри на ету тему крайний мультик Куваева, масяню.
08:43
как рукой снимет
08:43
на полном серьезе
zi_rus #
08:56
что такое reduce task
08:56
а что map reduse task
dvolodin #
09:28
:)
09:28
скрипт -- map task
freeseacher #
09:31
zi_rus, у меня тоже по началу было непонятка ка кэто юзать
09:31
но как разобрался чо куда сразу полегчало
ieasm #
09:41
dvolodin: GET /sa/managedobject/<id>/ . Если я через веб делаю запрос http://noc.naukanet.ru/sa/managedobject/?name=Gate000-msk.centr, то вижу просто страницу, где выбран данный МО.
zi_rus #
09:58
ieasm, sa/managedobject/lookup/?name=
ieasm #
09:59
zi_rus: Спасибо! А как конфиг получить не подскажите?
zi_rus #
10:12
ieasm, http://noc/sa/managedobject/515/repo/cfg/
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 поломался
dvolodin #
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|
zi_rus #
10:26
http://pastebin.com/GSBFX83p
dvolodin #
10:26
|OS Brand|Mac OS X 10.9.2|
10:26
|Python|2.7.6|
_4ePTeHok #
10:28
работает, подтверждаю
zi_rus #
10:28
трейсит в конце
10:28
не подтверждаю работу
dvolodin #
10:28
./bin/pip freeze сделай
zi_rus #
10:29
сделал
dvolodin #
10:29
что там?
zi_rus #
10:30
dvolodin, http://pastebin.com/4Vhft1s5
dvolodin #
10:30
-e hg+http://bitbucket.org/nocproject/noc@8f8c2b854a1c4166887f82d1bef63d24f23cd12d#egg=noc-develop
10:30
это что?
zi_rus #
10:31
я откуда знаю???
_4ePTeHok #
10:32
=)
zi_rus #
10:32
я точно этого не делал
_4ePTeHok #
10:32
вы прям как дети)
zi_rus #
10:32
по крайней мере сознательно
_4ePTeHok #
10:32
всмысле со стороны похоже на разговор родителя с ребенком
10:32
что ето? - я не делал
dvolodin #
10:32
на тебе конфетку и больше не греши
_4ePTeHok #
10:32
=)))
dvolodin #
10:33
на Илью украинский кризис плохо действует
_4ePTeHok #
10:33
а куда Дима подевался
zi_rus #
10:33
на меня весна плохо действует
_4ePTeHok #
10:33
пропал чего то совсем
zi_rus #
10:33
жара
10:33
верните +5
_4ePTeHok #
10:33
в мурманск тебе надо)
zi_rus #
10:34
меня в Новосибирск тянет
_4ePTeHok #
10:35
думаешь там нежарко летом?
10:36
ошибаешься)
zi_rus #
10:38
в среднем пару градусов можно выиграть
10:38
зато там работа есть
dvolodin #
10:39
zi_rus: проверил патчик?
zi_rus #
10:40
какой?
Vyacheslav #
10:40
_4ePTeHok, по поводу установки noc в centos с помошью bootstrap. Сделал как вы сказали. Но при выполнении скрипта /opt/noc/share/vagrant/x86_64/CentOS/6.4/bootstrap0.sh он ругается что abort: destination 'noc' is not empty
_4ePTeHok #
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й - это на чистую систему накатываем
Vyacheslav #
10:44
понял
10:44
сейчас попробую
_4ePTeHok #
10:44
просто бутстрап - это уже разворачивание нока
dvolodin #
10:48
zi_rus: на about
zi_rus #
10:50
dvolodin, да работает
11:11
ну и что. никто так и не знает как с этими reduce / mrt выполнять команды. а еще сказки как все просто
dvolodin #
11:19
ReduceTask.create_task(....)
_4ePTeHok #
11:22
=)))
zi_rus #
11:22
а дальше?
TSergey #
11:23
меня тоже сильно интересует :)
11:23
часть задачи я сделал сниппетом
11:24
часть сейчас запускаю кодом в консоли, с отдачей в коммутатор result = m.scripts.commands(commands=[cmd])
11:25
а есть ли тут Skripnik Artem?
zi_rus #
11:25
нет его
TSergey #
11:26
вот про это бы http://kb.nocproject.org/pages/viewpage.action?pageId=13336714
11:26
чуть подробнее, мне как раз нужны некоторые отчеты
zi_rus #
11:26
TSergey, не отвлекайся, тебе тоже нужно про reducetask узнать
TSergey #
11:26
:)
11:27
мне много нужно сделать :)
Vyacheslav #
11:27
_4ePTeHok, после выполнения скрипта upgrade-user: 42: migrate failed Terminating upgrade complete
_4ePTeHok #
11:28
до этого покажи вывод в пасту
11:28
где там трейсбэк
Vyacheslav #
11:31
куда пишется?
zi_rus #
11:32
на экран
Vyacheslav #
11:36
http://pastebin.com/4yCdJziU
admin_ #
12:07
zi_rus как активатор отдельный поднять, он у меня с САЕ не дружит она его пинает, пишет Refusing connection from
zi_rus #
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})
dvolodin #
12:16
t = ReduceTask.....
12:16
result = t.get_result()
zi_rus #
12:16
t = ReduceTask.create_task(mo, ???reduce_script???, map_script = 'commands', map_script_params = {'commands': ['aaa', 'bbb']}, timeout = 120)
12:17
а вот там где знаки вопроса я поставил оно не нужно?
freeseacher #
12:17
zi_rus, https://codeo.me/4AB
zi_rus #
12:17
а другие параметры я правильно указал?
freeseacher #
12:17
до 17 строки скрипт
zi_rus #
12:17
freeseacher, что значит reduce_script="pyrule:mrt_result",
freeseacher #
12:18
это значит результаты обработать этим пирулем
zi_rus #
12:18
а что делает этот пируль?
freeseacher #
12:18
просто формирует словарик
12:18
как внизу написано
zi_rus #
12:18
а если безнего то...???
freeseacher #
12:18
никак
zi_rus #
12:19
рискну
freeseacher #
12:19
zi_rus, дданные будут получаться через активтор
12:19
активатор на выходе вернет что то
12:20
все резуольтаты надо от всех запросов ка кто собрать в кучу
12:20
вот редьюстаск их пролсто собирает в кучу
admin_ #
12:21
Надо удалённый активатор завести САЕ его реджектит пароли в вебке и удалённом конфиге идентичны. Какие варианты?
12:22
prefix table - от неё конект зависит?
zi_rus #
12:22
admin_, да
12:24
admin_, sa setup activators
freeseacher #
12:27
коллеги, а как у вас решается вопрос сохранения конфигурации ?
admin_ #
12:27
prefix table имеет два варианта: Activator::default и NOC::Activators пробовал оба с темже результатом
freeseacher #
12:28
admin_, main setup prefixtable
zi_rus #
12:28
freeseacher, мой нок не знает sleep. какой импорт добавить?
freeseacher #
12:29
первая строка же
12:29
не, не так.
12:29
zi_rus, все строки с 1 по 17 нужны что бы выполнить команду
zi_rus #
12:30
freeseacher, судя по модели я могу вместо селектора подсунуть конкретный мо
12:30
остальные импорты вроде есть
freeseacher #
12:31
да
12:31
можешь
zi_rus #
12:34
freeseacher, но что-то не то
12:34
http://pastebin.com/bJeqvLUs
12:34
выполнилось на первой железке из трех
_4ePTeHok #
12:39
дык у тебя в цикле
12:39
а у него - в селекторе
zi_rus #
12:43
иииииии...
12:43
в консоли слаботало
12:46
видимо цикл не работает
admin_ #
12:53
Всем спасибо, дело было не в пароле, а в префикс табле!
_4ePTeHok #
12:54
да, такое тоже есть
Vyacheslav #
12:55
_4ePTeHok, http://pastebin.com/4yCdJziU
admin_ #
12:55
ещё вопрос. некоторые сервера имеют ecdsa 512бит ключ на ssh нок к ним попасть не может..
12:56
зделал:
12:56
cd /opt/noc
12:56
./bin/pip install ecdsa
12:58
нок выдаёт такое: http://pastebin.com/GxTi7M5F
dvolodin #
13:17
admin_: это тебе sa/script/ssh/transport.py править
13:18
там где SSH_CYPHERS
13:18
нужно как-то проверять, какие методы вообще доступны
admin_ #
13:21
надо смотреть.. А автоматом нельзя сделать?
13:22
Ато после своих правок потом день уходит на вылавливание глюков.
dvolodin #
13:22
придумать надо
13:22
я не задавался целью проверять доступность методов
admin_ #
13:23
вон ssh ходит.. и както автоматом цепляет, причём автоматом выбирает всегда самый сильный....
13:23
ладно, завтра гляну..
dvolodin #
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 он воообще никак не проверяет
zi_rus #
13:40
dvolodin, почему бы ноку если он использует какой-нибудь дискаври lldp, cdp, oam и другие, заполнять поле protocols у интерфейсов
dvolodin #
13:42
хм
13:42
а чистить как?
zi_rus #
13:44
так же
13:44
dvolodin, это же обратное действие, не нашел значит нет, значит чистить. нашел значит добавить
dvolodin #
13:45
если нет соседа, то не значит, что на интерфейсе нет протокола
zi_rus #
13:45
нет, не в соседе дело
13:46
скрипт же возвращает список всех портов с протоколом
13:46
на самом деле зависит от скрипта и железки
13:47
например оам на циске возвращает только порты где оам включен
13:47
вопрос в доработке скрипта
13:47
копеечная доработка на самом деле
13:47
зато бонус какой никакой
13:47
стп тоже только там где включен
dvolodin #
13:51
admin_: NOC тоже так делает, из списка того, что умеет, выбирает самый стойкий
13:52
эллиптических кривых не умеет
13:57
zi_rus: не обязательно
zi_rus #
13:57
знаю, длинки тупые
dvolodin #
17:24
немного подпилил реализацию ssh
17:24
теперь она понимает компрессию zlib@openssh.net с отложенным сжатием и метод diffie-hellman-group14-sha1 в key exchange
17:25
с ключами ecdsa - не на чем проверять
17:25
но нашел, что править нужно в районе keys.py
Guest52691 #
18:05
Очень нравятся возможности noc, но порог вхождения к сожалению высоковат. Подскажите с чего начать? Что почитать? Интересует архитектура проекта, какие части от чего зависят...
Tweet
Share this page
Share this page: Tweet