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.08.2015
venter #
06:32
dvolodin, привет, можно как-то подумать как отдебажить новый ДНС, он неработоспособен принципиально.
dvolodin #
06:32
?
venter #
06:33
У меня стоит один синк на сервере с ноком
dvolodin #
06:33
и?
venter #
06:33
серийники обновляет произвольно, чаще всего при изменении существующей записи
06:34
при создании новых обновляет очень редко
06:34
часто при добавлении адресов в айпам создает дубли зон в конфе с разными айди
06:35
вот щас в базе
06:35
31c0f076-149b-4e61-9104-1c2c70c9ea4e|test.local|2015081402 и d1cf4822-2036-47a7-9bdd-945893f95184|test.local|2015081701
06:35
такое и с другими зонами
06:36
для запуска нужно собирать руками старый склайт
06:37
[root@noc-mx /usr/local/noc]# ./bin/pip list| grep sqlite
06:37
-sqlite3 (0.0.0)
06:37
db-sqlite3 (0.0.1)
06:38
без -sqlite3 синк не стартует с включенным sync:bind
06:39
причем не ругается в лог даже с дебагом, я его ручками стартовал и смотрел трейсы, а собирал в системе отдельно, так как он пипом не ставится
06:39
на линуксе та же фигня, чтобы стартанул синк с баиндом пришлось собирать руками -sqlite3
06:40
самое паршивое это дубликаты зон, остальное было бы терпимо
06:42
ну склайт тоже не особо, конечно, но если разгрести он собирается как-то хотя и сильно усложняет разворачивание НСов
dvolodin #
06:43
какая система?
06:43
там python без sqlite?
venter #
06:43
freebsd 10.1, Ubuntu 12.04.5 LTS
06:44
как проверить?
06:44
Ubuntu 14.04.2 LTS
06:46
для того чтобы обновлять серийники в зоны подобавляли test in a 127.0.0.1 и обновляем последний октет при обновлении зоны
06:47
вот такой хак )
dvolodin #
06:48
то есть при добавлении или изменении записи в зоне серийник щелкает?
venter #
06:48
а и еще добавил несколько обратных зон в айпам, а выползли в синк они через минут 40, после того как стали показываться зоны в ноке, причем непонятно после какого события
dvolodin #
06:48
а при обновлении в ipam - нет?
venter #
06:49
при изменении существующей записи почти всегда
06:49
если изменять в айпаме, наверное, всегда
06:49
при добавлении новой записи, очень редко
06:50
можно добавить за пару часов записей 5Ю, на последней может обновиться серийник
06:51
я с добавлением новых записей не смог найти закономерности инкремента серийника
dvolodin #
06:55
посмотри dns/models/dnszone.py
06:56
там внизу - подписка на события
06:56
там кеш для синхронизации
06:58
при изменении связанных объектов соответсвующая запись в нем помечается как протухшая
06:59
когда sync приходит за ней в следующий раз - она перестраивается и щелкает serial
venter #
07:00
ок
dvolodin #
07:02
sync приходит достаточно часто
07:12
ну и выкладку кеша посмотри
venter #
07:14
NOC-1669 - вот глянь тоже
dvolodin #
07:16
да, оно работаело?
07:16
можно накладывать?
07:17
в микросервисах оно будет проще ставиться
07:17
через ansible
07:18
и через web-морду
venter #
07:18
работает так
07:18
ставится нужный бранч
dvolodin #
07:18
просто добавляешь новую ноду и говоришь, что у тебя на ней только синхронизатор
07:18
хорошо, когда буду переключаться - накачу
venter #
07:19
ну это в перспективе ), в отдаленном светлом будущем как я понимаю
dvolodin #
07:19
в приближенном
07:19
в микросервисах сейчас полностью работает FM
07:20
причем с возможностью запуска нескольких классификаторов
07:20
там в целом настройки упрощаются
07:20
появилась такая абстракция как пул
07:20
железки относятся к пулу
07:21
всякие активаторы, коллекторы, классификаторы и пробы - тоже работают в пуле
07:21
sae и discovery - тоже
07:23
FM уже полностью на пулах и масштабируется горизонтально
07:23
PM тоже упростился по настройкам - ушли конфигурации пробы и storage
07:24
сейчас пробу портирую как сервис
07:25
дальше SA пойдет
07:25
sa_maptask останется только для совместимости, а так оно работать будет сразу через RPC и не будет базу трясти
07:26
клиент, которому нужно выполнить скрипт, будет сразу напрямую вязаться с нужным активатором и получать от него результат
07:28
и сервисы уже нативно сидят на tornado ioloop, я почти все с nbsocket уже портировал
filonov #
07:28
dvolodin: а где пулы настраиваются?
dvolodin #
07:28
кроме ssh
07:28
filonov: в микросервисах?
filonov #
07:29
Угу
dvolodin #
07:30
во внешней рулилке
filonov #
07:30
Это какой?
dvolodin #
07:30
там готовится внешняя рулилка на tornado+bootstrap
07:31
которая позволяет управлять несколькими инсталляциями и нодами NOC
filonov #
07:31
и когда это можно будет пощупать? ибо актуально
dvolodin #
07:31
через ansible
07:31
filonov: я думаю в полной мере - уже в сентябре
filonov #
07:32
Угу
07:32
Ждем
dvolodin #
07:32
если есть желание помочь - welcome
07:32
мне уже мозгов не хватает
07:33
в целом идеология такая вырисовывается
07:33
есть отдельная тулза
07:33
которая благополучно ляжет в pypi и будет ставитсья через pip
07:34
будет простейший bootstrap, который будет делать virtualenv, ставить в него эту тулзу и ansible
07:34
ставишь ее, запускаешь, попадаешь в web-морду
07:35
в морде говоришь -- хочу тестовую инсталляцию
07:35
проваливаешься в настройки инсталляции
07:35
там заводишь ноды и пулы
07:35
ноды - просто голые системы с ssh
07:35
там же раскидываешь по нодам сервисы
07:36
привязываешь эту инсталляцию к каналу обновления (считай branch)
07:36
ansible ходит и деплоит ноды
07:36
ну и обновляет их централизовано
filonov #
07:37
задумка интересная
dvolodin #
07:37
у инсталляции есть логический центр -- где базы и основная разработка
07:37
и региональные выносы -- где активаторы и коллекторы
07:38
появился новый филиал -- докинул ноду, вышвырнул на нее коллеторы, пробы и активаторы и добавил в центр обработчики
07:39
стал захлебываться центр -- закинул в него нод и перекинул на них обработчики нескольких пулов
07:40
service discovery уже есть и работает поверх consul
filonov #
07:40
ну вот это как раз мой случай
dvolodin #
07:40
там же конфиги сервисом
07:40
сервисы между собой общаются по NSQ
07:40
я там сделал RPC поверх него
07:41
сервисы также можно дергать через JSON-RPC по HTTP
07:42
конфигурация сервисов также делается через рулилку и применяется на ходу
07:43
нода технически - virtualenv + supervisord
07:45
web'ы тоже расщепляются на 3 части
07:45
отдача статики -- фактически маленький CDN
07:45
подкладка под UI
07:46
и API для интеграции с внешними системами
venter #
07:46
dvolodin, не могу поймать откуда дубли зон вылазят
dvolodin #
07:47
в более отдаленной перспективе из баз останется только mongo
07:48
postgresql сейчас силько ipam держит
venter #
07:48
# test.local [31c0f076-149b-4e61-9104-1c2c70c9ea4e]
07:48
zone test.local {
07:48
type master;
07:48
file "/usr/local/etc/namedb/autozones/test.local";
07:48
#set inc_extra_config option to add your config here
07:48
};
07:48
07:48
# test.local [d1cf4822-2036-47a7-9bdd-945893f95184]
07:48
zone test.local {
07:48
type master;
07:48
file "/usr/local/etc/namedb/autozones/test.local";
07:48
#set inc_extra_config option to add your config here
07:48
};
dvolodin #
07:50
разные uuid'ы в кеше выходят?
venter #
07:51
ну, наверное
ircuser-1 #
07:56
https://kb.nocproject.org/display/DOC/Manual+Installation : db.addUser("noc", "noc") -> "E QUERY TypeError: Property 'addUser' of object test is not a function". ???
08:03
есть ли английский язык #nocproject?
filonov #
08:04
ircuser-1: no. but you can ask here
ircuser-1 #
08:06
thanks! ... having issue with initial setup (Slackware, unsupported I know) at the initial user creation for mongo. Following https://kb.nocproject.org/display/DOC/Manual+Installation , db.adduser("non", "noc") appears to be deprecated. Should I attempt something with createuser?
dvolodin #
08:07
ircuser-1: yes, you can use createUser as well
filonov #
08:07
use db.createUSer() instead
venter #
08:07
you can look into bootstrap scripts for other OSes and find needed parts
ircuser-1 #
08:08
thanks, will do.
filonov #
08:14
а можно как-то без привлечения внешних костылей загрузку активаторов мониторить?
ss__ #
08:39
[fq
08:39
хай, отпуск кончился, печалька(
filonov #
08:40
ss__: отпуска для слабаков! Только работа, только хардкор!
fumufu86 #
08:41
Странный ник для такого утверждения
noclamer #
09:29
лол
danholm #
10:00
.
10:00
всем чмоки в этом чяте
abyrvalg #
10:06
Азаза
xetle #
10:36
dvolodin, если есть время глянь NOC-1667.
10:43
Серверу на MSG_GLOBAL_REQUEST надо ответить MSG_REQUEST_SUCCESS?
dvolodin #
10:48
там вроде была табличка, на что отвечать, а на что нет
xetle #
10:51
словарь SSH_MESSAGES?
10:53
в ssh_GLOBAL_REQUEST надо послать серверу MSG_REQUEST_SUCCESS?
dvolodin #
10:54
The recipient will respond to this message with
10:54
SSH_MSG_REQUEST_SUCCESS or SSH_MSG_REQUEST_FAILURE if 'want reply' is
10:54
TRUE.
10:54
у GLOBAL_REQUEST есть булевский параметр want_reply
10:54
отвечать нужно только если он установлен
xetle #
10:58
self.send_packet(MSG_REQUEST_SUCCESS, <что здесь слать>)
dvolodin #
11:10
The recipient will respond to this message with
11:10
SSH_MSG_REQUEST_SUCCESS or SSH_MSG_REQUEST_FAILURE if 'want reply' is
11:10
TRUE.
11:10
byte SSH_MSG_REQUEST_SUCCESS
11:10
.... response specific data
11:10
Usually, the 'response specific data' is non-existent.
11:10
пустое пошли
danholm #
11:34
Господа, а e_zombie давно не появлялся?
11:35
а, вот же он
11:38
NOC-1641 dvolodin а что с этим коммитом?
dvolodin #
11:46
а там есть коммит?
danholm #
11:47
извини, я неправильно выразился
11:49
я задал почтовый адрес в профиле пользователя ситуация такая же
filonov #
11:50
danholm: а логи почтовика что говорят?
danholm #
11:51
2015-08-18 14:20:14,286 [root] Queuing id=7 method=mail to= subject=Cisco_MobilResh config has been changed
11:51
2015-08-18 14:20:14,286 [root] Dequeueing 7
11:51
2015-08-18 14:26:42,067 [root] [mail:0] Invalid email:
venter #
12:00
dvolodin, а дока по стоечным макросам в кб где-то сохранилась?
zi_rus #
12:08
сейчас тебя какашками закидают
12:08
для стоек есть инвентори
dvolodin #
12:14
venter: а зачем, если стойки в inventory сейчас рисуются
12:14
:)
venter #
12:18
ок, как они рисуются, где узнать?
12:21
я вот, тупой гуманитарий, последние 2 года занимался шахтной автоматизацией, щас сложновато к ноку возвращаться, это мягко сказано
dvolodin #
12:23
inventory > inventory
danholm #
12:32
http://ybex.com/d/xs4s9af4u2vg538tiwo3c3wx9r0kvdtkliw20syf.html
12:32
я здаюсь короче
12:32
сдаюсь*
Dmitry11 #
12:35
dvolodin: Вот шлакоблок в твою сторону по поводу хандлеров. Я понимаю, что ты никогда с таким не встречался, но у меня в практике постоянно. http://forum.dlink.ru/viewtopic.php?f=2&t=169598
12:36
Как ты думаешь, что делает NOC при получении таких сообщений ?
12:37
Это нормальная ситуация после грозы.
filonov #
13:13
dvolodin: /home/noc/scripts/os/FreeBSD/upgrade - в конце fi пропущен
dvolodin #
13:19
Dmitry11: нормально настроенный - игнорирует события на клиентских портах
Dmitry11 #
13:19
dvolodin: как до грозы узнать какой порт заглючит ?
dvolodin #
13:20
ты выделяешь порты клиентам строго в грозу?
13:21
у нас, например, под подключение клиентов сразу выделяется диапазон портов
Dmitry11 #
13:21
после грозы может заглючить любой порт. и клиентский, и корпоративный
13:22
и даже магистральный
13:23
каким образом, кроме снятия галочки "is managed" можно запретить НОКу ломиться на такой свич ?
13:29
опять же, по поводу max_clients 1
13:29
сижу я на свиче по ssh
13:29
сохранил конфиг
13:30
и дальше сижу
13:30
через некоторое время NOC начинает дискаверит этот свич. естественно, он не знает о том, что в это время уже есть одна ssh сессия
13:31
результат - загрузка CPU 100% и обрыв двух SSH сессий
13:32
А если жто не дай Бог DGS-3627G, то результат - обрыв BGP сесссии и потеря соседей по PIM
danholm #
13:41
дмитрий, а что это за свитч такой, который грузят две ssh сессии?
filonov #
13:45
danholm: ssh на слабом железе - не подарок. Другое дело кто такой одаренный кто в своей сети ходит на такие свитчи по ssh?
13:48
и отдельное бугага - BGP на железе, которое на пинги не всегда успевает отвечать
13:52
Задачка : сделать group edit для ~5K объектов. Как это можно сделать вменяемо без помощи sql? :)
Dmitry11 #
14:02
danholm: D-Link DES-3626, DES-3652, DGS-3100-24TG
14:03
ой. DES-3526
John-eak #
14:04
коллеги, кто PBR на cisco 65 юзает?
dvolodin #
14:25
filonov: ./noc shell
filonov #
14:31
dvolodin: я уже psql-ом порешал
kokozzi #
14:39
всем здрасте, подскажите пожалуйста
14:39
на стабильной сборке в shell работают actions? а то shell для строчки вида object.actions.<name>(<args>) в качестве параметра <name> предлагает только CallWrapper
14:39
возможно не импортировал что-то нужное?
dvolodin #
14:55
так call wrapper все сделает
kokozzi #
15:01
dvolodin: тогда не очень понимаю, как это должно выглядеть в итоге
15:02
с вызовом Wrapper'a
dvolodin #
15:07
просто вызываешь
15:08
object.actions.my_action()
kokozzi #
15:14
print oo.actions.ping("10.30.1.1")
15:14
приводит к TypeError: __call__() takes exactly 1 argument (2 given)
15:15
как, в принципе, и другие action-ы
filonov #
15:26
почему-то повадилась падать noc-probe. В логах пусто. И при этом отваливается удаленный активатор
danholm #
15:49
<filonov> а почему бы на свои вситчи по ssh не ходить?
15:50
не телнетом же, вдруг враги
filonov #
15:54
danholm: а вдруг bgp не отвалится?
danholm #
16:25
и что
VS #
21:07
Всем привет, подскажите, а может ли NOC ходить на оборудование по ssh с аутентификацией по ключу? по паролю уж больно не секурно...
21:09
по умолчанию он даже не проверяет сертификат сервера (
dvolodin #
21:45
VS: а должен?
21:46
оборудование меняется регулярно
21:47
по ключу, насколько я помню, были проблемы с форматами ключей для разных версий ssh
vs #
22:44
что-то я отвалился.. к вопросу по ssh ключам
22:45
дело в том, что не проверяется подлинность сервера. я эксперимент проводил, ставил ssh сервер, который записывает под каким паролем к нему подключались и NOC запросто отдавал пароль.
22:46
возможно, это не является проблемой для большинства пользователей NOC, но у меня есть оборудование, которые нужно админить через публичный интернет
22:47
мда.. прочитал что написал и ужаснулся )
22:49
Если бы NOC запоминал сертификат сервера и ругался, когда тот вдруг изменился (как это делает большинство ssh клиентов), то и ключик бы был не обязателен
22:50
хотя возможность добавить rsa\dsa ключик в auth profile, например, была бы полезной.
Tweet
Share this page
Share this page: Tweet