nocproject.org
04:07
dvolodin: хочу сделать несколько пирулей, вида: обхожу МО, засылаю команду на железку, анализирую ответ. Посоветуй, чем это делать логичнее? Смотрю "context", но не уверен, что он возвращает ответ.
04:09
или может я неправильно понимаю, как работает
04:09
{% var cmd internal %}
04:09
context["cmd"]="..."
04:09
{{cmd}}
04:27
это переменные, которые будут подставляться в шаблон
04:28
посоветуй, как правильней реализовать схему "команда в железку --- ответ"
04:33
подозреваю что катят, а в нем можно получить ответ от засланной в коммутатор команды?
04:34
не могу найти примера, понятного на моем скромном уровне
04:36
а так -- самое простое
04:36
result = mo.scripts.<script_name>()
04:36
их из pyrule можно как функции вызывать
04:39
произвольный же скрипт нельзя? это ведь зарегестрированные классы?
04:42
положи его в нужное место
05:20
dvolodin: сорри что я по втором кругу, но все-таки --- как работает сниппет?
05:20
из "Продвинутое использование питона в сниппетах"
05:20
...
05:20
context["cmd"]+="show running-config interface " + free_interface
05:20
{% endpython %}
05:20
{{cmd}}
05:20
команда засылается в коммутатор после окончания кода сниппета? или неправильно понимаю?
05:21
можно ли из сниппета заслать команду и обработать ответ?
05:25
рендерится шаблон сниппета
05:25
разворачиваются все переменные
05:25
и засылается на коммутатор
05:33
и ответ в коде мы уже не можем обработать?
05:35
TSergey, нет, не можем
05:35
zi_rus: спасиб, читаю стовй код и в логах чата как ты разбирался
05:35
*твой код
05:39
значит, если хочу реализовать схему
05:39
для определенного профиля порта проверить включен ли lldp и для нужного включить, для ненужного выключить --- то это делаем скриптом и дальше, как писал dvolodin, result = mo.scripts.<script_name>()
05:40
про такое я бы подумал над улучшением текущей ситуации
05:40
у нока для интерфейсов есть поле protocols
05:40
вот lldp туда надо бы писать
05:40
а тогда твоя ситуация упрощается
05:40
дергаешь из базы, а не из железки
05:40
пишет get_interfaces
05:41
мне много всякого нужно, проверить локальных пользователей, stp, lldp, наличие файла прошивки
05:41
dvolodin, ну вот не пишет. почти никто туда ничего не пишет
05:42
dvolodin, на самом деле. почему нет универсального интерфейса, передавать туда не номер порта или vrf, а произвольный код, а в ответ получать результат?
05:42
я вот со своим приложением тоже мучаюсь
05:42
вот как мне плюнуть кусок конфига в железку?
05:42
никто не признается
05:42
а run commands как-то работает
05:43
а такое?
05:43
05:43
05:44
"8[12:43] zi_rus: а run commands как-то работает"
05:44
а я думал это для моих длинков отвалилось
05:44
там написано для варианта со сниппетом, а у меня свое приложение
05:44
там надо как-то с mrt разбираться
05:45
доки нет, кто знает не может объяснить
05:45
хорошо, буду писать свой скрипт
05:45
но тогда вопрос --- ведь нельзя произвольный закинуть, нужно же калсс описать? или нет?
05:46
*класс
05:48
это ты про свое приложение или меня пугаешь про скрипты?
05:50
это то что тебе придется делать
05:50
это единственный выход
05:50
хотя
05:50
если ты хочешь чтобы твой скрипт периодически запускался
05:50
то тебе надо писать pyrule
05:51
но проблема остается
05:51
надо научиться кидать команды на коммутаторы
05:51
так в том и фишка, я не знаю как из пируля заслать команду на девайс и получить ответ
05:51
ага
05:51
_4ePTeHok, dvolodin, mikevlz - вот они точно знают, но не признаются
05:52
вроде есть скрипт "commands" в MO\Edit, но на моих длинках он не работает
05:53
а так, наверное можно его прикрутить и пользоваться схемой result = mo.scripts.<script_name>()
05:53
я же говорю, надо пытать посвященных иначе можно долго тыкаться
05:54
в принципе можно подумать над helper'ом
05:54
типа mo.commands(....)
05:55
и кормить ему на входе текст или шаблон
05:55
я спросил dvolodin, пока есть два три ответа:
05:55
- в сниппете ответ не получить
05:55
- скрипт нужно положить в нужное место
05:55
- получать ответ result = mo.scripts.<script_name>()
05:55
dvolodin: расскажи, псл, схему прикручивания скрипта
05:57
сначала здеь делаем класс noc / sa / interfaces /?
05:58
mikevlz, и я того же мнения
05:58
нет, это я про вас
05:58
а вот хелпер, кмк, нах не нужен.
05:59
mikevlz, дык ну а как иначе, хоть бы кто статью налабал
05:59
если все так просто
05:59
а если не просто то хелпер нужен
05:59
есть хелпер, универсальный и пиздатый
05:59
таки мы тут админы, а не программеры
05:59
проблема в том, что ты не программист и боишься джаваскрипта
05:59
чтобы сидеть код читать чтобы разобраться
06:00
да, это проблема
06:00
и не я один
06:00
некоторые тут и питона боятся
06:00
mikevlz: расскажи, как бы ты реализовывал бродилку по портам, которая проверяла некоторые настройки (в ноке не сохраняемые) и корректировала их?
06:00
и с точки зрения пользователя, какого вообще хера мы тут кодингом занимаемся
06:00
вот напишу я, как сделать приложение-аналог Run Commands в новой реальности с ExtJS, дальше что?
06:01
zi_rus: выбор простой, либо сами кодингом, либо нанимайте кодеров
06:01
чудес не бывает
06:01
я бы никогда и представить не мог что пишу свой плагин для кактуса или нагиоса
06:01
TSergey: я реализовал приложение, которое ищет пути по топологии, проверяет, что зхаданный влан на всех железках выбранного пути свободен и пихает туда этот влан на нужные порты.
06:01
погодите, а вот MO\Edit|Scripts\Commands --- он у всех неживой?
06:01
а кактусом мы вообще пользуемся
06:02
вопрос в количестве хотелок
06:02
mikevlz: я видел, и жду там твоего ответа
06:02
ничего особо сложного. только индусский код
06:02
где там? в блог я это вроде не писал
06:02
а может писал, но уведомление не приходило о новых комментах
06:03
дальше сложнее будет, на подходе ordering
06:03
там уже думать надо, методом тыка не получится
06:03
dvolodin: в чем плюсы татуинской магии перед африканской? тут вот африканское не все понимают
06:03
и там уже нужна интеграция с CRM или с его заменителем
06:04
TSergey: это я, но там про другое
06:04
mikevlz: африканская магия использует Силу странным местом
06:04
dvolodin: что-то очень разговор в сторону ушел --- неужели задача "команда в коммутатор + обработка ответа" настолько сложна?
06:05
а вот MO\Edit\Scripts\Commands --- он у всех неживой?
06:07
TSergey: NOC.mrt() в джаве или ReduceScript модель в питоне
06:07
эти две вещи решают все проблемы в этом плане. Любой стандартный интерфейс нока дергается этими двумя вещами из нужных мест, получает результат
06:08
блин, ну а как сделать нестандартный? расскажите уже, что за секретность?
06:09
а за мной не заржавеет, я опишу что и как получилось
06:09
берешь стандартный интерфейс commands. Дергаешь одной из этих вещей. Парсишь регэкспами вывод
06:09
профит
06:09
TSergey: вопрос в том, сколько раз ты собираешься дергать железку
06:09
если только послать команды и обработать результат, то тебе нужен MRT
06:10
ReduceTask.create_task
06:10
если несколько раз дергать, то mo.scripts.......
06:10
а я его reducescript обозвал
06:10
те же яйца, только сбоку
06:10
commands ловит на входе список строк
06:10
dvolodin: расскажите, как правильно "завести" нестандартный скрипт, плс
06:10
положить его в sa/profiles/....
06:11
сначала здеь делаем класс noc / sa / interfaces /?
06:11
угу и написать интерфейс, чтоб все понимали, что ждать
06:11
если интерфейс свой, то да
06:11
сейчас пилю, чтобы можно было свои скрипты класть в solutions
06:11
там только интерфейс
06:12
а сам скрипт в sa/profiles/.....
06:13
и все, и дальше можно из пируля запускать как result = mo.scripts.<script_name>()?
06:14
"8[13:11] dvolodin: commands ловит на входе список строк"
06:14
засылаю "show accounts", вываливается в трэйс
06:14
*account
06:15
так надо ["show account"]
06:15
должен быть именно список, неважно, сколько в нем элементов
06:15
может оно там промт того этого
06:16
не, все равно "ERROR: 14"
06:17
в консольке то работает?
06:17
mikevlz: а у тебя работает commands? это бы было решением моей проблемы, делаю строчку, засылаю, анализирую ответ
06:17
ну или через дебаг
06:18
оно работает
06:18
вопрос только в какихз профилях и железках
06:18
о, я просто думал что он не рабочий
06:18
работает...
06:18
чо ему не работать?
06:19
я им бывает смотрю или наличие сетки в ospf или настройки Lldp
06:20
вот у меня как-то не работает
06:22
./noc debug-script commands.["show account"] s558-1-2.intt --- а как передать параметры в скрипт, в дебаге?
06:25
TSergey: через переменная равно
06:26
TSergey, ./noc debug-script Cisco.IOS.ping ssh://foo:bar%00superpassword@192.168.0.1 'address="127.0.0.1"
06:26
можно подсократить
06:26
_4ePTeHok: кавычку проебал
06:26
да
06:26
в конце
06:26
'
06:26
вот вам.
06:27
про аддрес я уже тоже нашел
06:27
чего команду-то надо?
06:27
TSergey: вот аналогично
06:27
сэнкс :)
06:29
./noc debug-script commands 'commands=["show account"]' s558-1-2.intt
06:30
отрабатывает
06:30
root@noc:/opt/noc# ['Command: show account\n\nAccount is empty!\n\n']
06:31
ну значит все работает.
06:31
значит где-то я глобально туплю, в скриптах с ["show account"] вываливается в ERROR: 14
06:32
o.scripts.commands(commands=["show int status"])
06:32
['\nPort Name Status Vlan Duplex Speed Type\nG
06:32
и т д
06:33
профиль Mikrotik.RouterOS кто запиливает? там сломаны регексы в pager'е и косяк в get_interfaces
06:34
_4ePTeHok: чего ты пишешь в MO\Edit\Scripts\Commands?
06:35
на любой текст отвечает ERROR: 14
06:36
и во внутрях "Parameter 'commands' required"
06:37
TSergey: попробуй другие кавычки =)
06:39
да уже чего только не пробовал
06:39
"show account", 'show account', ["show account"], ['show account']
06:40
buggy-funhouse: ты чего-нибудь запусти, чего тебе ответит
06:40
o.scripts.commands({'commands':['show account']}) ?
06:41
'commands':['show account'] --- нет
06:42
{'commands':['show account']} --- нет
06:43
{"commands":["show account"]} --- нет
06:43
"commands":["show account"] --- нет
06:43
пипец
06:44
в каком формате нужно передать параметр?
06:45
заинтриговал
06:45
какой скрипт зовёшь?
06:45
MO\Edit\Scripts\Commands
06:45
в дебаге нормально отработал
06:47
хорошо, а расскажите теперь, где его найти? "обычный" скрипт лежит в профилях, а такого нет
06:48
а нахер он там
06:49
он же не производит никаких промежуточных действий
06:49
тупо транслирует команду
06:49
а где его текст посмотреть?
06:50
o.scripts(commands=[....])
06:50
выше вон то же самое
06:50
o.scripts.commands(commands=["show int status"])
06:50
o.scritps.commands(commands=....
06:51
dvolodin: а в интерфейсе? MO\Edit\Scripts\Commands
06:51
{"commands": [....]}
06:52
например {"commands": ["show account"]} ?
06:56
все равное это, наверное, кривой путь, из-за дерганья настроек каждого порта делать логин-логают к комутатору
06:58
э.
06:58
что мешает сделать sh run
06:58
b hfcgfhcbnm dc. ghjcnsy.&
06:58
и распарсить всю простыню
06:59
а смысл вообще делать sh run если конфиг уже в ноке
07:00
я хотел избежать разбора синтаксиса конфига
07:00
если актуализировать конфиг в ноке до его распарсивания то - да
07:00
ну так и чего? у кого-то MO\Edit\Scripts\Commands сработал?
07:00
ну выводи то, что тебе нужно со всех портов
07:01
а надо?)
07:01
это один и тот же скрипт
07:01
я бы иссэ сделал, если бы был уверен, что не только у меня не работает из интерфейса
07:01
что o.scritps.commands что ./noc debug-script commands
07:02
там для этого есть sa-mo-edit-console
07:02
тот же самый скрипт дергает
07:02
а попробуй, плс, запустить из MO\Edit\Scripts\Commands
07:09
там параметр не передается судя по всему.
07:09
{"commands":"['show version']"} POST уходит такой
07:09
'nj rcnfnb ,sdftn
07:09
это кстати бывает
07:09
я так вланы правил
07:10
ну в веб-морде не были проблемы с добавкой первого свободного чего-то
07:10
вроде влана
07:10
а.давно
07:12
zi_rus,
07:12
task = ReduceTask.create_task(
07:12
o, "pyrule:mrt_result", {},
07:12
name, {},
07:12
None)
07:12
return task.id
07:12
вот тебе еще пример
07:12
это из червяка дерганье скрипта
07:12
name - скрипт
07:12
o - object
07:13
ркзультат получишь по
07:13
_4ePTeHok, если не сложно, налабай статью с подробностями. ибо впросы остаются name - скрипт - какой скрипт?
07:13
try:
07:13
r = t.get_result(block=False)
07:13
except ReduceTask.NotReady:
07:14
где t = self.get_object_or_404(ReduceTask, id=int(task))
07:14
а я смогу в питоне в цикле это сделать?
07:14
while True:
07:14
ну и тд
07:15
ну задач то напихаешь
07:15
результат не мгновенно полушишь
07:15
понятное дело
07:15
while
07:15
потом sleep 1000
07:15
не
07:15
try:
07:15
[10:15:00] <_4ePTeHok> r = t.get_result(block=False)
07:15
except ReduceTask.NotReady:
07:15
вот это тебе и покажет, что еще не готово
07:16
и это предполагается дергается джавой
07:16
так нет
07:16
ответит что не готово
07:16
смотри вьюшку в sa-mo
07:16
надо еще раз дернуть
07:16
ну сделаешь в скоем цикле проверку
07:16
на готовность
07:16
с задержкой
07:16
ну я и говорю
07:17
while sleep
07:17
в общем из вьюшки можешь выцепить метод создания задачи, и дергание результата - там это в функциях api_
07:18
def api_run_script def api_get_script_result
07:18
больше тебе ничего не надо)
07:19
name - это get_inventory например.
07:19
_4ePTeHok, объединитесь уже с mikevlz и налабайте статью, так и напишите что нок не позволяет просто так кинуть на железку набор команд. на самом деле надо подготовить задачу которую нак зашедулит на исполнение активатором... ну и тд
07:19
бля
07:19
ну уже битые два часа расписываем методы
07:20
что можно и коммандс
07:20
и рантаск
07:20
нет, вы расписываете методы
07:20
а надо объяснить что вообще за херня происходит чтобы люди понимали что за пургу вы несете
07:20
и зачем
07:21
что вы как профессор на лекции, час объяснений, а в конце, ну это было очевидно
07:21
кто тут студент)
07:21
зачетку давай
07:22
в форточку выкину)
07:23
ответ зависит от задачи
07:23
абстрактно писать особо нечего
07:24
_4ePTeHok, ну возьми пример, надо выполнить на железке произвольный набор команд - это как самый полный вариант
07:24
есть метод позволяющий отослать команды на железку из пирули или ./noc shell, или из своего скрипта
07:24
и распиши что для этого нужно
07:24
и главное - что все это значит
07:24
хотя бы на уровне понимания
07:24
есть второй метод, необходимый для работы с веб-мордой в интерактиве
07:24
чтобы не копипастой статьи заниматься а моджно было осмысленоо пользоваться инструментом
07:25
вот первый это тупой o.scripts, второй - MRT
07:26
т е от того, откуда ты планируешь вызывать задачу - и зависит какой метод юзать
07:27
можно скажем и в приложении сделать панель, куда выбрасывать результат show ver с железки при загрузке приложения. И реализовать это через o.scripts
07:27
_4ePTeHok, вариант номер раз, у меня интерактивное приложение, я задаю параметры, вьюшка их обрабатывает и готовит конфиг и должна этот конфиг ( по сути набор команд) выполнить на железе. вариант два, неинтерактивный пируль TSergey, который в фоне хочет что-то
07:27
делать
07:27
хотя по сути это одно и тоже
07:27
проблема в моменте
07:27
плюнуть набор команд на железку
07:27
пируль проще с o.scripts
07:28
твое дело тоже можно им сделать
07:28
если конфиг один
07:28
надо заставить нок залогиниться на железку, выполнить несколько команд и в ответ передать результат, что ответила железка
07:29
_4ePTeHok, o.scripts - что это? mo.scripts.command(config) ???
07:29
или иначе?
07:29
я не понимаю, не сокращай
07:29
это не очевидно
07:30
в скобках лист из команд
07:30
>>> o.scripts.commands(commands=["show ru int po2 | i int", "show ver | i supply serial"])
07:30
['interface Port-channel2\n', 'Power supply serial number : AZS122604V0\n']
07:31
в ответ получаешь лист из ответов
07:31
уже что-то
07:32
_4ePTeHok, это произойдет сразу или чего-то дергать опять придется?
07:32
сразу, я вывод с нок-шелла привел
07:32
вот этого я и добивался
07:32
А механизм мрт - это для того, чтобы положить задачу в нок на выполнение, и забыть. Потом когда вспомнил - дернуть результат
07:32
одна строка
07:33
какие ответы есть при проблемах?
07:33
большей частью сделан для интерактивного вывода результата таска в вебморду
07:33
каких проблемах?
07:34
таймаут или ошибка в комманде
07:34
это трансляция вывода с консоли. Чего железка ответит - то и будет
07:34
таймаут там стандартный
07:34
ну нормально
07:35
не, просто в она же может на стандартные ответы реагировать
07:35
если синтакс ошибка - оно не отдаст результат
07:35
в failed scripts например
07:35
не отдаст или вернет код ошибки
07:36
>>> p = o.scripts.commands(commands=["shows ru int po2 | i int", "show ver | i supply serial"])
07:36
>>> p
07:36
>>>
07:37
ясно, значит пустой ответ надо по особому обрабатывать
07:39
вот в случае reduce_task там статусы есть, да
07:41
счастье есть?)
07:42
пока не пробовал
07:42
осознаю
07:44
наверно с длинками еще есть трабл, неотключаемый клипэйджинг
07:45
хохо.
07:45
счастье есть в одресах)
08:21
Вот за этот пейджер оторвать им нужно все, что есть
08:21
Дим, а морду когда?)
08:21
я про коммит
08:23
"zi_rus: а смысл вообще делать sh run если конфиг уже в ноке"
08:23
а как можно выдернуть сохраненный конфиг?
08:24
object.config.read()
08:25
dvolodin, я про адреса
08:26
_4ePTeHok: сначала структуру дополирую
08:26
у меня еще деревни в московской области не прогружаются нормально
08:26
=)
08:26
побойся бога
08:27
чо тогда будет в магадане где нибудь
08:29
у меня там дивный франкенштейн выходит из фиас и окато
08:29
вот дома в деревнях прицепились к району, что есть ересь
08:29
:)
08:35
dvolodin какой самый быстрый и эффективный способ запилить исправление к профилю sa? ;)
08:35
взять и запилить
08:35
:)
08:35
ну я запилил, теперь чо, не обновлять нок что ле =)
08:36
фиас будет в ноке?! опупеть :)
08:37
ovg, в иссью на сайт
08:39
Unbeerable: нет, в NOC'е будет адресная база
08:39
точнее - уже есть
08:39
и для бедных -- заливка в нее из ФИАС
08:39
это если совсем ничего нет
08:41
раздолбаи они там в налоговой
08:41
база в самом паршивом состоянии
08:42
а ты сомневался?)
08:42
что они там, того.
08:42
етого.
08:42
на всю голову причем
08:46
dvolodin, уже есть где-то в недрах у тебя или уже можно использовать?
08:47
коммит вчера был, сегодня налабал ворох фиксов
08:48
через где это будет настраиваться?
08:48
import requests из NOC shell даёт ошибку, из системного питона всё нормально?
08:50
pip install requests видит системный и говорит что всё ок
08:50
как в ./noc shell добавить системный модуль?
08:53
Победил, ./bin/pip install requests
08:55
виртуалэнв же
08:55
перед установкой надо инэйблить
08:56
./bin/activate
09:18
а за выкладвание справочной информации в формате ворда в RAR-архиве, нужно сажать как либерастов
09:22
стрелять, чо уж.
09:22
когда там отменят уже мораторий)
09:37
лолд дня. самое высокое начальство саратовского филиала не в курсе что ipv4 адреса больше не выделяются провайдерам уже больше года.
09:38
e_zombie: я вообще удивлен, что они знают, что такое ipv4
09:38
закоммитил изменения в GIS
09:38
вроде теперь сносно разносит сельскую местность
09:39
dvolodin, как пользовать
09:39
[fias]
09:39
enabled = True
09:40
include.0 = 77
09:40
include.1 = 50
09:40
# Строгино
09:40
include_okato.0 = 45283577000
09:40
# Щукино
09:40
include_okato.1 = 45283587000
09:40
# Истринский район
09:40
include_okato.2 = 46218000000
09:40
что-то вроде такого в конфиг
09:40
обновиться что ли
09:40
посмотреть на новые чудеса
09:40
а далее, где это можно выцеплять то?
09:41
далее так делаешь
09:41
топаешь сюда
09:41
09:41
забираешь полную базу в формате DBF
09:41
fias_dbf.rar
09:42
распаковываешь ее в local/cache/fias
09:42
09:42
распаковываешь туда же
09:43
и ./noc update-addr
09:43
ограничения по ОКАТО необязательно делать
09:44
достаточно только регионы
09:44
результат проверить можно так
09:44
./noc dump-addr --country=ru
09:45
xml не удобнее чем dbf?
09:52
нет
09:52
жирнее в 2 раза и с парсером морока
09:52
еще понадобится ./bin/pip install dbf
09:59
dvolodin, как все просто и понятно, как всегда в общем :)
10:00
zi_rus: предложения?
10:01
dvolodin, расскажи в статье что это и зачем
10:01
фиас, окато, херня какая-то
10:02
dvolodin, предлагаю например начать с описания проблемы, что же ты пытался решить, что ты сделал, как результатом пользоваться
10:05
dvolodin: есть все данные для создания PoP, room, rack и цепляние к нему MO. Помоги их в базу уложить, пробовал:
http://pastebin.com/wurk1T88 отрабатывает но в ноке новый PoP не появляется.
10:05
zi_rus: зачем мне описывать государственные классификаторы?
10:06
dvolodin, я не про классификаторы, я про то что они делают в ноке
10:06
они -- ничего
10:06
:)
10:06
совсем
10:08
ты их засунул, никто не понял зачем. ЗАЧЕМ?
10:08
прописываешь что-то в конфиге. ЧТО? ЗАЧЕМ?
10:08
не
10:08
я их не засунул
10:08
я сделал импорт из них в адресную базу
10:09
наполнение адресной базы, если нет своей
10:09
ммм
10:09
и руками ее обновлять
10:10
все зависит от процесса ведения адресных данных
10:10
можно и руками
10:11
ну хорошо. так что это дает. это дает наполнение адресной базы. а что с адресной базой? что она дает?
10:11
клиентов и сервисы по адресам
10:11
привязку PoP к адресу
10:11
ПТВ
10:12
адреса в заявках
10:12
так это и так можно было. зачем база, делаешь поле типа string и все
10:12
ну и всякую аналитику по проникновению
10:12
видел я таких ненормальных, да
10:12
зато базу не надо вести и всегда актуально
10:13
их в воспитательном порядке нужно заставлять парсить свое творчество
10:13
а потом рождаются хутор Сколково, местечко Крольчатник
10:13
ну хорошо, значит сейчас я смогу для РоР прописать адрес, выбрав его из базы
10:13
да и вообще дом Лес
10:14
при совсем правильном ведении базы получаешь геотеггинг
10:14
а геотегинг где? чтобы прописал адрес а оно нарисовалось на карте
10:14
и, скажем, ближайшие муфты по адресу
10:14
поиск по карте хотя бы
10:15
а вообще у нас еще куча данных лежит
10:15
вроде БТИшных
10:17
скажите как снести все метки с карты? у меня были раскиданы объекты по карте, потом поломал инвентори и пришлось в монге все поубивать, теперь у меня объектов в инвентори нет, а на карте старые метки остались
10:19
zi_rus: gis_geodata
10:21
admin_: ну да, примерно так
10:21
По гуглу не Ъ, Еще один Крым и нам его забанят
10:21
10:22
я хотел 2гис добавить, они пожадничали, не дали апи-ключ
10:22
нужно, наверное, в gis впихнуть интерфейсы для геотегинга
10:23
2gis знает далеко не все
10:23
полного покрытия ни у кого нет
10:23
ага, у налоговой особенно
10:23
а если чего нет, можно дорисовать
10:23
в 2 гисе были только несколько крупных городов
10:24
Мне яндекс дал 100%
10:24
"8[17:24] _4ePTeHok: 2gis знает далеко не все"
10:24
я с мотрел чего не нашел гугль, у 2гиса есть
10:24
надо посмотреть яндекс
10:24
TSergey: конкретно в твоем городе - да
10:24
у OSM другая беда
10:26
ее фик привяжешь к нормальным адресам
10:26
у меня есть привязанная Москва, но в системе координат МГГТ
10:31
10:31
У меня OSM дал более 90%, а yandex 100%
10:51
dvolodin: напиши доку как PoP, room, rack в базу положить и привязать к rack mo Пробывал создать PoP
http://pastebin.com/wurk1T88 но в ноке в inventory он не появляется.
10:52
admin_, ты должен свою деревню или что там в root положить
10:53
там есть объект root
10:53
в нем должна быть твоя деревня, а в деревне уже твои узлы
10:54
ну или сразу узлы в рут клади
10:54
как тебе больше нравится
10:54
но самый верхний уровень должен сидеть в руте
11:04
лучше положить деревню
11:04
а то узлы придется таскать из африки
11:53
блин деревня должна быть root, а в ней уже узлы PoP
11:54
Или root - это root, а деревня должна быть PoP?
11:55
А если деревни две?
11:59
рут всегда есть
11:59
в нем уже все остальное
12:00
деревни, колодцы, лошади..
12:11
admin_, рут это рут, это отдельный объект, ты в него должен положить. можешь создать объект из морды и посмотри куда он попадет
12:36
Создал root в нём деревни. теперь мне надо скриптом насоздавать PoP, room, rack и привязать к rack соотведствующий mo
12:37
12:37
Ща попробую яерез вебморду.
12:38
рут то зачем создавать..
12:38
он сам уже создан
12:40
admin_, Root с большой буквы по дефолту cjplfy
12:40
*создан
12:46
а какие команды пишутся в command Log , который в sa-mo-edit
12:48
_4ePTeHok, те которые проклассифицировались из FM
12:50
freeseacher, а я думал это ноковские команды
12:50
туда попадают
12:50
не, ну это ни в какие ворота
12:50
если уж так, надо accounting нормальный настраивать
12:50
а такое вообще ниочем
12:51
в фм попадают полторы команды
12:51
ничо не понял
12:52
какие - конф ченджед?
12:52
_4ePTeHok, а еще port shutdown
12:53
и reload и еще пара
12:53
по пальцам одной руки в общем
12:54
у меня там видны все команды которые проклассифицировались в FM как command
12:54
теость все введенные
12:56
Security | Audit | Command ?
12:56
этот класс?
13:18
опа
13:18
а ты тут откуда
13:19
я уже и не надеялся
13:19
оо
13:19
появился
13:19
мы уж плохое думать начали)
13:20
Dmitry1, я знаю, у тебя мак мув только с одним портом
13:20
это длинная история
13:20
надо делать правильно
13:20
Там номера портов выдаются как номера бриджа, соответсвенно RFC1493
13:20
но тут говна уже столько навалилось
13:20
Эти номера никак не коррелируются с именами интерфейсов и ifindex
13:21
плохо
13:21
надо думать
13:21
The value of dot1dBasePort for the bridge port from which
13:21
the cmnMACMoveAddress is moved to cmnMACMoveToPortId on
13:21
cmnMACMoveVlanNumber
13:21
dot1dBasePort is defined in RFC1493
13:22
Внутри самой циски есть таблица соответсвия dot1dBasePort и ifIndex
13:23
_4ePTeHok: Я болел :)
13:23
ну раз есть таблица, можно достать
13:24
у вас вся страна болеет
13:24
Суудя по RFC1493, эту таблицу можно достать только через SNMP
13:26
ну раз тут оперируем rfc, есть смысл подумать над стандартным интерфейсом
13:26
а что в питоне означает u'something'?
13:26
когда в словаре идёт нечто и u перед ним
13:30
<zi_rus> у вас вся страна болеет - это и про соседей с другой стороны можно сказать
13:34
_4ePTeHok, проблемы есть везде, но там скоро единственным методом будет эвтаназия, или ты думаешь что там все в шоколаде, а сми врут
13:38
все врут
13:39
но почему то ткнуть соседа в его говно - это краще, чем свое разгрести.
13:39
а тем паче свое подкинуть
13:42
ты смешал все в кучу
13:42
говно тут
13:42
говно там
13:42
и про говно там сейчас говорит пол мира
13:43
в рф его нет
13:43
ни нацистов, ни гопников
13:43
а говно здесь не так воняет
13:43
и с больницами хорошо
13:43
ветром надуло с той стороны, вот поэтому говорим про них
13:44
ветер дует не сам по себе, а ветродуем по команде.
13:45
тебя беспокоят гопники, а меня то что америка сует свои грязные руки уже слишком далеко
13:45
можно положить с прибором на ирак ливию и сирию
13:45
тебе сказали - омерека, вы и поверили.
13:45
но не когда они хозяйничают за дверью
13:46
когда говорили про водолю - "да ну, врут все."
13:46
вы наивный чукотский парень если думаете, что оно само вот так сложилось
13:46
володю
13:47
собрать картинку можно как угодно
13:47
когда в Ульяновск нато пустили - это не омерека у ворот
13:47
это заработок
13:47
ну-ну
13:47
не слышал про ульяновск
13:47
и что там было?
13:48
там база перевалочная на базе аэродрома рф
13:48
митинг? свержение законной власти?
13:48
НАТО
13:48
транзит с афгана
13:48
новости хоть загугли.
13:48
раз нато значит нато ))
13:48
тогда никого не волновало безнравлтвенность НАТО, юрославия и ливия
13:48
кстати по афгану РФ была не против
13:49
втянут в войну, а народ и рад
13:49
кулаками помахать
13:49
пендосам нос утереть
13:49
причем тут война
13:50
крым взяли без единого выстрела
13:50
не, не, не принимай близко
13:50
все потом
13:50
а для меня это близко
13:50
я каждый день и вечер и ночь слежу что происходит
13:50
заразился "ядерной пылью"?)
13:51
и прочей киселевщиной
13:51
не смотрю ТВ, только интернет, примерно пять источников
13:52
интернет с недавних пор хуже тв
13:52
спасибо гб - освоили просторы
13:52
поэтому не один источник а несколько
13:53
вк, яплакаль, жж, и гоблин-тупик
13:53
?
13:53
нет, типичные примеры
13:53
тогда понятно почему тебя больше гопота беспокоит
13:53
ничего из этого слава богу давно не читаю
13:54
я вот тоже первый раз это увидел
13:54
itar-tass, interfax, bbc, укр. правда и самое трешовое censor.net
13:55
=)
13:55
bbc которое?
13:55
рф?
13:55
на оригинале читаешь?
13:55
ну так, иногда через гугл-перевод
13:56
итартасс же теперь тасс просто
13:56
что тоже символично
13:57
слышал только желание, не слышал чтобы они реально переименовались
13:57
и на сайте все по-старому
14:46
Представитель потребителя Мария Иесус Гарсия Лекумберри, Генеральный директор
14:47
однако.
15:48
у кого-нибудь есть под рукой нормальный CDN?
16:02
я бы положил уже готовые файлы для адресной базы
17:14
hi, the upgrade script ./scripts/upgrade hangs when I try to migrate to develop branch. this is the output. it hangs while trying to migrate the database.
http://paste.debian.net/92228/ any ideas what I can do/where I can look what's the problem? I also appended ps auxw output.
17:36
alamar: Hi! Try interrupt upgrade script and, if it possibly, restart postgres or reboot server, end then start upgrade again.
17:38
and
19:05
nice. it indeed did the trick :) thank you very much - I was reluctant to simply abort/reboot & try again as I feated it would make things only worse ;)
19:12
alamar ./noc migrate ?
20:49
nice vlan import finally works :)
21:01
where in the develop branch webinterface can I configure the intervall where the configuration gets pulled? I added my router as managed object with default service activator but I can't find a setting in what intervall the config should get pulled
Share this page
Share this page: